<?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>metal &#38; gin &#187; generated</title>
	<atom:link href="http://blog.craig-mackenzie.com/tag/generated/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.craig-mackenzie.com</link>
	<description>(a weblog by craig t mackenzie)</description>
	<lastBuildDate>Thu, 19 Mar 2009 20:56:55 +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>Pixel Path: Take 2</title>
		<link>http://blog.craig-mackenzie.com/2008/03/29/pixel-path-take-2/</link>
		<comments>http://blog.craig-mackenzie.com/2008/03/29/pixel-path-take-2/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 21:54:41 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[i am geek]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[generated]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2008/03/29/pixel-path-take-2/</guid>
		<description><![CDATA[
Following on from my previous experiments with generative art and processing I decided to elaborate on my code and introduce more complex shape generation. I knew I wanted to introduce 3D and alpha blending, as well as refining the curves used to generate the lines. 
A Beautiful Mistake
After getting my head around the 3D space [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/stuff/processing/processing-29-march-08/title.jpg" width="625" height="150" alt="Title" /></p>
<p>Following on from my <a href="http://blog.craig-mackenzie.com/2008/02/25/pixel-path-my-preliminary-steps-into-generative-art/" title="metal &amp; gin &raquo; Pixel Path: my preliminary steps into generative art">previous experiments</a> with generative art and processing I decided to elaborate on my code and introduce more complex shape generation. I knew I wanted to introduce 3D and alpha blending, as well as refining the curves used to generate the lines. </p>
<h2>A Beautiful Mistake</h2>
<p>After getting my head around the 3D space and doing some rudimentary experiments I was ready to port my existing code into this new 3D world. I started playing some more with the brilliant <a href="http://www.cise.ufl.edu/~kdamkjer/processing/libraries/ocd/" title="Obsessive Camera Direction">OCD Library</a> and had something I was kind of happy with.</p>
<p>At some point in tweaking and playing with the code I must have removed the line <code>background(0);</code> and (naturally) the screen was never cleared. What this produced when left to run for about 2000 frames was stunning.
</p>
<h2>The Result</h2>
<p>So here they are, my beautiful mistakes generated by taking an image, getting a random pixel, positioning it randomly in 3d space then connecting an arbitrary amount of other random points to this point with bezier curves. The frame buffer is never cleared and the image are let to build up over thousands of frames.</p>
<p><span id="more-64"></span></p>
<p>Simply click on a thumbnail to view the enlarged version or you can view larger images on <a href="http://flickr.com/photos/craigtmackenzie/sets/72157604304432493/" title="Pixel Path: Take 2 - a photoset on Flickr">my flickr account</a> or my <a href="http://blog.craig-mackenzie.com/stuff/processing/gallery/bezier-curve-form.html" onclick="window.open(this.href,null, 'width=1300,height=740,status=yes,toolbar=no,menubar=no,location=no'); return false;">HD gallery</a>.</p>
<div>
<ul class="zoom-gallery">
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-001.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-001.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-002.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-002.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-003.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-003.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-004.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-004.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-005.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-005.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-006.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-006.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-007.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-007.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-008.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-008.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-009.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-009.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-010.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-010.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-011.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-011.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-012.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-012.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-013.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-013.jpg" width="150" height="130" /></a></li>
<li><a href="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/SD/creatures-014.jpg"><img src="/stuff/processing/processing-29-march-08/gallery/images/beziercurve/thumb/creatures-014.jpg" width="150" height="130" /></a></li>
</ul>
<div class="clear"></div>
</div>
<h2>Now in Moving Picture&trade; format!</h2>
<p>I&#8217;ve also got a couple of videos of the images being generated. The low-res previews which vimeo outputs don&#8217;t really do it justice, but at least you can view it in HD on vimeo (which you can&#8217;t with you tube.)</p>
<div class="video-wrap vimeo">
  <object type="application/x-shockwave-flash" width="624" height="351" data="http://www.vimeo.com/moogaloop.swf?clip_id=783154&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=783154 &amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef" /></object><br />
    <br />
    <a href="http://www.vimeo.com/783154/l:embed_783154">view this in HD (which is highly recommended)</a>
</div>
<p></p>
<div class="video-wrap vimeo">
  <object type="application/x-shockwave-flash" width="624" height="351" data="http://www.vimeo.com/moogaloop.swf?clip_id=783249&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=783249 &amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef" /></object><br />
    <br />
    <a href="http://www.vimeo.com/783249/l:embed_783249">view this in HD (which is highly recommended)</a>
</div>
<p></p>
<h2>Now with a Z axis!</h2>
<p>My next step is to try and generate these images in true 3D form, with camera control and give the whole thing a sense of depth. This is my first attempt.</p>
<div class="video-wrap vimeo">
  <object type="application/x-shockwave-flash" width="624" height="351" data="http://www.vimeo.com/moogaloop.swf?clip_id=837947&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef"><param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=837947 &amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00adef" /></object><br />
    <br />
    <a href="http://www.vimeo.com/837947/l:embed_837947">view this in HD (which is highly recommended)</a>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2008/03/29/pixel-path-take-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pixel Path: my preliminary steps into generative art</title>
		<link>http://blog.craig-mackenzie.com/2008/02/25/pixel-path-my-preliminary-steps-into-generative-art/</link>
		<comments>http://blog.craig-mackenzie.com/2008/02/25/pixel-path-my-preliminary-steps-into-generative-art/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 06:03:20 +0000</pubDate>
		<dc:creator>craig mackenzie</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[i am geek]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[generated]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://blog.craig-mackenzie.com/2008/02/25/pixel-path-my-preliminary-steps-into-generative-art/</guid>
		<description><![CDATA[

	I first discovered Processing in the summer of 2005. I downloaded the source code, had a play around with it and decided it wasn&#8217;t going to be worth me learning it. At the time I was very much design oriented in my endeavors and although I knew vaguely what the capabilities of Processing were, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/stuff/processing/generative-art-25-feb-08/title.jpg" /></p>
<p>
	I first discovered <a href="http://processing.org/">Processing</a> in the summer of 2005. I downloaded the source code, had a play around with it and decided it wasn&#8217;t going to be worth me learning it. At the time I was very much design oriented in my endeavors and although I knew vaguely what the capabilities of Processing were, it&#8217;s lack of a substantial IDE or drawing tools made it no competitor to my main focus at the time: Flash.
</p>
<h2>Rediscovery <span class="amp">&amp;</span> Inspiration</h2>
<p>
	Fast forward 3 years and I&#8217;m now a developer, a code junkie, a command-line ninja. Although I sometimes miss the creativity that you get with design, I still love the <em>art</em> of writing code. I want the excitement of motion, interaction and form but also want the <em>challenge</em> of writing elegant software&#8230; I&#8217;d been thinking about re-visiting processing for a long time, hopefully it would satisfy these needs. I often kept an eye on the likes of <a href="http://www.number27.org/">Jonathan Harris</a> &amp; <a href="http://www.flight404.com/">Flight 404</a> to see what they were up to, and was always inspired by the cool things these guys were doing with processing + generative art in general.
</p>
<p>
	It was when a guy at work, <a href="http://www.davidstanden.com">David Standen</a> started going on about processing, and his love for it that I thought &#8220;maybe i should look at this again&#8221;. I am after all now a programmer, and Processing is a DSL around Java, so why not learn it? I downloaded the latest version and started playing around&#8230;
</p>
<p><span id="more-63"></span></p>
<h2>Enter Pixel Path</h2>
<p>
	I wanted something different, I ignored &#8220;good code&#8221; and went straight for the fun and creative, something non-interactive maybe. So what to do? I&#8217;ve always been really annoyed by the fact that I can&#8217;t really draw very well and I&#8217;ve never painted a picture in my life, so I decided to try and create some software that would create gorgeous looking &#8220;things&#8221;. Generative Art.
</p>
<p>
	Inspired by <a href="http://www.davidstanden.com/blog/?p=19">this post</a> I set about creating what would later become known as &#8220;Pixel Path&#8221;. The idea was simple, to analyze a given image, pixel by pixel and map every pixel to all other pixels of the same colour. Pixels would be identified by a dot and connected by lines, hopefully creating a sense of depth, texture and form.
</p>
<h2>Version 1 &#8211; Moss</h2>
<p>
	The first version is based on a macro shot of a leaf, it maps every 100th pixel to up to another 100 pixels of identical colour. (Galleries each have 5 parts, use the thumbnails to scroll through them all.)
</p>
<p>
	Total Pixels: <strong>1,296,000</strong> | Analyzed: <strong>12,960</strong> | Paths: <strong>1,296,000</strong>
</p>
<div class="scroll-gallery">
  <span>p1 &#8211; Moss</span></p>
<div class="gal-main" style="height:375px;">
<div id="moss-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p1-moss-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p1-moss-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p1-moss-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p1-moss-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p1-moss-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('moss-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p1-moss-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('moss-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p1-moss-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('moss-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p1-moss-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('moss-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p1-moss-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('moss-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p1-moss-05_tn.jpg" /></a></li>
</ul>
<p>      <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
      
</div>
<h2>Version 2 &#8211; Skin</h2>
<p>
	In the second version I tweaked the algorithms to introduce more depth, points are rendered at 80% opacity and paths at 20%. The amount of pixels to be analyzed was also reduced to every 3500th, but the mapping limit increased to 1000 paths. The reference image was a macro shot of a group of feathers.
</p>
<p>
	Total Pixels: <strong>1,296,000</strong> | Analyzed: <strong>370</strong> | Paths: <strong>370,000</strong>
</p>
<div class="scroll-gallery">
  <span>p2 &#8211; Skin</span></p>
<div class="gal-main" style="height:375px;">
<div id="skin-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p2-skin-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p2-skin-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p2-skin-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p2-skin-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p2-skin-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('skin-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p2-skin-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('skin-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p2-skin-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('skin-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p2-skin-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('skin-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p2-skin-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('skin-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p2-skin-05_tn.jpg" /></a></li>
</ul>
<p>  <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
  
</div>
<h2>Version 3 &#8211; Paprika</h2>
<p>
	The third version used bezier curves to draw the paths with control points offset against the difference between the reference and target pixel. Every 850th pixel was analyzed up to 100 paths. The reference pixels in this version were distinguished with near 100% opacity. The image used was that of a red rose petal.
</p>
<p>
	Total Pixels: <strong>1,296,000</strong> | Analyzed: <strong>1,524</strong> | Paths: <strong>152,400</strong>
</p>
<div class="scroll-gallery">
  <span>p3 &#8211; Paprika</span></p>
<div class="gal-main" style="height:375px;">
<div id="paprika-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p3-paprika-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p3-paprika-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p3-paprika-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p3-paprika-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p3-paprika-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('paprika-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p3-paprika-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('paprika-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p3-paprika-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('paprika-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p3-paprika-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('paprika-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p3-paprika-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('paprika-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p3-paprika-05_tn.jpg" /></a></li>
</ul>
<p>  <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
  
</div>
<h2>Version 4 &#8211; Rose</h2>
<p>
	For version 4 I abandoned the dots for marking pixels, and instead relied on just the paths. The bezier curves were tweaked slightly to create smoother lines and only every 250th pixel was analyzed, up to 100 paths. The reference image was another rose petal, in pink.
</p>
<p>
	Total Pixels: <strong>1,296,000</strong> | Analyzed: <strong>5,184</strong> | Paths: <strong>518,400</strong>
</p>
<div class="scroll-gallery">
  <span>p4 &#8211; Rose</span></p>
<div class="gal-main" style="height:375px;">
<div id="rose-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p4-rose-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p4-rose-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p4-rose-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p4-rose-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p4-rose-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('rose-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p4-rose-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('rose-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p4-rose-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('rose-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p4-rose-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('rose-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p4-rose-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('rose-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p4-rose-05_tn.jpg" /></a></li>
</ul>
<p>  <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
  
</div>
<h2>Version 5 &#8211; White</h2>
<p>
	Version 5 was a slight departure from the norm, I inverted the canvas colour and this time decided to map the reference pixel to it&#8217;s first match, then all other matches to the next match (creating a flowing path) This version also draws two sets of paths for every match, one straight and one curved. Opacities were also massively reduced to only 5% and analyzed pixels increased to every 900th for up to 1000 paths. The first reference image was a different set of feathers and the second a forest scene.
</p>
<p>
	Total Pixels: <strong>1,296,000</strong> | Analyzed: <strong>1,440</strong> | Paths: <strong>1,440,000</strong>
</p>
<div class="scroll-gallery">
  <span>p5 &#8211; White</span></p>
<div class="gal-main" style="height:375px;">
<div id="white-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-white-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-white-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-white-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-white-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-white-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('white-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-white-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('white-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-white-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('white-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-white-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('white-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-white-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('white-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-white-05_tn.jpg" /></a></li>
</ul>
<p>  <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
  
</div>
<h2>Version 5 &#8211; Forest</h2>
<div class="scroll-gallery">
  <span>p5 &#8211; Forest</span></p>
<div class="gal-main" style="height:375px;">
<div id="forest-container">
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-forest-01_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-forest-02_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-forest-03_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-forest-04_web.jpg" /><br />
      <img src="/stuff/processing/generative-art-25-feb-08/web/p5-forest-05_web.jpg" />
    </div>
</p></div>
<ul>
<li><a href="#" onclick="scrollGallery('forest-container',0); return false;"    title="part 1"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-forest-01_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('forest-container',375); return false;"  title="part 2"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-forest-02_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('forest-container',750); return false;"  title="part 3"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-forest-03_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('forest-container',1125); return false;" title="part 4"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-forest-04_tn.jpg" /></a></li>
<li><a href="#" onclick="scrollGallery('forest-container',1500); return false;" title="part 5"><img src="/stuff/processing/generative-art-25-feb-08/thumb/p5-forest-05_tn.jpg" /></a></li>
</ul>
<p>  <span class="flickr-link"><a href="http://www.flickr.com/photos/craigtmackenzie/sets/72157603983153085/" title="Pixel Path - a photoset on Flickr">view larger on flickr</a></span><br />
  
</div>
<h2>Next Steps</h2>
<ul>
<li>Introduce an element of randomness.</li>
<li>Experiment with noise.</li>
<li>Experiment with blending.</li>
<li>Introduce the z-axis.</li>
<li>Try using particles to generate &#8220;ink splats&#8221;.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.craig-mackenzie.com/2008/02/25/pixel-path-my-preliminary-steps-into-generative-art/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
