<?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>Very Interactive People</title>
	<atom:link href="http://www.veryinteractivepeople.com/index.php?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.veryinteractivepeople.com</link>
	<description>Flash, Flex &#38; photography</description>
	<lastBuildDate>Fri, 27 Aug 2010 07:27:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Audio responsive generative visual experiment</title>
		<link>http://www.veryinteractivepeople.com/?p=480</link>
		<comments>http://www.veryinteractivepeople.com/?p=480#comments</comments>
		<pubDate>Fri, 27 Aug 2010 07:27:18 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[flash/flex/air]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=480</guid>
		<description><![CDATA[Recently I started playing around again with audio reponsive generative visuals. Flash player 10.1 was released some time ago. And this new Flash player allows us to acces raw microphone input. I use this raw input to calculate the spectrum, and then use those spectrum values as input for a &#8220;painter algorithm&#8221;.
So the generative algorithm [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I started playing around again with audio reponsive generative visuals. Flash player 10.1 was released some time ago. And this new Flash player allows us to acces raw microphone input. I use this raw input to calculate the spectrum, and then use those spectrum values as input for a &#8220;painter algorithm&#8221;.<br />
So the generative algorithm is now responding to live audio. My previous experiments were only able to work with audio playing inside Flash, so this is a huge improvement.<br />
Here&#8217;s an early example of an abstract painting created using this method:</p>
<p style="text-align: center;"><a title="Audio responsive generative visual experiment by veryinteractivepeople, on Flickr" href="http://www.flickr.com/photos/v-i-p/4921342830/"><img class="aligncenter" src="http://farm5.static.flickr.com/4082/4921342830_d474dbc51a.jpg" alt="Audio responsive generative visual experiment" width="500" height="259" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=480</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What is &#8220;generative art&#8221;?</title>
		<link>http://www.veryinteractivepeople.com/?p=399</link>
		<comments>http://www.veryinteractivepeople.com/?p=399#comments</comments>
		<pubDate>Sat, 26 Jun 2010 10:16:32 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[generative art]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=399</guid>
		<description><![CDATA[People who follow this blog will probably know I like to experiment with generative visuals, or &#8220;generative art&#8221; as most people call it.
So what is this all about? I&#8217;m getting this question quite a lot when telling people what I do. And it isn&#8217;t easy to explain.
For those of you who have never heard of [...]]]></description>
			<content:encoded><![CDATA[<p>People who follow this blog will probably know I like to experiment with generative visuals, or &#8220;generative art&#8221; as most people call it.<br />
So what is this all about? I&#8217;m getting this question quite a lot when telling people what I do. And it isn&#8217;t easy to explain.<br />
For those of you who have never heard of generative art, and want a little more in-depth information, here&#8217;s a short summary. I also inlcuded some tips and tricks to get started yourself.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/v-i-p/3607644649/" title="Generative art by veryinteractivepeople, on Flickr"><img src="http://farm4.static.flickr.com/3384/3607644649_b5060148e1.jpg" width="500" height="188" alt="Generative art"></a></p>
<h3>Introduction to &#8220;generative art&#8221;</h3>
<p>According to wikipedia the defenition of generative art is:</p>
<p><em>&#8220;Generative art refers to art that has been generated, composed, or constructed in an algorithmic manner through the use of systems defined by computer software algorithms, or similar mathematical or mechanical or randomised autonomous processes.&#8221;</em></p>
<p>The term &#8220;generative art&#8221; does not describe a specific visual style or ideology. It&#8217;s only a definition for the method used to create the artwork, which should have some degree of autonomy, typically resulting in unforeseen &#8220;mutations&#8221;. This is what makes generative art so interesting.<br />
It&#8217;s not limited to visuals. A generative approach can also be used to create sculptures ,audio or music. For example Mozart&#8217;s &#8220;Musikalisches Würfelspiel&#8221; from 1757 is an early example of a generative music, because it was structured, but also contained randomness.This method is also used by certain architects, furniture designers, etc.<br />
In this article however I&#8217;m only talking about 2D digital visuals, because that&#8217;s what I&#8217;m most familiar with. So, think of it as a digital canvas. Instead of using a pencil or a brush, a generative artist uses algorithms and code to draw lines, shapes and colors onto the canvas. Most of the time, a generative artist creates a system, and then lets the artwork &#8220;grow&#8221; over time. The artist knows more or less what the outcome will be, but because of the certain degree of autonomy in the process, each result is unique.<br />
Most of the time the end result would take ages to draw by hand. Code is used to speed up the process. </p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/v-i-p/3603940942/" title="Generative art by veryinteractivepeople, on Flickr"><img src="http://farm4.static.flickr.com/3313/3603940942_9f947753fc.jpg" width="500" height="188" alt="Generative art"></a></p>
<h3>The generative artist&#8217;s toolset</h3>
<ul>
<li><a href="http://www.adobe.com/products/flash/">Adobe Flash</a>: Flash is my favorite tool for creating generative art. I&#8217;m not saying it&#8217;s the best, that&#8217;s a personal choice. I&#8217;m most comfortable with actionscript 3. Being able to work in an object oriented language, and to use tools like Flex/Flash builder are a huge plus.</li>
<li><a href="http://www.processing.org">Processing</a>: Processing would be my second choice. It&#8217;s a lot more powerful then Flash. And there are some very interesting libraries out there for video and audio processing. Your code can become a bit messy, and not all libraries work on all pc configurations, but still, if Flash isn&#8217;t powerful enough for what you want to do, Processing is probably your best choice.</li>
<li><a href="http://www.autodesk.com">3D Studio max</a>, Maya and <a href="http://www.blender.org/">Blender</a>: Yes, it&#8217;s also possible to create generative artworks with tools like 3D max or maya. In 3D max for example you can use max script. The downside is the community is quite small. There aren&#8217;t much tutorials out there, and the documentation is lacking. So, if you are starting out you are pretty much on your own.<br />
In Blender you can use Python for scripting. I haven&#8217;t tried this yet, but this should be easier than maxscript.</li>
<li><a href="http://structuresynth.sourceforge.net/">Structure synth</a>: Structure Synth is a cross-platform application for generating 3D structures using algorithms.</li>
<li><a href="http://libcinder.org/">Cinder</a>: Cinder is a community-developed, free and open source library for professional-quality creative coding in C++</li>
<li><a href="http://www.contextfreeart.org/">Context Free</a>: Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.</li>
</ul>
<h3>Inspiration</h3>
<ul>
<li><a href="http://www.flickr.com/groups/actionscriptgeneratedart/">Actionscript generated art</a>: a Flickr group dedicated to generative art produced with actionscript</li>
<li><a href="http://www.flickr.com/groups/generatorx/">Generator.x on Flickr</a>: a Flickr group dedicated to generative art in general.</li>
</ul>
<p style="text-align: center;"><a title="Generative art by veryinteractivepeople, on Flickr" href="http://www.flickr.com/photos/v-i-p/3675740987/"><img src="http://farm4.static.flickr.com/3590/3675740987_c2eaa1b012_m.jpg" alt="Generative art" width="240" height="120" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<a title="Generative art by veryinteractivepeople, on Flickr" href="http://www.flickr.com/photos/v-i-p/3675737789/"><img src="http://farm4.static.flickr.com/3658/3675737789_fdb2477b58_m.jpg" alt="Generative art" width="240" height="120" /></a></p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/v-i-p/3675736873/" title="Generative art by veryinteractivepeople, on Flickr"><img src="http://farm3.static.flickr.com/2638/3675736873_beab7e626c_m.jpg" width="240" height="120" alt="Generative art" /></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.flickr.com/photos/v-i-p/3676554354/" title="Generative art by veryinteractivepeople, on Flickr"><img src="http://farm3.static.flickr.com/2491/3676554354_08fb8621e1_m.jpg" width="240" height="120" alt="Generative art" /></a></p>
<h3>Getting started: tutorials &amp; source code</h3>
<ul>
<li><a href="http://www.openprocessing.org">Open processing</a>: OpenProcessing is an online community platform devoted to sharing and discussing Processing sketches in a collaborative, open-source environment. Tons of great processing examples can be found on this site.</li>
<li><a href="http://active.tutsplus.com/tutorials/actionscript/code-a-chaotic-composition-inspired-by-joshua-davis/">Code a Chaotic Composition Inspired by Joshua Davis</a>: An actionscript tutorial aimed at starters written by Bruno Crociquia</li>
<li><a href="http://www.computerarts.co.uk/tutorials/premium_content/web__and__new_media/creating_generative_art_with_flash">Creating generative art with Flash</a>: An actionscript turorial by Chad Udell</li>
<li><a href="http://abandonedart.org/">Abandonedart.org</a>: lots of code examples on this website</li>
<li><a href="http://www.complexification.net">Complexification.net</a>: Jared Tarbell&#8217;s website. The source code is available for most of the examples.</li>
</ul>
<p>Yes, I know, I should really write some tutorials myself&#8230;</p>
<h3>Generative artists you should check out</h3>
<p>Here&#8217;s a list of generative artists whose site, blog or photostream is worth a click:</p>
<ul>
<li><a href="http://jot.eriknatzke.com/">Erik Natzke</a></li>
<li><a href="http://www.flickr.com/photos/hildeengwenverbouwen/collections/72157607037117497/">Gwen Vanhee aka Revoid</a></li>
<li><a href="http://blog.stroep.nl/">Mark Knol</a></li>
<li><a href="http://www.wblut.com">W:Blut</a></li>
<li><a href="http://blog.drwoohoo.com/">dr. Woohoo</a></li>
<li><a href="http://www.joshuadavis.com/">Joshua Davis</a></li>
<li><a href="http://pat.theorigin.net/">Patrick Gunderson</a></li>
<li><a href="http://www.flickr.com/photos/clopezdepablo/">Carlos Lopez de Pablo</a></li>
<li><a href="http://blog.dg8tal.com/">Scott Oppenheim</a></li>
<li><a href="http://www.davebollinger.com/works/">Dave Bollinger</a></li>
<li><a href="http://www.complexification.net/">Jared Tarbell</a></li>
<li>And&#8230; offcourse&#8230; myself <img src='http://www.veryinteractivepeople.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  You can check out the <a href="http://www.veryinteractivepeople.com/?cat=4">generative art section</a> of this blog, or <a href="http://www.flickr.com/photos/v-i-p/sets/72157603365248014/">my work on flickr</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=399</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash On The Beach 2O1O</title>
		<link>http://www.veryinteractivepeople.com/?p=344</link>
		<comments>http://www.veryinteractivepeople.com/?p=344#comments</comments>
		<pubDate>Fri, 28 May 2010 08:50:17 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[events]]></category>
		<category><![CDATA[flash/flex/air]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[fotb]]></category>
		<category><![CDATA[generative art]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=344</guid>
		<description><![CDATA[Wonderful news!!! Yesterday I got a confirmation email stating I&#8217;m selected to speak at Flash On The Beach 2010 during the Elevator Pitch session.
FOTB is one of the top events of the year, so I&#8217;m really honoured to have the opportunity to speak there!
Anyway, so much to show, and so little time&#8230; luckily I have [...]]]></description>
			<content:encoded><![CDATA[<p>Wonderful news!!! Yesterday I got a confirmation email stating I&#8217;m selected to speak at <a href="http://www.flashonthebeach.com">Flash On The Beach 2010</a> during the <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=2999">Elevator Pitch session</a>.<br />
FOTB is one of the top events of the year, so I&#8217;m really honoured to have the opportunity to speak there!<br />
Anyway, so much to show, and so little time&#8230; luckily I have 4 months to decide what to show and what not to show <img src='http://www.veryinteractivepeople.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>By the way, if you don&#8217;t have your <a href="http://www.flashonthebeach.com/tickets/index.php?pageid=1901">ticket for FOTB</a> yet, I suggest you get one quickly. It looks like they&#8217;re flying out the door at a steady pace.</p>
<p>See you at FOTB!</p>
<p><a href="http://www.flashonthebeach.com"><img class="aligncenter" title="Flash On The Beach 2010" src="http://www.flashonthebeach.com/images/participate/fotb_logo_400x150.png" alt="" width="400" height="150" /></a></p>
<p><a href="www.flashonthebeach.com"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=344</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brighten or darken colors in actionscript</title>
		<link>http://www.veryinteractivepeople.com/?p=323</link>
		<comments>http://www.veryinteractivepeople.com/?p=323#comments</comments>
		<pubDate>Tue, 04 May 2010 20:23:20 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[flash/flex/air]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=323</guid>
		<description><![CDATA[Some time ago I announced I would be releasing some of my &#8220;viplib&#8221; classes. Here&#8217;s another one:
For my generative art experiments I often need to calculate brighter and/or darker color values based on a certain color. To do this I wrote the following utility:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667//copyright Ward De Langhe
//Very Interactive People
package be.viplib.util
&#123;
&#160; &#160; public class ColorUtil
&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I announced I would be releasing some of my &#8220;viplib&#8221; classes. Here&#8217;s another one:</p>
<p>For my generative art experiments I often need to calculate brighter and/or darker color values based on a certain color. To do this I wrote the following utility:</p>
<div class="codecolorer-container actionscript3 " style="overflow:auto;white-space:nowrap;width:685px;height:450px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br /></div></td><td><div class="actionscript3 codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">//copyright Ward De Langhe</span><br />
<span class="co1">//Very Interactive People</span><br />
<span class="kw4">package</span> be.viplib.util<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">class</span> ColorUtil<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw3">function</span> ColorUtil<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static <span class="kw3">function</span> brightenColor<span class="br0">&#40;</span>hexColor<span class="sy0">:</span><span class="kw5">Number</span>, percent<span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw7">isNaN</span><span class="br0">&#40;</span>percent<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>percent<span class="sy0">&gt;</span><span class="nu0">100</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">100</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>percent<span class="sy0">&lt;</span><span class="nu0">0</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> factor<span class="sy0">:</span><span class="kw5">Number</span>=percent<span class="sy0">/</span><span class="nu0">100</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> rgb<span class="sy0">:</span><span class="kw5">Object</span>=hexToRgb<span class="br0">&#40;</span>hexColor<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.r<span class="sy0">+</span>=<span class="br0">&#40;</span><span class="nu0">255</span><span class="sy0">-</span>rgb.r<span class="br0">&#41;</span><span class="sy0">*</span>factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.<span class="kw7">b</span><span class="sy0">+</span>=<span class="br0">&#40;</span><span class="nu0">255</span><span class="sy0">-</span>rgb.<span class="kw7">b</span><span class="br0">&#41;</span><span class="sy0">*</span>factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.g<span class="sy0">+</span>=<span class="br0">&#40;</span><span class="nu0">255</span><span class="sy0">-</span>rgb.g<span class="br0">&#41;</span><span class="sy0">*</span>factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> rgbToHex<span class="br0">&#40;</span><span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.r<span class="br0">&#41;</span>,<span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.g<span class="br0">&#41;</span>,<span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.<span class="kw7">b</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static <span class="kw3">function</span> darkenColor<span class="br0">&#40;</span>hexColor<span class="sy0">:</span><span class="kw5">Number</span>, percent<span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="kw7">isNaN</span><span class="br0">&#40;</span>percent<span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>percent<span class="sy0">&gt;</span><span class="nu0">100</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">100</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>percent<span class="sy0">&lt;</span><span class="nu0">0</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; percent=<span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> factor<span class="sy0">:</span><span class="kw5">Number</span>=<span class="nu0">1</span><span class="sy0">-</span><span class="br0">&#40;</span>percent<span class="sy0">/</span><span class="nu0">100</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> rgb<span class="sy0">:</span><span class="kw5">Object</span>=hexToRgb<span class="br0">&#40;</span>hexColor<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.r<span class="sy0">*</span>=factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.<span class="kw7">b</span><span class="sy0">*</span>=factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rgb.g<span class="sy0">*</span>=factor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> rgbToHex<span class="br0">&#40;</span><span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.r<span class="br0">&#41;</span>,<span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.g<span class="br0">&#41;</span>,<span class="kw5">Math</span>.<span class="kw7">round</span><span class="br0">&#40;</span>rgb.<span class="kw7">b</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static <span class="kw3">function</span> rgbToHex<span class="br0">&#40;</span>r<span class="sy0">:</span><span class="kw5">Number</span>, g<span class="sy0">:</span><span class="kw5">Number</span>, <span class="kw7">b</span><span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">Number</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span><span class="br0">&#40;</span>r<span class="sy0">&lt;&lt;</span><span class="nu0">16</span> <span class="sy0">|</span> g<span class="sy0">&lt;&lt;</span><span class="nu0">8</span> <span class="sy0">|</span> <span class="kw7">b</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static <span class="kw3">function</span> hexToRgb <span class="br0">&#40;</span>hex<span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">Object</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="br0">&#123;</span>r<span class="sy0">:</span><span class="br0">&#40;</span>hex <span class="sy0">&amp;</span> 0xff0000<span class="br0">&#41;</span> <span class="sy0">&gt;&gt;</span> <span class="nu0">16</span>,g<span class="sy0">:</span><span class="br0">&#40;</span>hex <span class="sy0">&amp;</span> 0x00ff00<span class="br0">&#41;</span> <span class="sy0">&gt;&gt;</span> <span class="nu0">8</span>,<span class="kw7">b</span><span class="sy0">:</span>hex <span class="sy0">&amp;</span> 0x0000ff<span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> static <span class="kw3">function</span> brightness<span class="br0">&#40;</span>hex<span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw5">Number</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="kw7">max</span><span class="sy0">:</span><span class="kw5">Number</span>=<span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> rgb<span class="sy0">:</span><span class="kw5">Object</span>=hexToRgb<span class="br0">&#40;</span>hex<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>rgb.r<span class="sy0">&gt;</span>max<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">max</span>=rgb.r;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>rgb.g<span class="sy0">&gt;</span>max<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">max</span>=rgb.g;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>rgb.b<span class="sy0">&gt;</span>max<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">max</span>=rgb.<span class="kw7">b</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw7">max</span><span class="sy0">/</span>=<span class="nu0">255</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw7">max</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></td></tr></tbody></table></div>
<p>This class splits the hexadecimal color value into its RGB components, and then increases or decreases each component before converting them back to a hex value.</p>
<p>Here&#8217;s a simple example Flex application:</p>
<div class="codecolorer-container actionscript3 " style="overflow:auto;white-space:nowrap;width:685px"><table cellspacing="0" cellpadding="0"><tbody><tr><td class="line-numbers"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br /></div></td><td><div class="actionscript3 codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&lt;</span>mx<span class="sy0">:</span>Application creationComplete=<span class="st0">&quot;init()&quot;</span> <span class="kw7">backgroundColor</span>=<span class="st0">&quot;#FFFFFF&quot;</span> xmlns<span class="sy0">:</span>mx=<span class="st0">&quot;http://www.adobe.com/2006/mxml&quot;</span> layout=<span class="st0">&quot;absolute&quot;</span> <span class="kw7">width</span>=<span class="st0">&quot;300&quot;</span> <span class="kw7">height</span>=<span class="st0">&quot;260&quot;</span> <span class="kw7">borderColor</span>=<span class="st0">&quot;#000000&quot;</span> borderStyle=<span class="st0">&quot;solid&quot;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>Script<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;!</span><span class="br0">&#91;</span>CDATA<span class="br0">&#91;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">import</span> be.viplib.util.ColorUtil;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> <span class="kw7">init</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; colorPicker.selectedColor=0x0000CC;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; selectColor<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">private</span> <span class="kw3">function</span> selectColor<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">:</span><span class="kw1">void</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; brightColors.<span class="kw7">graphics</span>.<span class="kw7">clear</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; darkColors.<span class="kw7">graphics</span>.<span class="kw7">clear</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> hexColor<span class="sy0">:</span><span class="kw5">Number</span>=colorPicker.selectedColor;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="kw2">var</span> i<span class="sy0">:</span><span class="kw5">Number</span>=<span class="nu0">0</span>;i<span class="sy0">&lt;</span><span class="nu0">5</span>;i<span class="sy0">++</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; brightColors.<span class="kw7">graphics</span>.<span class="kw7">beginFill</span><span class="br0">&#40;</span>ColorUtil.brightenColor<span class="br0">&#40;</span>hexColor,i<span class="sy0">*</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; brightColors.<span class="kw7">graphics</span>.<span class="kw7">drawRect</span><span class="br0">&#40;</span>i<span class="sy0">*</span><span class="nu0">50</span>,<span class="nu0">0</span>,<span class="nu0">50</span>,<span class="nu0">60</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; brightColors.<span class="kw7">graphics</span>.<span class="kw7">endFill</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; darkColors.<span class="kw7">graphics</span>.<span class="kw7">beginFill</span><span class="br0">&#40;</span>ColorUtil.darkenColor<span class="br0">&#40;</span>hexColor,i<span class="sy0">*</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; darkColors.<span class="kw7">graphics</span>.<span class="kw7">drawRect</span><span class="br0">&#40;</span>i<span class="sy0">*</span><span class="nu0">50</span>,<span class="nu0">0</span>,<span class="nu0">50</span>,<span class="nu0">60</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; darkColors.<span class="kw7">graphics</span>.<span class="kw7">endFill</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#93;</span><span class="br0">&#93;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; <span class="sy0">&lt;/</span>mx<span class="sy0">:</span>Script<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>VBox <span class="kw7">x</span>=<span class="st0">&quot;0&quot;</span> <span class="kw7">y</span>=<span class="st0">&quot;0&quot;</span> <span class="kw7">width</span>=<span class="st0">&quot;100%&quot;</span> <span class="kw7">height</span>=<span class="st0">&quot;100%&quot;</span> horizontalAlign=<span class="st0">&quot;center&quot;</span> verticalAlign=<span class="st0">&quot;middle&quot;</span> verticalGap=<span class="st0">&quot;10&quot;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>HBox paddingLeft=<span class="st0">&quot;26&quot;</span> <span class="kw7">width</span>=<span class="st0">&quot;100%&quot;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>ColorPicker id=<span class="st0">&quot;colorPicker&quot;</span> <span class="kw7">change</span>=<span class="st0">&quot;selectColor();&quot;</span><span class="sy0">/&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>mx<span class="sy0">:</span>HBox<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>UIComponent id=<span class="st0">&quot;brightColors&quot;</span> <span class="kw7">width</span>=<span class="st0">&quot;250&quot;</span> <span class="kw7">height</span>=<span class="st0">&quot;60&quot;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>mx<span class="sy0">:</span>UIComponent<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>mx<span class="sy0">:</span>UIComponent id=<span class="st0">&quot;darkColors&quot;</span> <span class="kw7">width</span>=<span class="st0">&quot;250&quot;</span> <span class="kw7">height</span>=<span class="st0">&quot;60&quot;</span><span class="sy0">&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>mx<span class="sy0">:</span>UIComponent<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; <span class="sy0">&lt;/</span>mx<span class="sy0">:</span>VBox<span class="sy0">&gt;</span><br />
&nbsp; &nbsp; <br />
<span class="sy0">&lt;/</span>mx<span class="sy0">:</span>Application<span class="sy0">&gt;</span></div></td></tr></tbody></table></div>
<p>Here&#8217;s how this example looks when compiled:</p>
<div align="center">[kml_flashembed movie="/lab/colorutil/ColorFader.swf" height="260" width="300" /]</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=323</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New HDR experiments</title>
		<link>http://www.veryinteractivepeople.com/?p=314</link>
		<comments>http://www.veryinteractivepeople.com/?p=314#comments</comments>
		<pubDate>Tue, 09 Mar 2010 21:57:11 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[photography]]></category>
		<category><![CDATA[HDRi]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=314</guid>
		<description><![CDATA[Recently I replaced my point and shoot photo camera with a DSLR camera. I bought a Canon EOS 500D. I always loved making photo&#8217;s, but never took the time to really get into it. This will change now I have my 500D  
Here are some pictures I took this week in the Ostend harbour [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I replaced my point and shoot photo camera with a DSLR camera. I bought a Canon EOS 500D. I always loved making photo&#8217;s, but never took the time to really get into it. This will change now I have my 500D <img src='http://www.veryinteractivepeople.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Here are some pictures I took this week in the Ostend harbour area:</p>
<p style="text-align: center;">
<a href="http://www.flickr.com/photos/v-i-p/4418096066/"><img title="ostend harbour" src="http://farm3.static.flickr.com/2783/4418096066_ec81559dc0_m.jpg" alt="" width="160" height="240" /> </a><a href="http://www.flickr.com/photos/v-i-p/4415342444/"><img title="ostend" src="http://farm3.static.flickr.com/2507/4415342444_b1c83ab25a_m.jpg" alt="" width="159" height="240" /> </a><a href="http://www.flickr.com/photos/v-i-p/4414558999/"><img title="Ostend" src="http://farm5.static.flickr.com/4067/4414558999_c988de3aaa_m.jpg" alt="" width="160" height="240" /> </a><a href="http://www.flickr.com/photos/v-i-p/4420813434/"><img title="Ostend" src="http://farm3.static.flickr.com/2801/4420813434_9b68aae11e_m.jpg" alt="" width="160" height="240" /></a></p>
<p>These are all multi-exposure HDR images. I used 3 exposures (-2,0,+2) to get these results. I try to keep my HDRi&#8217;s as natural as possible. When I started making HDRi&#8217;s, I made the same mistake most beginners make, and that&#8217;s overprocessing the photo&#8217;s to get that dramatic HDR look. For some reason most HDR enthousiast don&#8217;t mind their final image looks flat, has halo&#8217;s around objects,  etc, as long as it has a &#8220;HDR-look&#8221;.  In my opinion this is not what HDR is about.<br />
Personally I think a good HDR photo is a photo that doesn&#8217;t look like a typical HDR image. So I just use the technique to have perfectly lit photographs, and try to keep away from the dramatic overprocessed look.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=314</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with particles: the Particle Messenger</title>
		<link>http://www.veryinteractivepeople.com/?p=305</link>
		<comments>http://www.veryinteractivepeople.com/?p=305#comments</comments>
		<pubDate>Sat, 06 Mar 2010 20:05:02 +0000</pubDate>
		<dc:creator>Ward De Langhe</dc:creator>
				<category><![CDATA[flash/flex/air]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[particles]]></category>

		<guid isPermaLink="false">http://www.veryinteractivepeople.com/?p=305</guid>
		<description><![CDATA[While exploring the features of the Flint Particle System, I tought it would be cool to surprise my girlfriend with a &#8220;particle message&#8221;. I programmed a Flash module that uses 3500 pixel particles to put messages on the screen.
Once it was finished I decided to put it online, and changed it so you can create [...]]]></description>
			<content:encoded><![CDATA[<p>While exploring the features of the <a href="http://flintparticles.org/">Flint Particle System</a>, I tought it would be cool to surprise my girlfriend with a &#8220;particle message&#8221;. I programmed a Flash module that uses 3500 pixel particles to put messages on the screen.<br />
Once it was finished I decided to put it online, and changed it so you can create your own messages using a simple form.<br />
You can see the application here: <a href="http://www.veryinteractivepeople.com/lab/particlemessenger">http://www.veryinteractivepeople.com/lab/particlemessenger</a></p>
<p style="text-align: center;"><a href="http://www.veryinteractivepeople.com/lab/particlemessenger"><img class="aligncenter" title="Particle Messenger" src="http://farm5.static.flickr.com/4025/4411833558_92f1448217_m.jpg" alt="" width="240" height="58" /></a></p>
<p>In the bottom left corner there&#8217;s a button called &#8220;create your own&#8221;, if you click that button a form will be presented that allows you to create your own messages. You can then share these messages on facebook, or just copy the message link and send it to your friends.</p>
<p>If anyone wants to use this on a website, or as part of a viral ad campaign, please contact me.</p>
<p>Here are some example messages:</p>
<p><a href="http://www.veryinteractivepeople.com/lab/particlemessenger/?o=true&amp;message=i,♥,QRSUiDNFm">http://www.veryinteractivepeople.com/lab/particlemessenger/?o=true&amp;message=i,♥,QRSUiDNFm</a> (I love particles)</p>
<p><a href="http://www.veryinteractivepeople.com/lab/particlemessenger/?o=true&amp;message=HNiOU,SPDLm">http://www.veryinteractivepeople.com/lab/particlemessenger/?o=true&amp;message=HNiOU,SPDLm</a> (Flint rocks)</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.veryinteractivepeople.com/?feed=rss2&amp;p=305</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
