<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>dump</title>
	
	<link>http://dardna.com</link>
	<description />
	<lastBuildDate>Sun, 15 Jan 2012 11:31:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dardna/dump" /><feedburner:info uri="dardna/dump" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>dardna/dump</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Personagens Modulares</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/PPB_WX8EMME/personagens-modulares</link>
		<comments>http://dardna.com/ldc/grafico/personagens-modulares#comments</comments>
		<pubDate>Tue, 15 Feb 2011 20:34:09 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Grafismos Especializados]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2912</guid>
		<description><![CDATA[Numa primeira abordagem pareceu-me importante o desafio de pensar uma alternativa para o sistema de Identicons como forma de reconhecimento visual cujos resultados permitam identificação (no seu sentido total). Assim, mais do que pensar numa solução que resolvesse 300000 situações, prefiro não encontrar um limite tangível (apontar para o infinito?). Os insectos surgiram rapidamente como [...]]]></description>
			<content:encoded><![CDATA[<div id="gallery-2912" class="post-gallery"><div class="post-gallery-image active" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-10.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-10.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-9.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-9.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-8.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-8.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-7.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-7.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-6.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-6.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-5.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-5.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-4.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-4.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-3.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-3.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-2.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-2.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output_500-1.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_500-1.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-10.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-10.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-9.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-9.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-8.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-8.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-7.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-7.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-6.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-6.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-5.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-5.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-4.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-4.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-3.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-3.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-2.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-2.png" title="Personagens Modulares">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2011/02/output-1.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output-1.png" title="Personagens Modulares">(ampliar)</a></p></div></div></div>
<p>Numa primeira abordagem pareceu-me importante o desafio de pensar uma  alternativa para o sistema de Identicons como forma de reconhecimento  visual cujos resultados permitam identificação (no seu sentido total).  Assim, mais do que pensar numa solução que resolvesse 300000 situações,  prefiro não encontrar um limite tangível (apontar para o infinito?).</p>
<p>Os insectos surgiram rapidamente como o personagem que naturalmente  oferece mais variações: são conhecidas milhares de espécies e outras  tantas estão por descobrir. Por outro lado, no contexto  digital/informático, estão sempre em relação com a ideia de “bug”  (falha). Lembrei-me pouco depois que não era completamente inocente esta  solução pois já tinha uma imagem em mente que acabei por <a href="http://www.cityinabottle.org/gallery/36/" target="_blank">identificar</a>.</p>
<p>Avancei então com um gerador de insectos (ou antes, insectos e  aranhas, que não são bem a mesma coisa). Tencionava também incluir  estruturas semelhantes a minhocas, larvas e centopeias mas não tive  tempo (ainda) e teria de contornar uma ou outra dificuldade no código  (points e contours de path no shoebot).</p>
<p><strong>Código nodebox/shoebot:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #483d8b;">&quot;&quot;&quot;
Aranha (2 partes) ou Insecto (3 partes) de tamanho variável
6 ou 8 patas variáveis (8 se for aranha)
2 olhos variáveis ou mais se for aranha
1 a 3 pares variáveis de mandibulas
0 a 2 pares variáveis de antenas se for insecto
0 a 2 pares variáveis de asas se for insecto
&quot;&quot;&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve valor relativo a proporção (importado do Processing)</span>
<span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #008000;">map</span><span style="color: black;">&#40;</span>value,istart,istop,ostart,ostop<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> ostart+<span style="color: black;">&#40;</span>ostop-ostart<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>value-istart<span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span>istop-istart<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># devolve a distancia entre dois pontos</span>
<span style="color: #ff7700;font-weight:bold;">def</span> distance<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> sqrt,<span style="color: #008000;">pow</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> sqrt<span style="color: black;">&#40;</span><span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>x1-x0,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+<span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>y1-y0,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># devolve coordenadas de um ponto a uma distancia e angulo de outro</span>
<span style="color: #ff7700;font-weight:bold;">def</span> rel_coordinates<span style="color: black;">&#40;</span>x0,y0,distance,angle<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> radians,sin,cos
    x1=x0+cos<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>distance
    y1=y0+sin<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>distance
    <span style="color: #ff7700;font-weight:bold;">return</span> x1,y1
<span style="color: #808080; font-style: italic;"># devolve o angulo entre dois pontos</span>
<span style="color: #ff7700;font-weight:bold;">def</span> angle<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> degrees,atan2
    a=degrees<span style="color: black;">&#40;</span> atan2<span style="color: black;">&#40;</span>y1-y0,x1-x0<span style="color: black;">&#41;</span> <span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> a
<span style="color: #808080; font-style: italic;"># oval a partir do centro</span>
<span style="color: #ff7700;font-weight:bold;">def</span> oval_from_center<span style="color: black;">&#40;</span>x,y,w,h,drawing=<span style="color: #008000;">True</span><span style="color: black;">&#41;</span>:
    x=x-w/<span style="color: #ff4500;">2</span>
    y=y-h/<span style="color: #ff4500;">2</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> drawing==<span style="color: #008000;">True</span>:
        oval<span style="color: black;">&#40;</span>x,y,w,h<span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> oval<span style="color: black;">&#40;</span>x,y,w,h,draw=<span style="color: #008000;">False</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># devolve lista de partes, proporção (tamanho) de cada parte</span>
<span style="color: #ff7700;font-weight:bold;">def</span> parts<span style="color: black;">&#40;</span>parts_number,start_x,start_y,length,angle<span style="color: black;">&#41;</span>:
    parts=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># (size_x,size_y,rad_size,brightness)</span>
    head_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.15,.45<span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span>parts_number-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    head_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.9,<span style="color: #ff4500;">1.1</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>head_size
    head_rad=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2.1</span>,<span style="color: #ff4500;">3</span>.<span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># falsos radius (menores)</span>
    parts.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>head_size,head_width,head_rad,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-.25,.25<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    tor_size=<span style="color: #ff4500;">0</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> parts_number==<span style="color: #ff4500;">3</span>:
        tor_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.1,.45<span style="color: black;">&#41;</span>
        tor_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.85,<span style="color: #ff4500;">1.5</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>head_size
        tor_rad=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2.1</span>,<span style="color: #ff4500;">3</span>.<span style="color: black;">&#41;</span>
        parts.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>tor_size,tor_width,tor_rad,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-.25,.25<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    abd_size=<span style="color: #ff4500;">1</span>-head_size-tor_size
    abd_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1.25</span><span style="color: #66cc66;">*</span>head_size,abd_size<span style="color: #66cc66;">*</span>.75<span style="color: black;">&#41;</span>
    abd_rad=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2.1</span>,<span style="color: #ff4500;">3</span>.<span style="color: black;">&#41;</span>
    parts.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>abd_size,abd_width,abd_rad,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-.25,.25<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    parts.<span style="color: black;">reverse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># tails first</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> parts
&nbsp;
size<span style="color: black;">&#40;</span><span style="color: #ff4500;">400</span>,<span style="color: #ff4500;">400</span><span style="color: black;">&#41;</span>
colormode<span style="color: black;">&#40;</span>HSB<span style="color: black;">&#41;</span>
background<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Cores ternárias</span>
main_color=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>.,<span style="color: #ff4500;">1</span>.<span style="color: black;">&#41;</span>
alt_color=main_color+.33 <span style="color: #ff7700;font-weight:bold;">if</span> main_color+.33<span style="color: #66cc66;">&lt;</span><span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">else</span> main_color-.66
alt_color_2=main_color-.33 <span style="color: #ff7700;font-weight:bold;">if</span> main_color-.33<span style="color: #66cc66;">&gt;</span><span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">else</span> main_color+.66
&nbsp;
<span style="color: #808080; font-style: italic;"># Inicio e fim do insecto, opções</span>
body_start=<span style="color: black;">&#40;</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,WIDTH<span style="color: black;">&#41;</span>,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,HEIGHT<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
body_end=<span style="color: #008000;">None</span>
<span style="color: #ff7700;font-weight:bold;">while</span> body_end==<span style="color: #008000;">None</span> <span style="color: #ff7700;font-weight:bold;">or</span> distance<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">&lt;</span><span style="color: black;">&#40;</span>WIDTH/<span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>:
    body_end=<span style="color: black;">&#40;</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>WIDTH/<span style="color: #ff4500;">4</span>,WIDTH<span style="color: #66cc66;">*</span><span style="color: #ff4500;">3</span>/<span style="color: #ff4500;">4</span><span style="color: black;">&#41;</span>,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>HEIGHT/<span style="color: #ff4500;">4</span>,HEIGHT<span style="color: #66cc66;">*</span><span style="color: #ff4500;">3</span>/<span style="color: #ff4500;">4</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
parts_number=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span>,<span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># Dados principais</span>
body_angle=angle<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
body_length=distance<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_end<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
parts=parts<span style="color: black;">&#40;</span>parts_number,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,body_length,body_angle<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#PERNAS</span>
stroke<span style="color: black;">&#40;</span>main_color,<span style="color: #ff4500;">0.5</span>,<span style="color: #ff4500;">0.1</span><span style="color: black;">&#41;</span>
translate<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
leg_center_part=<span style="color: #ff4500;">1</span>
leg_pairs_number=<span style="color: #ff4500;">4</span> <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>parts<span style="color: black;">&#41;</span>==<span style="color: #ff4500;">2</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span>,<span style="color: #ff4500;">4</span><span style="color: black;">&#41;</span>
leg_center=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>/parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>+<span style="color: black;">&#40;</span>parts<span style="color: black;">&#91;</span>leg_center_part<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>/parts<span style="color: black;">&#91;</span>leg_center_part<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,body_angle<span style="color: black;">&#41;</span>
start_angle=body_angle+<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-<span style="color: #ff4500;">100</span>.,-<span style="color: #ff4500;">80</span>.<span style="color: black;">&#41;</span>
leg_angle=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">30</span>.,<span style="color: #ff4500;">50</span>.<span style="color: black;">&#41;</span>
leg_angle_wide=leg_angle+<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">30</span>.,<span style="color: #ff4500;">90</span>.<span style="color: black;">&#41;</span>
leg_angle_increment=leg_angle/<span style="color: black;">&#40;</span>leg_pairs_number-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
leg_angle_increment_wide=<span style="color: black;">&#40;</span>leg_angle_wide/<span style="color: black;">&#40;</span>leg_pairs_number-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
leg_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.8,<span style="color: #ff4500;">1.25</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span>leg_center_part-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length
leg_ratio=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2.5</span>,<span style="color: #ff4500;">3.5</span><span style="color: black;">&#41;</span>
leg_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #ff4500;">3</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>leg_pairs_number<span style="color: black;">&#41;</span>:
        angle=<span style="color: black;">&#40;</span>start_angle-leg_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+j<span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span>leg_angle_increment<span style="color: #66cc66;">*</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.9,<span style="color: #ff4500;">1.1</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        angle_wide=<span style="color: black;">&#40;</span>start_angle-leg_angle_wide/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+j<span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span>leg_angle_increment_wide<span style="color: #66cc66;">*</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.9,<span style="color: #ff4500;">1.1</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        angle_middle=angle+<span style="color: black;">&#40;</span>angle_wide-angle<span style="color: black;">&#41;</span>/<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1.9</span>,<span style="color: #ff4500;">2.1</span><span style="color: black;">&#41;</span>
        leg_end_0=rel_coordinates<span style="color: black;">&#40;</span>leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_size/<span style="color: #ff4500;">3</span>,angle<span style="color: black;">&#41;</span>
        leg_end_1=rel_coordinates<span style="color: black;">&#40;</span>leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_size<span style="color: #66cc66;">*</span><span style="color: #ff4500;">2</span>/<span style="color: #ff4500;">3</span>,angle_middle<span style="color: black;">&#41;</span>
        leg_end_2=rel_coordinates<span style="color: black;">&#40;</span>leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_size,angle_wide<span style="color: black;">&#41;</span>
        strokewidth<span style="color: black;">&#40;</span>leg_width<span style="color: black;">&#41;</span>
        line<span style="color: black;">&#40;</span>leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_end_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_end_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        strokewidth<span style="color: black;">&#40;</span>leg_width<span style="color: #66cc66;">*</span><span style="color: #ff4500;">2</span>/<span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>
        line<span style="color: black;">&#40;</span>leg_end_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_end_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_end_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_end_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        strokewidth<span style="color: black;">&#40;</span>leg_width/<span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>
        line<span style="color: black;">&#40;</span>leg_end_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_end_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,leg_end_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,leg_end_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    start_angle+=<span style="color: #ff4500;">180</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#CORPO</span>
nostroke<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
reset<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
transform<span style="color: black;">&#40;</span>mode=CENTER<span style="color: black;">&#41;</span>
translate<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> part <span style="color: #ff7700;font-weight:bold;">in</span> parts:
    part_rad=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,<span style="color: black;">&#40;</span>part<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>/part<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>,body_angle<span style="color: black;">&#41;</span>
    translate<span style="color: black;">&#40;</span>part_rad<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,part_rad<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    push<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    rotate<span style="color: black;">&#40;</span>-body_angle<span style="color: black;">&#41;</span>
    fill<span style="color: black;">&#40;</span>main_color,.3,.5+part<span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    oval_from_center<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,part<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length,part<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>
    pop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    translate<span style="color: black;">&#40;</span>part_rad<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,part_rad<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
parts.<span style="color: black;">reverse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#HEAD</span>
head_center=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,<span style="color: black;">&#40;</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>/parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span>,<span style="color: #ff4500;">180</span>+body_angle<span style="color: black;">&#41;</span>
translate<span style="color: black;">&#40;</span>head_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,head_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#MANDIBULAS</span>
stroke<span style="color: black;">&#40;</span>main_color,.1,.1<span style="color: black;">&#41;</span>
jaw_pairs=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">3</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>jaw_pairs<span style="color: black;">&#41;</span>:
    m=<span style="color: #ff4500;">1</span>
    jaws_angle=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">5</span>.,<span style="color: #ff4500;">40</span>.<span style="color: black;">&#41;</span>
    jaws_angle_inner=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.2,.7<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>jaws_angle
    jaws_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.55,.7<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length
    jaws_closure=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.75,<span style="color: #ff4500;">1.25</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
        jaw_0=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length/<span style="color: #ff4500;">2</span>,body_angle+m<span style="color: #66cc66;">*</span>jaws_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
        jaw_1=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,jaws_size<span style="color: #66cc66;">*</span>jaws_closure,body_angle+m<span style="color: #66cc66;">*</span>jaws_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
        jaw_2=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,jaws_size,body_angle+m<span style="color: #66cc66;">*</span>jaws_angle_inner/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
        strokewidth<span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
        line<span style="color: black;">&#40;</span>jaw_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,jaw_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,jaw_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,jaw_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        strokewidth<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
        line<span style="color: black;">&#40;</span>jaw_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,jaw_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,jaw_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,jaw_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
        m<span style="color: #66cc66;">*</span>=-<span style="color: #ff4500;">1</span> 
&nbsp;
<span style="color: #808080; font-style: italic;">#OLHOS</span>
nostroke<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
fill<span style="color: black;">&#40;</span>alt_color,.5,.5<span style="color: black;">&#41;</span>
eye_pairs=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span>,<span style="color: #ff4500;">8</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>parts<span style="color: black;">&#41;</span>==<span style="color: #ff4500;">2</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">1</span>
eye_size=<span style="color: black;">&#40;</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.1,.45<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length<span style="color: black;">&#41;</span>/eye_pairs
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>eye_pairs<span style="color: black;">&#41;</span>:
    eye_angle=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">20</span>.,<span style="color: #ff4500;">160</span>.<span style="color: black;">&#41;</span>
    eye_d=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.25,.5<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length
    eye_l=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,eye_d,body_angle+eye_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
    eye_r=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,eye_d,body_angle-eye_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
    oval_from_center<span style="color: black;">&#40;</span>eye_l<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,eye_l<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,eye_size,eye_size<span style="color: black;">&#41;</span>
    oval_from_center<span style="color: black;">&#40;</span>eye_r<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,eye_r<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,eye_size,eye_size<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#ANTENAS</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>parts<span style="color: black;">&#41;</span>==<span style="color: #ff4500;">3</span>:
    stroke<span style="color: black;">&#40;</span>main_color,.1,.1<span style="color: black;">&#41;</span>
    nofill<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    antenna=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> antenna==<span style="color: #ff4500;">1</span>:
        antenna_pairs=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>antenna_pairs<span style="color: black;">&#41;</span>:
            antenna_d=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.1,.2<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length
            antenna_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.15,.4<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>body_length
            antenna_angle=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">60</span>.,<span style="color: #ff4500;">100</span>.<span style="color: black;">&#41;</span>
            antenna_angle_2=antenna_angle+<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-<span style="color: #ff4500;">20</span>.,<span style="color: #ff4500;">20</span>.<span style="color: black;">&#41;</span>
            antenna_ratio=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.3,.8<span style="color: black;">&#41;</span>
            m=<span style="color: #ff4500;">1</span>
            <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
                antenna_0=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,antenna_d,body_angle+m<span style="color: #66cc66;">*</span><span style="color: #ff4500;">120</span><span style="color: black;">&#41;</span>
                antenna_1=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,antenna_size<span style="color: #66cc66;">*</span>antenna_ratio,body_angle+m<span style="color: #66cc66;">*</span>antenna_angle_2/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
                antenna_2=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,antenna_size,body_angle+m<span style="color: #66cc66;">*</span>antenna_angle/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
                autoclosepath<span style="color: black;">&#40;</span><span style="color: #008000;">False</span><span style="color: black;">&#41;</span>
                path = findpath<span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>antenna_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,antenna_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,<span style="color: black;">&#40;</span>antenna_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,antenna_1<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,<span style="color: black;">&#40;</span>antenna_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,antenna_2<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
                drawpath<span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
                m<span style="color: #66cc66;">*</span>=-<span style="color: #ff4500;">1</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#ASAS</span>
nostroke<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
fill<span style="color: black;">&#40;</span>alt_color_2,.2,<span style="color: #ff4500;">1</span>,.5<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>parts<span style="color: black;">&#41;</span>==<span style="color: #ff4500;">3</span> <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>==<span style="color: #ff4500;">1</span>:
    reset<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    translate<span style="color: black;">&#40;</span>body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>+leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,body_start<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>+leg_center<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
    wing_pairs=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>wing_pairs<span style="color: black;">&#41;</span>:
        wing_d=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.1,.2<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>parts<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: #66cc66;">*</span>body_length
        wing_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.75,<span style="color: #ff4500;">1.1</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>body_length
        wing_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>.3,.6<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>wing_size
        wing_angle=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-<span style="color: #ff4500;">20</span>,<span style="color: #ff4500;">70</span><span style="color: black;">&#41;</span>
        m=<span style="color: #ff4500;">1</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> j <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
            wing_0=rel_coordinates<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,wing_size/<span style="color: #ff4500;">2</span>+wing_d,body_angle+m<span style="color: #66cc66;">*</span><span style="color: #ff4500;">90</span>+m<span style="color: #66cc66;">*</span>wing_angle<span style="color: black;">&#41;</span>
            push<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            translate<span style="color: black;">&#40;</span>wing_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,wing_0<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
            rotate<span style="color: black;">&#40;</span>-body_angle+<span style="color: #ff4500;">90</span>-m<span style="color: #66cc66;">*</span>wing_angle<span style="color: black;">&#41;</span>
            oval_from_center<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,wing_size,wing_width<span style="color: black;">&#41;</span>
            pop<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            m<span style="color: #66cc66;">*</span>=-<span style="color: #ff4500;">1</span></pre></div></div>

<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2011. |
<a href="http://dardna.com/ldc/grafico/personagens-modulares">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/personagens-modulares#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/personagens-modulares&title=Personagens Modulares">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=PPB_WX8EMME:SomZTwPpdRY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=PPB_WX8EMME:SomZTwPpdRY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=PPB_WX8EMME:SomZTwPpdRY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=PPB_WX8EMME:SomZTwPpdRY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=PPB_WX8EMME:SomZTwPpdRY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=PPB_WX8EMME:SomZTwPpdRY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=PPB_WX8EMME:SomZTwPpdRY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/PPB_WX8EMME" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/personagens-modulares/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/ldc/grafico/personagens-modulares</feedburner:origLink></item>
		<item>
		<title>Espiral de Imaginação</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/vcXU9XRjJb0/espiral-de-imaginacao</link>
		<comments>http://dardna.com/web/espiral-de-imaginacao#comments</comments>
		<pubDate>Tue, 15 Feb 2011 20:13:33 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2904</guid>
		<description><![CDATA[site &#124; gestão de sócios e actividades]]></description>
			<content:encoded><![CDATA[site &#124; gestão de sócios e actividades<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=vcXU9XRjJb0:wadN1xPcUOc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=vcXU9XRjJb0:wadN1xPcUOc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=vcXU9XRjJb0:wadN1xPcUOc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=vcXU9XRjJb0:wadN1xPcUOc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=vcXU9XRjJb0:wadN1xPcUOc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=vcXU9XRjJb0:wadN1xPcUOc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=vcXU9XRjJb0:wadN1xPcUOc:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/vcXU9XRjJb0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/espiral-de-imaginacao/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/espiral-de-imaginacao</feedburner:origLink></item>
		<item>
		<title>diadacrianca.info</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/eaQpwE9NTKo/diadacrianca-info</link>
		<comments>http://dardna.com/web/diadacrianca-info#comments</comments>
		<pubDate>Tue, 15 Feb 2011 19:57:38 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2901</guid>
		<description><![CDATA[site &#124; material impresso]]></description>
			<content:encoded><![CDATA[site &#124; material impresso<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=eaQpwE9NTKo:dLrkwJbxpe4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=eaQpwE9NTKo:dLrkwJbxpe4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=eaQpwE9NTKo:dLrkwJbxpe4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=eaQpwE9NTKo:dLrkwJbxpe4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=eaQpwE9NTKo:dLrkwJbxpe4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=eaQpwE9NTKo:dLrkwJbxpe4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=eaQpwE9NTKo:dLrkwJbxpe4:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/eaQpwE9NTKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/diadacrianca-info/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/diadacrianca-info</feedburner:origLink></item>
		<item>
		<title>Espiral de Imaginação – Cartaz Estocástico</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/fW1h3AfmVxg/espiral-de-imaginacao-cartaz-estocastico</link>
		<comments>http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico#comments</comments>
		<pubDate>Wed, 24 Nov 2010 19:43:16 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Grafismos Especializados]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2855</guid>
		<description><![CDATA[Foram vários os motivos que me levaram a trabalhar para a Espiral de Imaginação neste projecto.Antes de mais a minha relativa intimidade com esta associação que está nos seus primeiros dias.Depois a efectiva necessidade para em breve de um cartaz para a sessão inaugural.Em terceiro lugar, e já em relação directa com a disciplina, pela [...]]]></description>
			<content:encoded><![CDATA[<div id="gallery-2855" class="post-gallery"><div class="post-gallery-image active" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_01.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_01.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/Espiral_digitalização-1-Medium.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/Espiral_digitalização-1-Medium.jpg" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/Espiral_digitalização-2-Medium.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/Espiral_digitalização-2-Medium.jpg" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/Espiral_digitalização-3-Medium.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/Espiral_digitalização-3-Medium.jpg" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/esp_02.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/esp_02.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/esp_03.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/esp_03.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/esp_04.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/esp_04.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/esp_05.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/esp_05.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/esp_06.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/esp_06.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_02.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_02.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_03.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_03.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_04.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_04.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_05.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_05.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_06.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_06.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_07.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_07.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_08.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_08.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_09.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_09.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_10.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_10.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_11.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_11.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_12.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_12.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_13.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_13.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_14.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_14.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_15.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_15.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_16.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_16.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_17.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_17.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_18.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_18.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_19.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_19.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_20.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_20.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_21.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_21.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_22.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_22.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_23.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_23.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_24.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_24.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_25.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_25.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_26.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_26.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_27.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_27.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_28.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_28.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div><div class="post-gallery-image" style="background:url(http://dardna.com/wproot/wp-content/thumbs/phpThumb.php?wl=605&hp=400&src=../uploads/2010/11/cartazes_espiral_29.png) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2010/11/cartazes_espiral_29.png" title="Espiral de Imaginação &#8211; Cartaz Estocástico">(ampliar)</a></p></div></div></div>
<p>Foram vários os motivos que me levaram a trabalhar para a Espiral de  Imaginação neste projecto.Antes de mais a minha relativa intimidade com  esta associação que está nos seus primeiros dias.Depois a efectiva  necessidade para em breve de um cartaz para a sessão inaugural.Em  terceiro lugar, e já em relação directa com a disciplina, pela  proximidade do símbolo mais forte desta associação com a ideia de  “desenho programado”.</p>
<p>De facto a Espiral de Imaginação tem como principal finalidade a  organização daquilo a que se chama Teatro-labirinto ou Teatro Sensorial,  uma experiência imersiva onde se procuram por à prova os sentidos e os  preconceitos mais basilares. Como o nome também indica, o labirinto é o  fio condutor dessa experiência e imaginário. Sendo um símbolo milenar de  que se continuam a encontrar vestígios antiquíssimos oriundos das mais  diversas culturas, emana neste contexto a ideia de um percurso (que  apesar de tortuoso é único) ao longo do qual se desfazem as camadas da  personalidade e véus perceptivos.</p>
<p>A ideia de “desenho programado” conjuga-se com o facto de o labirinto  a que se refere a esta associação ter um “método de desenho” que aceita  algumas variações mas que exige a repetição de um procedimento (a este  respeito consta que foram encontradas gravuras “falhadas”, indiciando  que seria um método transmitido). Assim seria um desafio pessoal  reciclar esta ideia para um meio digital, desenhando um cartaz para a  inauguração da associação e programando um gerador de labirintos.</p>
<p><strong>Código nodebox/shoebot:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;"># REQUISITOS:</span>
<span style="color: #808080; font-style: italic;"># logo-espiral.png</span>
<span style="color: #808080; font-style: italic;"># Museo 300; Museo 700 e Museo Slab 500</span>
<span style="color: #808080; font-style: italic;"># devolve valor relativo a proporção (importado do Processing)</span>
<span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #008000;">map</span><span style="color: black;">&#40;</span>value,istart,istop,ostart,ostop<span style="color: black;">&#41;</span>:
<span style="color: #ff7700;font-weight:bold;">return</span> ostart+<span style="color: black;">&#40;</span>ostop-ostart<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>value-istart<span style="color: black;">&#41;</span>/<span style="color: black;">&#40;</span>istop-istart<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve a distancia entre dois pontos</span>
<span style="color: #ff7700;font-weight:bold;">def</span> distance<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>:
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> sqrt,<span style="color: #008000;">pow</span>
<span style="color: #ff7700;font-weight:bold;">return</span> sqrt<span style="color: black;">&#40;</span><span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>x1-x0,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>+<span style="color: #008000;">pow</span><span style="color: black;">&#40;</span>y1-y0,<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve coordenadas de um ponto a uma distancia e ângulo de outro</span>
<span style="color: #ff7700;font-weight:bold;">def</span> rel_coordinates<span style="color: black;">&#40;</span>x0,y0,distance,angle<span style="color: black;">&#41;</span>:
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> radians,sin,cos
x1=x0+cos<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>distance
y1=y0+sin<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>distance
<span style="color: #ff7700;font-weight:bold;">return</span> x1,y1
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve o ângulo entre dois pontos</span>
<span style="color: #ff7700;font-weight:bold;">def</span> angle<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>:
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> degrees,atan2
a=degrees<span style="color: black;">&#40;</span> atan2<span style="color: black;">&#40;</span>y1-y0,x1-x0<span style="color: black;">&#41;</span> <span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">return</span> a
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve o ângulo “absoluto” entre dois pontos</span>
<span style="color: #ff7700;font-weight:bold;">def</span> abs_angle<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>:
a=angle<span style="color: black;">&#40;</span>x0,y0,x1,y1<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">return</span> a <span style="color: #ff7700;font-weight:bold;">if</span> a <span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span>= <span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">360</span>+a
&nbsp;
<span style="color: #808080; font-style: italic;"># devolve conjunto de pontos intermédios para os “arcos”</span>
<span style="color: #ff7700;font-weight:bold;">def</span> get_control_points<span style="color: black;">&#40;</span>center_point,angle0,angle_between,start_dist=<span style="color: #ff4500;">0</span>,increment=<span style="color: #ff4500;">0</span>,multiplier=<span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>:
<span style="color: #808080; font-style: italic;"># angle0 =&amp;gt; angulo inicio do “arco”</span>
<span style="color: #808080; font-style: italic;"># angle_between =&amp;gt; duração do arco</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> ceil
points=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
x0,y0=center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
<span style="color: #808080; font-style: italic;"># numero de pontos de controle; um por grau; não seria obrigatório calcular tantos mas foi o melhor compromisso encontrado</span>
n_ps=ceil<span style="color: black;">&#40;</span>angle_between/<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
angle=angle_between/n_ps
<span style="color: #808080; font-style: italic;"># r proporção da curva que será suavizada (pontas): 2/15 avos do “arco” serão “suavizados”</span>
r=n_ps/<span style="color: #ff4500;">15</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,n_ps<span style="color: black;">&#41;</span>:
<span style="color: #808080; font-style: italic;"># suavizar inicio do arco</span>
<span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>= r:
distance=start_dist+i<span style="color: #66cc66;">*</span>multiplier<span style="color: #66cc66;">*</span>increment/r
<span style="color: #808080; font-style: italic;"># suavizar fim do arco</span>
<span style="color: #ff7700;font-weight:bold;">elif</span> i <span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span>= n_ps-r:
distance=start_dist+<span style="color: black;">&#40;</span>n_ps-i<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>multiplier<span style="color: #66cc66;">*</span>increment/r
<span style="color: #808080; font-style: italic;"># manter a mesma distancia ao longo do arco</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
distance=start_dist+multiplier<span style="color: #66cc66;">*</span>increment
px,py=rel_coordinates<span style="color: black;">&#40;</span>x0,y0,distance,angle0+i<span style="color: #66cc66;">*</span>angle<span style="color: black;">&#41;</span>
points.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>px,py<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">return</span> points
&nbsp;
size<span style="color: black;">&#40;</span><span style="color: #ff4500;">420</span><span style="color: #66cc66;">*</span><span style="color: #ff4500;">1.1</span>,<span style="color: #ff4500;">594</span><span style="color: #66cc66;">*</span><span style="color: #ff4500;">1.1</span><span style="color: black;">&#41;</span>
sc=<span style="color: #ff4500;">1.1</span>
background<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
colormode<span style="color: black;">&#40;</span>HSB<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># Cores (triade)</span>
h=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">1</span>.<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># h2 não está a ser utilizada</span>
h2=h+.333 <span style="color: #ff7700;font-weight:bold;">if</span> h+.333 <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>= <span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">else</span> h-.666
h3=h-.333 <span style="color: #ff7700;font-weight:bold;">if</span> h-.333 <span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>= <span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">else</span> h+.666
<span style="color: #808080; font-style: italic;"># regular saturação da cor de fundo</span>
fill<span style="color: black;">&#40;</span>h,.7,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
nostroke<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># forçar fundo</span>
rect<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,WIDTH,HEIGHT<span style="color: black;">&#41;</span>
stroke<span style="color: black;">&#40;</span>h3,.5,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
nofill<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># rotação do labirinto</span>
rotation=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">360</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># centro do labirinto</span>
center_point=<span style="color: black;">&#40;</span><span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>WIDTH/<span style="color: #ff4500;">10</span>,<span style="color: #ff4500;">9</span><span style="color: #66cc66;">*</span>WIDTH/<span style="color: #ff4500;">10</span><span style="color: black;">&#41;</span>,<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>HEIGHT/<span style="color: #ff4500;">10</span>,<span style="color: #ff4500;">9</span><span style="color: #66cc66;">*</span>HEIGHT/<span style="color: #ff4500;">10</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># largura do traço do labirinto</span>
stroke_width=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span>.,<span style="color: #ff4500;">15</span>.<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>sc
<span style="color: #808080; font-style: italic;"># numero de ramos</span>
branches_number=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">2</span>,<span style="color: #ff4500;">5</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># tamanho dos ramos</span>
branches_size=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">30</span>.,<span style="color: #ff4500;">50</span>.<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>sc
<span style="color: #808080; font-style: italic;"># referencia de espaço entre “camadas”</span>
spacing=branches_size/<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">3</span>,<span style="color: #ff4500;">5</span><span style="color: black;">&#41;</span>+stroke_width
strokewidth<span style="color: black;">&#40;</span>stroke_width<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># desenhar ramos</span>
branches_angle=<span style="color: #ff4500;">360</span>/branches_number
<span style="color: #808080; font-style: italic;"># conjunto com extremidade de cada ramo</span>
branch_ends=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>branches_number<span style="color: black;">&#41;</span>:
x1,y1=rel_coordinates<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,branches_size,<span style="color: black;">&#40;</span>i+<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>branches_angle+rotation<span style="color: black;">&#41;</span>
line<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,x1,y1<span style="color: black;">&#41;</span>
branch_ends.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>x1,y1<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># calcular arcos e pontos</span>
arcs=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
dots=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># offset dos arcos iniciais em relação ao tamanho dos ramos</span>
arcs_offset=spacing/<span style="color: #ff4500;">4</span>+stroke_width
<span style="color: #808080; font-style: italic;"># percentagem do angulo entre ramos ocupado por cada arco</span>
arcs_ratio=.5
<span style="color: #808080; font-style: italic;"># offset dos pontos iniciais em relação ao tamanho dos ramos</span>
dots_offset=spacing+stroke_width
&nbsp;
<span style="color: #808080; font-style: italic;"># calcular arcos e pontos</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>branch_ends<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
j=i+<span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">if</span> i+<span style="color: #ff4500;">1</span><span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>len<span style="color: black;">&#40;</span>branch_ends<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">0</span>
arc_angle=branches_angle<span style="color: #66cc66;">*</span>arcs_ratio
<span style="color: #808080; font-style: italic;">#ponto inicial de arco</span>
x1,y1=rel_coordinates<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,branches_size+arcs_offset,<span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>branches_angle+<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>branches_angle-arc_angle<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span>.<span style="color: black;">&#41;</span>+rotation<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># ponto intermédio da curva do arco</span>
x2,y2=rel_coordinates<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,branches_size,<span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>branches_angle+branches_angle/<span style="color: #ff4500;">2</span>.+rotation<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># ponto final do arco</span>
x3,y3=rel_coordinates<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,branches_size+arcs_offset,<span style="color: black;">&#40;</span>i+<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>branches_angle-<span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>branches_angle-arc_angle<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span>.<span style="color: black;">&#41;</span>+rotation<span style="color: black;">&#41;</span>
arcs.<span style="color: black;">insert</span><span style="color: black;">&#40;</span>i,<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>x1,y1<span style="color: black;">&#41;</span>,<span style="color: black;">&#40;</span>x2,y2<span style="color: black;">&#41;</span>,<span style="color: black;">&#40;</span>x3,y3<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># ponto</span>
d1x,d1y=rel_coordinates<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,branches_size+dots_offset,<span style="color: black;">&#40;</span>i<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>branches_angle+branches_angle/<span style="color: #ff4500;">2</span>.+rotation<span style="color: black;">&#41;</span>
dots.<span style="color: black;">insert</span><span style="color: black;">&#40;</span>i,<span style="color: black;">&#40;</span>d1x,d1y<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># desenhar arcos</span>
<span style="color: #ff7700;font-weight:bold;">for</span> arc <span style="color: #ff7700;font-weight:bold;">in</span> arcs:
path=findpath<span style="color: black;">&#40;</span>arc<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># suavizar pontos de união com arcos</span>
oval<span style="color: black;">&#40;</span>arc<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,arc<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.<span style="color: black;">&#41;</span>
oval<span style="color: black;">&#40;</span>arc<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,arc<span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.<span style="color: black;">&#41;</span>
drawpath<span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># desenhar pontos</span>
<span style="color: #ff7700;font-weight:bold;">for</span> dot <span style="color: #ff7700;font-weight:bold;">in</span> dots:
oval<span style="color: black;">&#40;</span>dot<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,dot<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>-stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.,stroke_width/<span style="color: #ff4500;">10</span>.<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># criar lista ordenada de pontos a unir para desenhar espiral</span>
ends=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span>branches_number<span style="color: black;">&#41;</span>:
<span style="color: #808080; font-style: italic;"># dot</span>
ends.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>dots<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,dots<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># same arc end (end)</span>
ends.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>arcs<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,arcs<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># next branch end</span>
ends.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>branch_ends<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,branch_ends<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># next arc end (start)</span>
j=i+<span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">if</span> i+<span style="color: #ff4500;">1</span><span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>len<span style="color: black;">&#40;</span>branch_ends<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">0</span>
ends.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>arcs<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,arcs<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># unir pontos</span>
reverse_i=<span style="color: #ff4500;">0</span>
start_i=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #008000;">len</span><span style="color: black;">&#40;</span>ends<span style="color: black;">&#41;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>ends<span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span>:
j=i+<span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">if</span> i+<span style="color: #ff4500;">1</span><span style="color: #66cc66;">&amp;</span>lt<span style="color: #66cc66;">;</span>len<span style="color: black;">&#40;</span>ends<span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">0</span>
<span style="color: #808080; font-style: italic;"># angulo inicio</span>
i_angle=abs_angle<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># angulo fim</span>
j_angle=abs_angle<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># diferença angulos, angulo a cobrir pelo arco</span>
d_angle=j_angle-i_angle <span style="color: #ff7700;font-weight:bold;">if</span> j_angle-i_angle<span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span><span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">else</span> <span style="color: #ff4500;">360</span>+<span style="color: black;">&#40;</span>j_angle-i_angle<span style="color: black;">&#41;</span>
curve_points=<span style="color: #008000;">list</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
curve_points.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># buscar pontos de controle</span>
control_points=get_control_points<span style="color: black;">&#40;</span>center_point,i_angle,d_angle,distance<span style="color: black;">&#40;</span>center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,center_point<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>reverse_i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,<span style="color: #ff4500;">4</span><span style="color: #66cc66;">*</span>spacing,i<span style="color: black;">&#41;</span>
curve_points.<span style="color: black;">extend</span><span style="color: black;">&#40;</span>control_points<span style="color: black;">&#41;</span>
curve_points.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>ends<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,ends<span style="color: black;">&#91;</span>j<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
path=findpath<span style="color: black;">&#40;</span>curve_points<span style="color: black;">&#41;</span>
drawpath<span style="color: black;">&#40;</span>path<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># ver pontos de controle:</span>
<span style="color: #808080; font-style: italic;">#    oval(dot[0],dot[1],1,1)</span>
reverse_i=<span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>ends<span style="color: black;">&#41;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>-i
&nbsp;
<span style="color: #808080; font-style: italic;"># Caixa texto</span>
<span style="color: #ff7700;font-weight:bold;">from</span> <span style="color: #dc143c;">math</span> <span style="color: #ff7700;font-weight:bold;">import</span> tan,radians,degrees,sin
nostroke<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
fill<span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">0</span>,.2<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># incliniação topo</span>
angle_top=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span>-<span style="color: #ff4500;">10</span>.,<span style="color: #ff4500;">5</span>.<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># incremento para inclinação fundo</span>
add_angle=<span style="color: #ff4500;">10</span>.
<span style="color: black;">angle_bottom</span>=angle_top+add_angle
angle_top,angle_bottom=radians<span style="color: black;">&#40;</span>angle_top<span style="color: black;">&#41;</span>,radians<span style="color: black;">&#40;</span>angle_bottom<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># inicio horizontal</span>
box_x=WIDTH/<span style="color: #ff4500;">7</span>
<span style="color: #808080; font-style: italic;"># calcular altura da caixa conforme angulo gerado</span>
box_top_left=<span style="color: #008000;">map</span><span style="color: black;">&#40;</span>degrees<span style="color: black;">&#40;</span>angle_top<span style="color: black;">&#41;</span>,-<span style="color: #ff4500;">10</span>.,<span style="color: #ff4500;">5</span>.,HEIGHT/<span style="color: #ff4500;">7</span>,<span style="color: #ff4500;">3</span><span style="color: #66cc66;">*</span>HEIGHT/<span style="color: #ff4500;">8</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># dados para caixa</span>
box_top_right=box_top_left+<span style="color: black;">&#40;</span>tan<span style="color: black;">&#40;</span>angle_top<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span>WIDTH-box_x<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
box_bottom_left=box_top_left+<span style="color: #ff4500;">200</span>
box_bottom_right=box_bottom_left+<span style="color: black;">&#40;</span>tan<span style="color: black;">&#40;</span>angle_bottom<span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span>WIDTH-box_x<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
beginpath<span style="color: black;">&#40;</span>box_x,box_top_left<span style="color: black;">&#41;</span>
lineto<span style="color: black;">&#40;</span>box_x,box_bottom_left<span style="color: black;">&#41;</span>
lineto<span style="color: black;">&#40;</span>WIDTH,box_bottom_right<span style="color: black;">&#41;</span>
lineto<span style="color: black;">&#40;</span>WIDTH,box_top_right<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># não será impressa</span>
endpath<span style="color: black;">&#40;</span>draw=<span style="color: #008000;">False</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;"># gerar frase</span>
verbos=<span style="color: black;">&#91;</span>“A que sabe \n”,
“A que cheira \n”,
“Qual o toque \nd”,
“A que soa \n”,
“Como é “<span style="color: black;">&#93;</span>
<span style="color: #808080; font-style: italic;"># lista de suubstantivos, para cada um incluimos lista de indices de verbos excluidos</span>
substantivos=<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>“o amarelo”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o verde”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o branco”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o cinzento”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o azul”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o vermelho”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a lua”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a confiança”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o amor”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o ódio”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a dança”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o sagrado”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o inesperado”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a cura”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a espera”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a cultura”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o crescimento”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a distância”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a procura”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o sonho”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“uma flor”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">2</span>,<span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o chá”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o vento”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“o sol”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a música”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a amizade”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a descoberta”,<span style="color: black;">&#91;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a comunicação”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“a laranja”,<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span>,<span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">2</span>,<span style="color: #ff4500;">4</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
i=<span style="color: #dc143c;">random</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">0</span>,<span style="color: #008000;">len</span><span style="color: black;">&#40;</span>verbos<span style="color: black;">&#41;</span>-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
chose=<span style="color: #008000;">False</span>
<span style="color: #ff7700;font-weight:bold;">while</span> chose==<span style="color: #008000;">False</span>:
s=choice<span style="color: black;">&#40;</span>substantivos<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># verificar se i está excluido</span>
<span style="color: #ff7700;font-weight:bold;">if</span> i <span style="color: #ff7700;font-weight:bold;">in</span> s<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>:
chose=<span style="color: #008000;">False</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
chose=<span style="color: #008000;">True</span>
frase=<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>verbos<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>+<span style="color: #008000;">str</span><span style="color: black;">&#40;</span>s<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>+”<span style="color: #66cc66;">?</span>”
frases=<span style="color: black;">&#91;</span>frase,
“<span style="color: #ff4500;">10</span> Dezembro, Fio de Ariadne”,
“Inauguração da Espiral de Imaginação Associação Cultural”,
“www.<span style="color: black;">Espiral</span>-de-Imaginação.<span style="color: black;">pt</span>”,
“Rua de Cedofeita <span style="color: #ff4500;">451</span>,Porto”<span style="color: black;">&#93;</span>
<span style="color: #808080; font-style: italic;"># Fonte, Tamanho, Leading (relativo a tamanho)</span>
fontes=<span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>“Museo <span style="color: #ff4500;">700</span>”,<span style="color: #ff4500;">50</span>,.75<span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“Museo Slab <span style="color: #ff4500;">500</span>”,<span style="color: #ff4500;">25</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“Museo Slab <span style="color: #ff4500;">500</span>”,<span style="color: #ff4500;">20</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“Museo <span style="color: #ff4500;">700</span>”,<span style="color: #ff4500;">15</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#40;</span>“Museo <span style="color: #ff4500;">300</span>”,<span style="color: #ff4500;">15</span>,<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
fill<span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># angulo de rotação actual, começamos com angulo gerado para caixa</span>
cur_angle=-degrees<span style="color: black;">&#40;</span>angle_top<span style="color: black;">&#41;</span>
rotate<span style="color: black;">&#40;</span>cur_angle<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># coordenadas iniciais (mesma da caixa)</span>
cur_x=WIDTH/<span style="color: #ff4500;">7</span>
cur_y=box_top_left
<span style="color: #808080; font-style: italic;"># calcular incremento na rotação conforme numero de frases</span>
angle_increment=-add_angle/<span style="color: #008000;">len</span><span style="color: black;">&#40;</span>frases<span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>frases<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
<span style="color: #808080; font-style: italic;"># valor da variação horizontal provocada pela rotação</span>
dx=<span style="color: black;">&#40;</span>textwidth<span style="color: black;">&#40;</span>frases<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>-cos<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>cur_angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># valor da variação vertical provocada pela rotação</span>
m=<span style="color: #ff4500;">1</span> <span style="color: #ff7700;font-weight:bold;">if</span> cur_angle<span style="color: #66cc66;">&amp;</span>gt<span style="color: #66cc66;">;</span>=<span style="color: #ff4500;">0</span> <span style="color: #ff7700;font-weight:bold;">else</span> -<span style="color: #ff4500;">1</span>
dy=m<span style="color: #66cc66;">*</span><span style="color: black;">&#40;</span>textwidth<span style="color: black;">&#40;</span>frases<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>/<span style="color: #ff4500;">2</span><span style="color: black;">&#41;</span><span style="color: #66cc66;">*</span>sin<span style="color: black;">&#40;</span>radians<span style="color: black;">&#40;</span>cur_angle<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
font<span style="color: black;">&#40;</span>fontes<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,fontes<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
lineheight<span style="color: black;">&#40;</span>fontes<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">2</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
text<span style="color: black;">&#40;</span>frases<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span>,cur_x+dx,cur_y,<span style="color: #ff4500;">6</span><span style="color: #66cc66;">*</span>WIDTH/<span style="color: #ff4500;">7</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># incrementar altura para proxima frase</span>
cur_y+=textheight<span style="color: black;">&#40;</span>frases<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span>,<span style="color: #ff4500;">5</span><span style="color: #66cc66;">*</span>WIDTH/<span style="color: #ff4500;">7</span><span style="color: black;">&#41;</span>+dy/<span style="color: #ff4500;">2</span>
<span style="color: #808080; font-style: italic;"># incrementar rotação para proxima frase</span>
rotate<span style="color: black;">&#40;</span>angle_increment<span style="color: black;">&#41;</span>
cur_angle+=angle_increment
&nbsp;
<span style="color: #808080; font-style: italic;"># imprimir logo</span>
cur_y+=HEIGHT/<span style="color: #ff4500;">30</span>
image<span style="color: black;">&#40;</span>“logo-espiral.<span style="color: black;">png</span>”,cur_x,cur_y,WIDTH/<span style="color: #ff4500;">6</span><span style="color: black;">&#41;</span></pre></div></div>

<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2010. |
<a href="http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico&title=Espiral de Imaginação &#8211; Cartaz Estocástico">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=fW1h3AfmVxg:LoFH0CMpVY8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=fW1h3AfmVxg:LoFH0CMpVY8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=fW1h3AfmVxg:LoFH0CMpVY8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=fW1h3AfmVxg:LoFH0CMpVY8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=fW1h3AfmVxg:LoFH0CMpVY8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=fW1h3AfmVxg:LoFH0CMpVY8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=fW1h3AfmVxg:LoFH0CMpVY8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/fW1h3AfmVxg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico</feedburner:origLink></item>
		<item>
		<title>MaisDisco.com</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/IJOhDmLmoyU/maisdisco-com</link>
		<comments>http://dardna.com/web/maisdisco-com#comments</comments>
		<pubDate>Wed, 24 Nov 2010 18:56:01 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2853</guid>
		<description><![CDATA[projecto pessoal &#124; comparador visual]]></description>
			<content:encoded><![CDATA[projecto pessoal &#124; comparador visual<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=IJOhDmLmoyU:Gww9-TP6XKQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=IJOhDmLmoyU:Gww9-TP6XKQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=IJOhDmLmoyU:Gww9-TP6XKQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=IJOhDmLmoyU:Gww9-TP6XKQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=IJOhDmLmoyU:Gww9-TP6XKQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=IJOhDmLmoyU:Gww9-TP6XKQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=IJOhDmLmoyU:Gww9-TP6XKQ:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/IJOhDmLmoyU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/maisdisco-com/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/maisdisco-com</feedburner:origLink></item>
		<item>
		<title>Mais Disco</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/9e3KWVVPas0/mais-disco</link>
		<comments>http://dardna.com/blog/mais-disco#comments</comments>
		<pubDate>Sun, 15 Aug 2010 04:45:25 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2830</guid>
		<description><![CDATA[Coloquei agora mesmo online o Mais Disco, uma pequena plataforma que pretende mapear discos rígidos em venda. Assim, se na dúvida de qual será a melhor relação capacidade/preço basta percorrer o gráfico (em cada uma das categorias), observando a estimativa da quantidade de gigas obtidos por cada euro despendido. Por enquanto o Kuanto Kusta parece-me [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://dardna.com/maisdisco.com/"><img class="alignnone size-large wp-image-2831" title="maisdisco.com" src="http://dardna.com/wproot/wp-content/uploads/2010/08/maisdisco.com_-605x449.jpg" alt="Mais Disco" width="605" height="449" /></a></p>
<p>Coloquei agora mesmo online o <a href="http://dardna.com/maisdisco.com/"><strong>Mais Disco</strong></a>, uma pequena plataforma que pretende mapear discos rígidos em venda. Assim, se na dúvida de qual será a melhor relação capacidade/preço basta percorrer o gráfico (em cada uma das categorias), observando a estimativa da quantidade de gigas obtidos por cada euro despendido.</p>
<p>Por enquanto o <a href="http://www.kuantokusta.pt/" target="_blank">Kuanto Kusta</a> parece-me ser a melhor origem de preços para as listagens sendo portanto a única utilizada. Talvez no futuro faça sentido integrar outras fontes&#8230;</p>
<p>Sugestões são obviamente bem vindas pelo contacto disponibilizado no site, ou até mesmo aqui nos comentários.</p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2010. |
<a href="http://dardna.com/blog/mais-disco">Permalink</a> |
<a href="http://dardna.com/blog/mais-disco#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/blog/mais-disco&title=Mais Disco">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=9e3KWVVPas0:4V-h85rOmL0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=9e3KWVVPas0:4V-h85rOmL0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=9e3KWVVPas0:4V-h85rOmL0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=9e3KWVVPas0:4V-h85rOmL0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=9e3KWVVPas0:4V-h85rOmL0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=9e3KWVVPas0:4V-h85rOmL0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=9e3KWVVPas0:4V-h85rOmL0:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/9e3KWVVPas0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/blog/mais-disco/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/blog/mais-disco</feedburner:origLink></item>
		<item>
		<title>Listafer</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/w1Iz0y48RfY/listafer</link>
		<comments>http://dardna.com/web/listafer#comments</comments>
		<pubDate>Mon, 15 Mar 2010 23:37:15 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2991</guid>
		<description><![CDATA[maquete para empresa de eventos]]></description>
			<content:encoded><![CDATA[maquete para empresa de eventos<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=w1Iz0y48RfY:AmHgINb24sk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=w1Iz0y48RfY:AmHgINb24sk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=w1Iz0y48RfY:AmHgINb24sk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=w1Iz0y48RfY:AmHgINb24sk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=w1Iz0y48RfY:AmHgINb24sk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=w1Iz0y48RfY:AmHgINb24sk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=w1Iz0y48RfY:AmHgINb24sk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/w1Iz0y48RfY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/listafer/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/listafer</feedburner:origLink></item>
		<item>
		<title>Your Wave TV</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/07fQQW6iuHo/your-wave</link>
		<comments>http://dardna.com/web/your-wave#comments</comments>
		<pubDate>Sun, 14 Mar 2010 14:08:24 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2683</guid>
		<description><![CDATA[tv online &#124; protótipo funcional]]></description>
			<content:encoded><![CDATA[tv online &#124; protótipo funcional<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=07fQQW6iuHo:wRgWsaYsRus:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=07fQQW6iuHo:wRgWsaYsRus:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=07fQQW6iuHo:wRgWsaYsRus:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=07fQQW6iuHo:wRgWsaYsRus:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=07fQQW6iuHo:wRgWsaYsRus:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=07fQQW6iuHo:wRgWsaYsRus:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=07fQQW6iuHo:wRgWsaYsRus:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/07fQQW6iuHo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/your-wave/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/your-wave</feedburner:origLink></item>
		<item>
		<title>WP htaccess Control 1.3</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/TaTLW_h1efs/wp-htaccess-control-1-3</link>
		<comments>http://dardna.com/blog/curtas/wp-htaccess-control-1-3#comments</comments>
		<pubDate>Wed, 10 Mar 2010 01:46:25 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Curtas]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2504</guid>
		<description><![CDATA[Acabei de submeter actualização do plugin Wp htaccess Control, integrando agora a personalização da base do permalink de autor com o Google XML Sitemaps. © dardna no dump, 2010. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>Acabei de submeter actualização do plugin <a href="http://wordpress.org/extend/plugins/wp-htaccess-control/">Wp htaccess Control</a>, integrando agora a personalização da base do permalink de autor com o <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemaps</a>.</p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2010. |
<a href="http://dardna.com/blog/curtas/wp-htaccess-control-1-3">Permalink</a> |
<a href="http://dardna.com/blog/curtas/wp-htaccess-control-1-3#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/blog/curtas/wp-htaccess-control-1-3&title=WP htaccess Control 1.3">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=TaTLW_h1efs:mjKmv5dKH3w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=TaTLW_h1efs:mjKmv5dKH3w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=TaTLW_h1efs:mjKmv5dKH3w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=TaTLW_h1efs:mjKmv5dKH3w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=TaTLW_h1efs:mjKmv5dKH3w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=TaTLW_h1efs:mjKmv5dKH3w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=TaTLW_h1efs:mjKmv5dKH3w:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/TaTLW_h1efs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/blog/curtas/wp-htaccess-control-1-3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/blog/curtas/wp-htaccess-control-1-3</feedburner:origLink></item>
		<item>
		<title>QPI</title>
		<link>http://feedproxy.google.com/~r/dardna/dump/~3/deAYockfbPc/qpi</link>
		<comments>http://dardna.com/web/qpi#comments</comments>
		<pubDate>Mon, 08 Mar 2010 23:32:09 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[WebDesign]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2986</guid>
		<description><![CDATA[maquete para associação &#124; (em parceria)]]></description>
			<content:encoded><![CDATA[maquete para associação &#124; (em parceria)<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dardna/dump?a=deAYockfbPc:l3Uvoaqrkyk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dardna/dump?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=deAYockfbPc:l3Uvoaqrkyk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=deAYockfbPc:l3Uvoaqrkyk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=deAYockfbPc:l3Uvoaqrkyk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=deAYockfbPc:l3Uvoaqrkyk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dardna/dump?a=deAYockfbPc:l3Uvoaqrkyk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dardna/dump?i=deAYockfbPc:l3Uvoaqrkyk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/dardna/dump/~4/deAYockfbPc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/web/qpi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://dardna.com/web/qpi</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.822 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-28 12:41:03 -->

