<?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>GrgrDvrt &#187; mouvement</title>
	<atom:link href="http://grgrdvrt.com/blog/tag/mouvement/feed/" rel="self" type="application/rss+xml" />
	<link>http://grgrdvrt.com/blog</link>
	<description>Un blog utilisant WordPress</description>
	<lastBuildDate>Tue, 10 Jan 2012 09:04:24 +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>Des lignes</title>
		<link>http://grgrdvrt.com/blog/439/des-lignes/</link>
		<comments>http://grgrdvrt.com/blog/439/des-lignes/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 20:56:19 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[bitmapData]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[lignes]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[particules]]></category>
		<category><![CDATA[perlin noise]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/blog/?p=439</guid>
		<description><![CDATA[Des fois le midi je mange vite alors il me reste un peu de temps pour faire des trucs avec des particules.]]></description>
			<content:encoded><![CDATA[
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_0" width="789" height="625">
      <param name="movie" value="/storage/439/curly.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/storage/439/curly.swf" width="789" height="625">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<a href="/storage/439/sources.zip">sources</a>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/439/des-lignes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>25 lignes, Janvier</title>
		<link>http://grgrdvrt.com/blog/279/25-lignes-janvier/</link>
		<comments>http://grgrdvrt.com/blog/279/25-lignes-janvier/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 17:12:31 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[lignes]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/blog/?p=279</guid>
		<description><![CDATA[Pour la deuxième édition du concours <a href="http://www.25lines.com">25lines</a> j'ai encore fait des lignes qui bougent.<br/>
Mais cette fois elles écrivent.]]></description>
			<content:encoded><![CDATA[<p>Et voilà le résultat:<br/>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_1" width="785" height="561">
      <param name="movie" value="/storage/279/25lines2.swf" />
      <param name="flashvars" value="test=ok" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/storage/279/25lines2.swf" width="785" height="561" flashvars="test=ok">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
</p><br/>
<p>À la base je voulais stocker les tracés sur un minimum d&#8217;espace alors j&#8217;ai pensé au <a href="http://www.bytearray.org/?p=91">mouse gesture de bytearray</a> où les caractères sont représentés par une suite de directions. Finalement j&#8217;ai pensé que ce serait trop compliqué de les redessiner à partir de ça en 25 lignes donc finalement j&#8217;ai opté pour des classiques paires de coordonnées.<br/>
<img src="/storage/279/25lines1.jpg"/><img style="margin-right:0px;" src="/storage/279/25lines2.jpg"/></p>
<p>Et voilà <a href="http://www.25lines.com/?page_id=186">les finalistes</a> de cette édition. Le 8 était très fou mais finalement c&#8217;est le 30 qui a gagné :/<p>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/279/25-lignes-janvier/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Un petit coup de processing</title>
		<link>http://grgrdvrt.com/blog/47/un-petit-coup-de-processing/</link>
		<comments>http://grgrdvrt.com/blog/47/un-petit-coup-de-processing/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 16:13:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[perlin noise]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=46</guid>
		<description><![CDATA[À la base je jouais à déplacer des particules et puis j'ai rajouté du perlin noise et puis de la couleur et puis des lignes à la place des points et puis <a href="http://grgrdvrt.com/storage/47/applet">voilà le résultat</a>.]]></description>
			<content:encoded><![CDATA[À la base je jouais à déplacer des particules et puis j&#8217;ai rajouté du perlin noise et puis de la couleur et puis des lignes à la place des points et puis <a href="../storage/47/applet">voilà le résultat</a>.
Pour les couleurs j&#8217;utilise les blendModes pour faire un mélange entre une couleur dominante et des valeurs récupéréres sur le perlinNoise mais au final c&#8217;est très aléatoire et des fois c&#8217;est moche. Pour le smoothing processing c&#8217;est pas encore ça. Dans le même genre il y a le <a href="http://wonderwhy-er.deviantart.com/art/Rainbow-Whirls-2-0-76544660">Rainbow Whirls</a> par wonderwhy-er que j&#8217;ai découvert via le concours <a href="http://www.25lines.com">25lines</a>.]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/47/un-petit-coup-de-processing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>qsdqsd</title>
		<link>http://grgrdvrt.com/blog/43/20080711qsdqsd/</link>
		<comments>http://grgrdvrt.com/blog/43/20080711qsdqsd/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 01:04:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[bitmapData]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[particules]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=43</guid>
		<description><![CDATA[Tout plein de particules.]]></description>
			<content:encoded><![CDATA[
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_2" width="785" height="561">
      <param name="movie" value="/miam/starmonkey008.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/miam/starmonkey008.swf" width="785" height="561">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<p>J&#8217;ai fabriqué ce truc en cours de flash, alors que l&#8217;intervenant nous signalait que la classe Shape était très optimisée pour les graphiques. Je me suis donc empressé de créer 2000 shapes avec un coup de lineTo dedans pour me faire des particules. Sur le conseil de l&#8217;intervenant j&#8217;ai remplacé le lineTo par un drawRect plus efficace. J&#8217;ai ainsi pu monter à 14000 particules.<br /><br />
 Plus tard <a href="http://www.nicoptere.net/blog/" hreflang="fr">Nicoptère</a> m&#8217;a incité à faire des setPixels sur un bitmapData. Là à 50000 particules on s&#8217;en sort pas mal.<br /><br />
 Pour le mouvement c&#8217;est basé sur la même chose que pour  <a href="/blog/index.php?post/2008/02/13/Lignes-en-mouvement" hreflang="fr">ces lignes</a>. L&#8217;idée c&#8217;est ça:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">vitesse = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">position</span> de la souris - <span style="color: #0066CC;">position</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">*</span> elasticité
vitesse <span style="color: #66cc66;">*</span>= frottement
<span style="color: #0066CC;">position</span> de la particule += vitesse</pre></td></tr></table></div>


<br />
 Avec des valeurs d&#8217;élasticité et de frottement différentes pour chaque particule l&#8217;ensemble forme une ligne cohérente que l&#8217;on maitrise plus ou moins avec la souris]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/43/20080711qsdqsd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>qsdqsd</title>
		<link>http://grgrdvrt.com/blog/42/20080709qsdqsd/</link>
		<comments>http://grgrdvrt.com/blog/42/20080709qsdqsd/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 22:31:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[bitmapData]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[filtre]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[particules]]></category>
		<category><![CDATA[perlin noise]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=42</guid>
		<description><![CDATA[Bouger des particules d'après un perlinNoise, c'est fou!]]></description>
			<content:encoded><![CDATA[
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_3" width="785" height="561">
      <param name="movie" value="/miam/starmonkey005.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/miam/starmonkey005.swf" width="785" height="561">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>

<p>À la base le mec intelligent c&#8217;est Nicoptère, avec le principe de <a href="http://www.nicoptere.net/blog/index.php/2008/06/01/39-shwoof" hreflang="fr">son effet swoosh</a> qui déplace des particules selon un perlinNoise.</p> <h4>Recette de cuisine:</h4> <br />
 <ul> <li>je pars d&#8217;une image en noir et blanc, là c&#8217;est un gros qsd créé par <a href="http://qudjesraigrdjvoudraietremaitredumonde.blogspot.com/" hreflang="fr">tantoitai</a> (notez la finesse du skin de son blog)</li> <br />
 <li>Je crée un bitmapData rempli de perlinNoise. Là je me casse pas trop la tête, je reprends celui de la doc de flash.</li> <br />
 <li>je parcours chaque pixel de l&#8217;image pour récupérer les position de chaque pixel noir. Pour ça je passe par un byteArray en espérant que c&#8217;est mieux que getPixel (j&#8217;ai jamais testé la différence).</li> <br />
 <li>Je crée un objet ayant d&#8217;une part des propriétés x et y basés sur les pixels de l&#8217;image et d&#8217;autre part une vitesse horizontale, une vitesse verticale et une couleur dont les valeurs sont respectivement déterminées par les couches r, v et b du perlinNoise.</li> <br />
 <li>Pour le mouvement j&#8217;additionne simplement les vitesse horizontales et verticales au positions x et y pour chaque objet. Cette vitesse est préalablement multiplié par une sinusoïdale dépendant du temps(formule littéraire pour Math.sin(t++) ), ce qui fait que l&#8217;image de base se déforme puis se reforme</li> <br />
 <li>Le rendu est obtenu en faisant un setPixel pour chacun de ces objets sur un bitmapData. Je n&#8217;efface jamais l&#8217;image, j&#8217;applique juste des filtres BlurFilter et ColorMatrix filter qui effacent progressivement en laissant une trainée (faut aller doucement là dessus, ça vire vite à la visualisation windows Mediaplayer)</li> </ul> <p>Bon forcément plus le bitmapData d&#8217;affichage est grand et plus y&#8217;a de particules moins c&#8217;est fluide. Donc voilà, vous avez tout les éléments pour faire un truc inutile mais tellement cool!</p>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/42/20080709qsdqsd/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Lignes en mouvement</title>
		<link>http://grgrdvrt.com/blog/40/20080213lignes-en-mouvement/</link>
		<comments>http://grgrdvrt.com/blog/40/20080213lignes-en-mouvement/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 22:38:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[lignes]]></category>
		<category><![CDATA[mouvement]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=39</guid>
		<description><![CDATA[Ces lignes se déplacent en suivant des points qui se positionnent aléatoirement autour d&#8217;un point en mouvement. Lorsque l&#8217;on clique, ce point suis la souris. Cette petite expérimentation utilise quelques formules tirées du livre &#8220;Making things move&#8221; de Keith Peters que j&#8217;ai un peu adaptées]]></description>
			<content:encoded><![CDATA[<p><a hreflang="fr" href="/miam/lignes.html">Ces lignes</a> se déplacent en suivant des points qui se positionnent aléatoirement autour d&#8217;un point en mouvement. Lorsque l&#8217;on clique, ce point suis la souris. Cette petite expérimentation utilise quelques formules tirées du livre &#8220;Making things move&#8221; de <a hreflang="en" href="http://www.bit-101.com/blog/">Keith Peters</a> que j&#8217;ai un peu adaptées</p>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/40/20080213lignes-en-mouvement/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>tween aléatoire dans l&#039;espace</title>
		<link>http://grgrdvrt.com/blog/36/2006110222-tween-aleatoire-dans-l-espace/</link>
		<comments>http://grgrdvrt.com/blog/36/2006110222-tween-aleatoire-dans-l-espace/#comments</comments>
		<pubDate>Thu, 02 Nov 2006 09:30:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[espace]]></category>
		<category><![CDATA[mouvement]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=36</guid>
		<description><![CDATA[et voici le code: import mx.transitions.Tween;import mx.transitions.easing.Regular;import com.robertpenner.geom.Vector3d;import com.robertpenner.display.Graphic3d;var sw:Number = Stage.width;var sh:Number = Stage.height;var c:Number = sw/1.5;//l'objet dont les coordonnées sont interpoléesvar pt:Vector3d = new Vector3d(Math.random()*c-c/2, Math.random()*c-c/2, Math.random()*c-c/2);var dx:Number = Math.random()*c-c/2-pt.x;var tx:Tween = new Tween(pt, "x", Regular.easeInOut, pt.x, pt.x+dx, Math.abs(dx)/5, false);var dy:Number = Math.random()*c-c/2-pt.y;var ty:Tween = new Tween(pt, "y", Regular.easeInOut, pt.y, pt.y+dy, Math.abs(dy)/5, false);var [...]]]></description>
			<content:encoded><![CDATA[<embed src="http://starmonkey.free.fr/joins/ranTween3d.swf" width="400" height="400"><br /><br /> et voici le code:<br /> <pre>import mx.transitions.Tween;<br />import mx.transitions.easing.Regular;<br />import com.robertpenner.geom.Vector3d;<br />import com.robertpenner.display.Graphic3d;<br />var sw:Number = Stage.width;<br />var sh:Number = Stage.height;<br />var c:Number = sw/1.5;<br /><br />//l'objet dont les coordonnées sont interpolées<br />var pt:Vector3d = new Vector3d(Math.random()*c-c/2, Math.random()*c-c/2, Math.random()*c-c/2);<br />var dx:Number = Math.random()*c-c/2-pt.x;<br />var tx:Tween = new Tween(pt, "x", Regular.easeInOut, pt.x, pt.x+dx, Math.abs(dx)/5, false);<br />var dy:Number = Math.random()*c-c/2-pt.y;<br />var ty:Tween = new Tween(pt, "y", Regular.easeInOut, pt.y, pt.y+dy, Math.abs(dy)/5, false);<br />var dz:Number = Math.random()*c-c/2-pt.z;<br />var tz:Tween = new Tween(pt, "z", Regular.easeInOut, pt.z, pt.z+dz, Math.abs(dz)/5, false);<br /><br />//quand une tween est finie, on la relance<br />tx.onMotionFinished = function() {<br />	var dx:Number = Math.random()*c-c/2-pt.x;<br />	this.continueTo(pt.x+dx, Math.abs(dx)/5);<br />};<br />ty.onMotionFinished = function() {<br />	var dy:Number = Math.random()*c-c/2-pt.y;<br />	this.continueTo(pt.y+dy, Math.abs(dy)/5);<br />};<br />tz.onMotionFinished = function() {<br />	var dz:Number = Math.random()*c-c/2-pt.z;<br />	this.continueTo(pt.z+dz, Math.abs(dz)/5);<br />};<br /><br />//code pour la visualisation de l'exemple<br />//ici les coordonnées du point sont copiées dans un tableau qui est actualisé dans le onChanged<br />var ref:MovieClip = this;<br />var tab:Array = new Array();<br />var l:Number = 100;<br />for (var i:Number = 0; i &lt; l; i++) {<br />	tab.push(pt.getClone());<br />}<br />tx.onMotionChanged = function() {<br />	ref.clear();<br />	//on récupèreune projection sur l'écran des points 3d<br />	var current:Vector3d = tab[0].persProjectNew();<br />	ref.moveTo(current.x+sw/2, current.y+sh/2);<br />	for (var i:Number = 1; i &lt; l; i++) {<br />		current = tab[i].persProjectNew();<br />		var pers = tab[i].getPerspective();<br />		//l'épaisseur varie en fonction de la profondeur et de l'index du point<br />		ref.lineStyle(pers*50*i/l);<br />		ref.lineTo(current.x+sw/2, current.y+sh/2);<br />	}<br />	<br />	//gestion des touches<br />	if (Key.isDown(37)) {<br />		for (var i = 0; i &lt; l; i++) {<br />			tab[i].rotateY(5);<br />		}<br />	} else if (Key.isDown(39)) {<br />		for (var i = 0; i &lt; l; i++) {<br />			tab[i].rotateY(-5);<br />		}<br />	}<br />	if (Key.isDown(38)) {<br />		for (var i = 0; i &lt; l; i++) {<br />			tab[i].rotateX(5);<br />		}<br />	} else if (Key.isDown(40)) {<br />		for (var i = 0; i &lt; l; i++) {<br />			tab[i].rotateX(-5);<br />		}<br />	}<br />	tab.shift();<br />	tab.push(pt.getClone());<br />};</pre> <br /> Il n&#8217;y a pas de différence majeure avec la version 2d si ce n&#8217;est qu&#8217;au moment de l&#8217;affichage il faut récupérer une projection 2d de chaque point et que l&#8217;épaisseur du trait varie avec la profondeur.<br /> Par contre j&#8217;aurai voulu mettre des variations de couleurs en fonction de la profondeur mais il faudrait gérer l&#8217;ordre d&#8217;affichage des lineTo et là ça devient plus dur<br /><br /> Maintenant j&#8217;aimerai bien voir pour une adaptation en as3 si possible en utilisant la classe Point à la place de la classe Vector (ou au moins comme superclasse) histoire d&#8217;utiliser les outils proposés par flash&#8230;]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/36/2006110222-tween-aleatoire-dans-l-espace/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mouvement aléatoire fluide</title>
		<link>http://grgrdvrt.com/blog/38/200607026-mouvement-aleatoire-fluide/</link>
		<comments>http://grgrdvrt.com/blog/38/200607026-mouvement-aleatoire-fluide/#comments</comments>
		<pubDate>Sat, 01 Jul 2006 22:37:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[mouvement]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=38</guid>
		<description><![CDATA[L&#8217;idée est en fait assez simple, elle consiste interpoler les coordonnées vers des positions aléatoires de façon désynchronisée en employant une équation d&#8217;accélération/décélération :p concrètement cela signifie que l&#8217;on utilise une tween pour chacune des coordonnées. Cette tween part de la position initiale de la coordonnée et va vers une position définie de façon aléatoire. [...]]]></description>
			<content:encoded><![CDATA[L&#8217;idée est en fait assez simple, elle consiste interpoler les coordonnées vers des positions aléatoires de façon désynchronisée en employant une équation d&#8217;accélération/décélération :p <br /><br /> concrètement cela signifie que l&#8217;on utilise une tween pour chacune des coordonnées. Cette tween part de la position initiale de la coordonnée et va vers une position définie de façon aléatoire. Il est impératif que chacune des tween mette un temps différent et d&#8217;utiliser une équation d&#8217;accélération/décélération puisque ce sont ces deux éléments qui rendent le mouvement non linéaire. Finalement, quand une tween est finie on la relance de la même façon qu&#8217;elle a été lancée au début.<br /><br /> Dans l&#8217;exemple ci-dessous on peut voir par moment des ruptures dans le mouvement, cela est dû au fait que la coordonnée choisie au hasard est trop proche de la coordonnée précédente.<br /> <embed src="http://starmonkey.free.fr/joins/ranTween.swf" width="400" height="400"><br /><br /> et voici le code de l&#8217;exemple: <br />(j&#8217;aurai voulu les passer en as3 mais <a href="http://flash.media-box.net/index.php?showtopic=57786">je n&#8217;arrive pas à utiliser les Tween sous flash 9 alpha</a> )<br /> <pre>import mx.transitions.Tween;<br />import mx.transitions.easing.Regular;<br />import flash.geom.Point;<br />var sw:Number = Stage.width;<br />var sh:Number = Stage.height;<br /><br />//l'objet dont les coordonnées sont interpolées<br />var pt:Point = new Point(Math.random()*sw, Math.random()*sh);<br />var dx:Number = Math.random()*sw-pt.x;<br />var tx:Tween = new Tween(pt, "x", Regular.easeInOut, pt.x, pt.x+dx, Math.abs(dx)/5, false);<br />var dy:Number = Math.random()*sh-pt.y;<br />var ty:Tween = new Tween(pt, "y", Regular.easeInOut, pt.y, pt.y+dy, Math.abs(dy)/5, false);<br /><br />//quand une tween est finie, on la relance<br />tx.onMotionFinished = function() {<br />	var dx:Number = Math.random()*sw-pt.x;<br />	this.continueTo(pt.x+dx, Math.abs(dx)/5);<br />};<br />ty.onMotionFinished = function() {<br />	var dy:Number = Math.random()*sh-pt.y;<br />	this.continueTo(pt.y+dy, Math.abs(dy)/5);<br />};<br /><br />//code pour la visualisation de l'exemple<br />//ici les coordonnées du point sont copiées dans un tableau qui est actualisé dans le onChanged<br />var ref:MovieClip = this;<br />var tab:Array = new Array();<br />var l:Number = 100;<br />for (var i:Number = 0; i &lt; l; i++) tab.push(pt.clone());<br />tx.onMotionChanged = function() {<br />	ref.clear();<br />	ref.moveTo(tab[0].x, tab[0].y);<br />	for (var i:Number = 1; i &lt; l; i++) {<br />		ref.lineStyle(i*20/l);<br />		ref.lineTo(tab[i].x, tab[i].y);<br />	}<br />	tab.shift();<br />	tab.push(pt.clone());<br />};</pre>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/38/200607026-mouvement-aleatoire-fluide/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

