<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>dump &#187; Design de Comunicação (gráfico)</title>
	<atom:link href="http://dardna.com/ver/ldc/grafico/feed" rel="self" type="application/rss+xml" />
	<link>http://dardna.com</link>
	<description></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>
		<item>
		<title>Personagens Modulares</title>
		<link>http://dardna.com/ldc/grafico/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>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/personagens-modulares/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Espiral de Imaginação &#8211; Cartaz Estocástico</title>
		<link>http://dardna.com/ldc/grafico/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>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/espiral-de-imaginacao-cartaz-estocastico/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fbaupzine</title>
		<link>http://dardna.com/ldc/grafico/fbaupzine</link>
		<comments>http://dardna.com/ldc/grafico/fbaupzine#comments</comments>
		<pubDate>Sat, 16 Jan 2010 22:31:15 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design da Imagem]]></category>
		<category><![CDATA[Design de Comunicação (gráfico)]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2763</guid>
		<description><![CDATA[(...)Continuar a ler sobre Fbaupzine © dardna no dump, 2010. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/fbaupzine">Fbaupzine</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2010. |
<a href="http://dardna.com/ldc/grafico/fbaupzine">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/fbaupzine#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/fbaupzine&title=Fbaupzine">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/fbaupzine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cibertexto: Play</title>
		<link>http://dardna.com/ldc/grafico/cibertexto-play</link>
		<comments>http://dardna.com/ldc/grafico/cibertexto-play#comments</comments>
		<pubDate>Sat, 16 Jan 2010 12:36:05 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Design Multimedia]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2950</guid>
		<description><![CDATA[Sendo para nós claro, respondendo à proposta, o objectivo de colocar o receptor no centro da narrativa, exigindo minimamente a sua intervenção na determinação da mensagem, percebemos rapidamente que nos era comum a vontade de trabalhar a partir de áudio, em diferença a tantos outros projectos anteriores. Assim começámos por reunir experiências que pudessem enriquecer [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dardna.com/wproot/wp-content/plugins/flash-video-player/default_video_player.gif" title="Cibertexto: Play" alt="Cibertexto: Play" /></p>
<p>Sendo para nós claro, respondendo à proposta, o objectivo de colocar o receptor no centro da narrativa, exigindo minimamente a sua intervenção na determinação da mensagem, percebemos rapidamente que nos era comum a vontade de trabalhar a partir de áudio, em diferença a tantos outros projectos anteriores.</p>
<p>Assim começámos por reunir experiências que pudessem enriquecer e direccionar o nosso projecto. Surgiram então exemplos relativamente antigos (mas não menos marcantes), como o EVE do Peter Gabriel (http://www.realworldmultimedia.com/portfolio/cdrom/Eve/), em que o utilizador é levado a explorar várias paisagens que evoluem – de forma certamente linear – pela resolução de puzzles muitas vezes baseados em ritmo e música; ou o Rez (http://www.sonicteam.com/rez/), um híbrido de musical e shooter. Por outro lado, e mais moderno, temos também o Reactable (http://www.reactable.com/), que acaba por trazer para a realidade, e de uma forma provavelmente mais intuitiva, formas de manipular e criar música muito fundamentadas na interface visual já antes aplicadas por software, como por exemplo o Max ou o AudioMulch, ou até, em termos mais gerais, como paradigma para linguagens de programação. Finalmente, recuando novamente um pouco e ainda reflectindo sobre os modelos que regem a criação de música digital, surge a ideia de sequenciador, também ela largamente explorada a nível de software, e muito bem sintetizada na experiência “kiddy synth” de Andreas Gysin no seu site http://www.ertdfgcvb.ch/.</p>
<p>Este último exemplo foi certamente a âncora mais forte, ainda que em relação ao mesmo procurássemos uma certa distância: não tencionávamos criar tão evidentemente uma máquina de fazer música e por outro lado desejávamos conseguir uma certa dimensão poética que passaria por uma contrapartida gráfica e/ou visual. Tendo evidentemente um limite no tempo em que deveria ser desenvolvida a proposta, tivemos de definir metas acessíveis que seriam e foram estendidas pelos progressos conseguidos.</p>
<p>Conscientes de que a concretização desta ideia passaria pela realização de uma aplicação digital e escolhido o Processing/Java como ambiente de programação – pela experiência já adquirida no mesmo e, mais geralmente, pela preferência por software livre –, o primeiro passou por perceber o que nos seria possível fazer, ou por outras palavras, quais seriam os limites do nosso ambiente para controlar vários objectos multimédia.</p>
<p>Rapidamente conseguimos um protótipo em que alguns objectos já controlavam respectivos loops sonoros, ligando-os e desligando-os consoante a posição numa “área de jogo”. Estando portanto comprovada a capacidade do ambiente fomos levados a definir mais concretamente o projecto.</p>
<p>Queríamos que num resultado final o utilizador não soubesse o que estava a controlar, se o áudio se a imagem, mas, provavelmente ainda muito embebidos do já referido Reactable, a melhor perspectiva que parecia surgir era a de criar ligações entre cada peça em jogo, criando “efeitos visuais” e eventuais interferências. De facto esta solução não era satisfatória, nem criava profundidade poética, nem a ambiguidade interaccional entre som/imagem que desejávamos. Por fim, das experiências surgiu a ideia que nos acompanhou até ao resultado final e que passaria pela utilização de vídeo.</p>
<p>Tratámos então de refinar a ideia. A cada peça do jogo corresponderia um audiovisual e a sua disposição no tabuleiro, ou por outras palavras, a sua posição segundo os eixos x e y, controlaria a “resolução” (ou antes, o tamanho de cada pixel que comporia o vídeo), a sua tonalidade (ou hue), o volume e pan do som. Se os sons tocam segundo os parâmetros dados sem entrave, os vídeos seguem também os referidos parâmetros mas em caso de multiplicidade organizam-se em faixas verticais Em suma, é dada ao utilizador a oportunidade de realizar simultaneamente música e teledisco. Restava escolher o tema proposto.</p>
<p>No contexto da disciplina e em particular deste projecto, vemos o homem – orgânico e espontâneo – em oposição à ferramenta mecânica; vemos o receptor que pela sua intervenção dá vida e sentido ao objecto. Assim decidimos fazer uma recolha de sons que contrapusessem estas duas ideias (apesar do critério final não ser exageradamente severo), por um lado sons e movimentos mecânicos, por outros sons livres do humano. E “Play” é, antes de ordem de inicio de reprodução de um media, isso mesmo: brincar, muitas vezes com um brinquedo ou máquina, dando-lhe pela imaginação e acção novo sentido.</p>
<div id="gallery-2950" 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_0008_Layer-2.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0008_Layer-2.jpg" title="Cibertexto: Play">(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_0009_Layer-1.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0009_Layer-1.jpg" title="Cibertexto: Play">(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_0007_Layer-3.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0007_Layer-3.jpg" title="Cibertexto: Play">(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_0006_Layer-4.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0006_Layer-4.jpg" title="Cibertexto: Play">(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_0005_Layer-5.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0005_Layer-5.jpg" title="Cibertexto: Play">(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_0004_Layer-6.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0004_Layer-6.jpg" title="Cibertexto: Play">(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_0003_Layer-7.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0003_Layer-7.jpg" title="Cibertexto: Play">(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_0002_Layer-8.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0002_Layer-8.jpg" title="Cibertexto: Play">(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_0001_Layer-9.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0001_Layer-9.jpg" title="Cibertexto: Play">(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_0000_Layer-10.jpg) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/output_0000_Layer-10.jpg" title="Cibertexto: Play">(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/play_2.mp4) no-repeat"><div class="legenda"><p><a iref="http://dardna.com/wproot/wp-content/uploads/2011/02/play_2.mp4" title="Cibertexto: Play">(ampliar)</a></p></div></div></div>
<p>António Andrade<br />
<a href="http://miguelneves.com/">Jorge Ribeiro</a><br />
Paulo Santos</p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2010. |
<a href="http://dardna.com/ldc/grafico/cibertexto-play">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/cibertexto-play#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/cibertexto-play&title=Cibertexto: Play">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/cibertexto-play/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://dardna.com/wproot/wp-content/uploads/2011/02/play_2.mp4" length="50605607" type="video/mp4" />
		</item>
		<item>
		<title>Extensões do Humano</title>
		<link>http://dardna.com/ldc/grafico/extensoes-do-humano</link>
		<comments>http://dardna.com/ldc/grafico/extensoes-do-humano#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:54:44 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Design Multimedia]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2801</guid>
		<description><![CDATA[(...)Continuar a ler sobre Extensões do Humano © dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/extensoes-do-humano">Extensões do Humano</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/grafico/extensoes-do-humano">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/extensoes-do-humano#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/extensoes-do-humano&title=Extensões do Humano">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/extensoes-do-humano/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://dardna.com/wproot/wp-content/uploads/2010/03/extensoes-do-humano_EXE.mp4" length="31948694" type="audio/mp4" />
		</item>
		<item>
		<title>Feiras Municipais do Porto</title>
		<link>http://dardna.com/ldc/grafico/feiras-municipais-do-porto</link>
		<comments>http://dardna.com/ldc/grafico/feiras-municipais-do-porto#comments</comments>
		<pubDate>Mon, 23 Nov 2009 00:21:45 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design da Imagem]]></category>
		<category><![CDATA[Design de Comunicação (gráfico)]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2770</guid>
		<description><![CDATA[(...)Continuar a ler sobre Feiras Municipais do Porto © dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/feiras-municipais-do-porto">Feiras Municipais do Porto</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/grafico/feiras-municipais-do-porto">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/feiras-municipais-do-porto#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/feiras-municipais-do-porto&title=Feiras Municipais do Porto">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/feiras-municipais-do-porto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FuturePlaces 2009</title>
		<link>http://dardna.com/ldc/grafico/futureplaces-2009</link>
		<comments>http://dardna.com/ldc/grafico/futureplaces-2009#comments</comments>
		<pubDate>Sat, 21 Nov 2009 22:11:55 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design da Imagem]]></category>
		<category><![CDATA[Design de Comunicação (gráfico)]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2747</guid>
		<description><![CDATA[Proposta de &#8220;mapa&#8221; para os participantes no FuturePlaces 2009(...)Continuar a ler sobre FuturePlaces 2009 © dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>Proposta de &#8220;mapa&#8221; para os participantes no FuturePlaces 2009(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/futureplaces-2009">FuturePlaces 2009</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/grafico/futureplaces-2009">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/futureplaces-2009#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/futureplaces-2009&title=FuturePlaces 2009">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/futureplaces-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ecologia Mediática</title>
		<link>http://dardna.com/ldc/grafico/ecologia-mediatica</link>
		<comments>http://dardna.com/ldc/grafico/ecologia-mediatica#comments</comments>
		<pubDate>Sat, 21 Nov 2009 16:16:09 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Design Multimedia]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2809</guid>
		<description><![CDATA[(...)Continuar a ler sobre Ecologia Mediática © dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-2810" href="http://dardna.com/ldc/grafico/ecologia-mediatica/attachment/ecologiamediatica">(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/ecologia-mediatica">Ecologia Mediática</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/grafico/ecologia-mediatica">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/ecologia-mediatica#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/ecologia-mediatica&title=Ecologia Mediática">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/ecologia-mediatica/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spot Mestrados</title>
		<link>http://dardna.com/ldc/design-iii/spot-mestrados</link>
		<comments>http://dardna.com/ldc/design-iii/spot-mestrados#comments</comments>
		<pubDate>Sun, 14 Jun 2009 00:21:18 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Design de Comunicação (gráfico)]]></category>
		<category><![CDATA[Design III]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2733</guid>
		<description><![CDATA[© dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p><img src="http://dardna.com/wproot/wp-content/plugins/flash-video-player/default_video_player.gif" title="Spot Mestrados" alt="Spot Mestrados" /></p>
<p><img src="http://dardna.com/wproot/wp-content/plugins/flash-video-player/default_video_player.gif" title="Spot Mestrados" alt="Spot Mestrados" /></p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/design-iii/spot-mestrados">Permalink</a> |
<a href="http://dardna.com/ldc/design-iii/spot-mestrados#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/design-iii/spot-mestrados&title=Spot Mestrados">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/design-iii/spot-mestrados/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://dardna.com/wproot/wp-content/uploads/2010/03/spot_mestrados_total.mp4" length="4493149" type="audio/mp4" />
<enclosure url="http://dardna.com/wproot/wp-content/uploads/2010/03/spot_mestrados_single.mp4" length="2276551" type="audio/mp4" />
		</item>
		<item>
		<title>Greenpeace</title>
		<link>http://dardna.com/ldc/grafico/greenpeace</link>
		<comments>http://dardna.com/ldc/grafico/greenpeace#comments</comments>
		<pubDate>Fri, 05 Jun 2009 14:56:27 +0000</pubDate>
		<dc:creator>dardna</dc:creator>
				<category><![CDATA[Cultura Visual I]]></category>
		<category><![CDATA[Design de Comunicação (gráfico)]]></category>

		<guid isPermaLink="false">http://dardna.com/?p=2590</guid>
		<description><![CDATA[(...)Continuar a ler sobre Greenpeace © dardna no dump, 2009. &#124; Permalink &#124; Sem comentários &#124; Juntar ao del.icio.us Etiquetas:]]></description>
			<content:encoded><![CDATA[<p>(...)<br/>Continuar a ler sobre <a href="http://dardna.com/ldc/grafico/greenpeace">Greenpeace</a> </p>
<hr />
<p><small>© dardna no <a href="http://dardna.com">dump</a>, 2009. |
<a href="http://dardna.com/ldc/grafico/greenpeace">Permalink</a> |
<a href="http://dardna.com/ldc/grafico/greenpeace#comments">Sem comentários</a> |
Juntar ao 
<a href="http://del.icio.us/post?url=http://dardna.com/ldc/grafico/greenpeace&title=Greenpeace">del.icio.us</a>
<br/>
Etiquetas: <br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://dardna.com/ldc/grafico/greenpeace/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

