<?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; perlin noise</title>
	<atom:link href="http://grgrdvrt.com/blog/tag/perlin-noise/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>Perlinoisation</title>
		<link>http://grgrdvrt.com/blog/422/perlinoisation/</link>
		<comments>http://grgrdvrt.com/blog/422/perlinoisation/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 23:42:01 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[bitmapData]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[particules]]></category>
		<category><![CDATA[perlin noise]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/blog/?p=422</guid>
		<description><![CDATA[Le perlin noise c'est génial, ça marche à tous les coups.]]></description>
			<content:encoded><![CDATA[<p>Il y a un peu plus d&#8217;un an <a href="http://www.neuroproductions.be/">Neuroprod</a> faisait <a href="http://www.neuroproductions.be/experiments/image-vectors-convolutionfilter-fun/">des trucs avec des images</a>. Et ça m&#8217;a donné envie de jouer.<br/>
Sauf que les histoires de direction de l&#8217;image je m&#8217;en foutait un peu alors j&#8217;ai utilisé un bitmapData plein de perlin noise comme map pour orienter mes lignes.<p/>
<p>En lançant l&#8217;exemple ci-dessous, tu pourras admirer le résultat de tout ça et découvrir au passage qui sont nos invités mystères!!</p>

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_1" width="789" height="625">
      <param name="movie" value="/storage/422/perlinoisation/perlinoisation.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/storage/422/perlinoisation/perlinoisation.swf" width="789" height="625">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
<br/>

<p>Si tu as juste lancé l&#8217;animation tu as dû d&#8217;abord paniquer à la vue de nos amis et ensuite tu as vu un effet sympa.<br/>
Si tu la stoppe et que tu la relance tu vas activer un second mode bien plus intéressant dans lequel l&#8217;image se dégrade au cours du temps.<br/>
L&#8217;idée c&#8217;est que dans le premier mode ce sont les couleurs la photo originale qui sont utilisées tandis que dans le second mode c&#8217;est l&#8217;image transformée (telle qu&#8217;on la voit) qui sert de source.<p><br/>

<p>Voici une séquence obtenue avec une image un peu plus verte.<br/>
Au début les deux modes donnent à peu près la même chose : </p>
<img src="/storage/422/1a.jpg"><br/>
<p>Après une dizaine de minutes c&#8217;est de la bouillie : </p>
<img src="/storage/422/1b.jpg"><br/>
<p>À la fin l&#8217;image se divise en aplats relativement stables : </p>
<img src="/storage/422/1c.jpg"><br/><br/>
<p>Et sinon en noir et blanc ça fait des choses amusantes aussi : </p>
<p><img src="/storage/422/2a.jpg"><img style="margin-right:0px;" src="/storage/422/2c.jpg"></p>
<img src="/storage/422/2b.jpg"><br/>
<p>Si tu veux les sources, <a href="/storage/422/perlinoisation.rar">les voilà</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/422/perlinoisation/feed/</wfw:commentRss>
		<slash:comments>6</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/46/qsdqsd/</link>
		<comments>http://grgrdvrt.com/blog/46/qsdqsd/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 00:19:00 +0000</pubDate>
		<dc:creator>Grgrdvrt</dc:creator>
				<category><![CDATA[Miam]]></category>
		<category><![CDATA[couleur]]></category>
		<category><![CDATA[perlin noise]]></category>

		<guid isPermaLink="false">http://grgrdvrt.com/wordpress/?p=45</guid>
		<description><![CDATA[Perlin + lignes.]]></description>
			<content:encoded><![CDATA[
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="swfobj_2" width="785" height="561">
      <param name="movie" value="/miam/starmonkey010.swf" />
      <!--[if !IE]>-->
      <object type="application/x-shockwave-flash" data="/miam/starmonkey010.swf" width="785" height="561">
      <!--<![endif]-->
        
      <!--[if !IE]>-->
      </object>
      <!--<![endif]-->
    </object>
 ]]></content:encoded>
			<wfw:commentRss>http://grgrdvrt.com/blog/46/qsdqsd/feed/</wfw:commentRss>
		<slash:comments>4</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>
	</channel>
</rss>

