<?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>julapy &#187; openframeworks</title>
	<atom:link href="http://www.julapy.com/blog/category/openframeworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.julapy.com/blog</link>
	<description>surfing on sine waves</description>
	<lastBuildDate>Thu, 05 Jan 2012 10:42:08 +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>heineken clubhouse</title>
		<link>http://www.julapy.com/blog/2011/11/09/heineken-clubhouse/</link>
		<comments>http://www.julapy.com/blog/2011/11/09/heineken-clubhouse/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 11:52:11 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[ios]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=925</guid>
		<description><![CDATA[recently i was involved on a interesting project for Heineken which involved building a iPhone app for the 2011 Rugby World Cup. the project was headed by Holler Sydney. myself and Nathan de Vries joined the team to do the iphone build. part of the app was to create a interactive 3d game that allowed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/6327979105/" title="heineken clubhouse by julapy, on Flickr"><img src="http://farm7.static.flickr.com/6058/6327979105_978042a9a2_o.jpg" width="548" height="485" alt="heineken clubhouse"></a></p>
<p>recently i was involved on a interesting project for Heineken which involved building a iPhone app for the 2011 Rugby World Cup. the project was headed by <a href="http://www.facebook.com/hollersydney" target="_blank">Holler Sydney</a>. myself and <a href="http://atnan.com/" title="atnan" target="_blank">Nathan de Vries</a> joined the team to do the iphone build. part of the app was to create a interactive 3d game that allowed user to take live kicks as they were being taken in the actual world cup. in this blog post i wanted to concentrate just on the live kick game and go into some technical detail about the making of.</p>
<p><span id="more-925"></span></p>
<p><a href="http://www.flickr.com/photos/julapy/6324825021/" title="heineken_clubhouse_iphone by julapy, on Flickr"><img src="http://farm7.static.flickr.com/6101/6324825021_5257194ff2_z.jpg" width="427" height="640" alt="heineken_clubhouse_iphone"></a></p>
<p>first of all, please download the app and have a play!<br />
here is a link to the <a href="http://itunes.apple.com/au/app/heineken-rugby-clubhouse/id450375998?mt=8" target="_blank">Heineken Clubhouse on the iTunes store</a>.</p>
<p>the live kick game was built using a collection of open source libraries and frameworks, most notably using <a href="http://openframeworks.cc" target="_blank">openframeworks</a>. in the past ive used openframeworks for a couple iphone and ipad releases (<a href="http://www.creativeapplications.net/iphone/horizons-iphone-ipad-of/" target="_blank">horizons</a> and <a href="http://itunes.apple.com/au/app/haeckel-clock/id430991673?mt=8" target="_blank">haeckel clock</a>) and the nice thing was that OF sets up a EAGLView for you by default and you just have to worry about drawing your graphics/animations. its great for getting OF apps running quickly on the iphone but for the heineken project i needed to build a native iphone app and somehow get openframeworks working inside and be able to create and destroy instances of the game. this took a bit of hacking and essentially i ended up with a very bare bones version of openframeworks with only its openGL functionality (ofGraphics, ofTexture etc). i even removed ofImage and loaded images using UIImage before converting them to ofTexture to be used inside the game. this meant i had a very light version of openframeworks with minimal dependencies and still have access to the great openGL code that OF abstracts.</p>
<p>the game uses some nice stadium models and baked textured which were created by a 3d designer. it was crucial that the scale and size of the models was exactly the same as used inside of the game. you can imagine the game working with boxes and flat planes to describe the 3d environment and the model is the final decorative layer placed on top to make the whole thing look real. it took a bit of trial and error getting the models to work and eventually i ended up going with the .obj format for the simple reason that it was the only one i could get to work! i converted the .obj models into static arrays of vertices, texture coordinates and normals using this <a href="http://heikobehrens.net/2009/08/27/obj2opengl/" title="obj2opengl" target="_blank">obj2opengl script</a>.</p>
<p>the 3d physics in the game was achieved using <a href="http://bulletphysics.org/wordpress/" title="bulletphysics" target="_blank">bullet physics</a> library. it was my first venture in 3d physics land and it was a little daunting but i managed to get some of the basic examples running and from there it was just a matter of getting familiar with the library. it is very comprehensive and has been used in 3d films like Shrek and Megamind, so initially i associated it with being a chunky and processor intensive library although as i found out, its very modular and handles simple geometry pretty well on the iphone. i ended up using a single infinite plane for the game field, three boxes for the goal posts and the ball was generated as a 3d convex hull shape generated from the vertices of its model (done by some handy functions inside the bullet physics lib). adding these elements into the physics simulation i was able to kick the ball by apply a force to it and bullet handled the ball bouncing and obstacle collision with the goal posts.</p>
<p>the game design required some nice dynamic font rendering using drop shadows and strokes which was beyond the simple font support in OF. these effects had to be done natively and overlaid the 3d game. having semi transparent text over the EAGLView came with no performance penalty which was good despite reading reports that this could slow things down but i assume this has been addressed with newer iphones.</p>
<p>lastly, couple cool opengl tricks ive learnt on this project were <a href="http://www.flipcode.com/archives/Advanced_OpenGL_Texture_Mapping.shtml" title="mip mapping" target="_blank">mip mapping</a> and <a href="http://www.cs.auckland.ac.nz/~jvan006/multitex/multitex.html" target="_blank">multitexturing</a>. mip mapping came in very handy when rendering the grass texture on the field. it basically means that textures further away from the camera are seen as a bit more blurry, removing the flickering and noise you&#8217;d otherwise see when using high resolution textures on small models. multitexturing allows for adding multiple textures onto the one plane with the added option of blending the textures in various ways. this can be seen again on the grass field texture where first the grass texture is drawn and then the field lines as another texture on top.</p>
<p>if you have any other questions about the app, please post below and i&#8217;ll do my best to answer them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/11/09/heineken-clubhouse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>meta</title>
		<link>http://www.julapy.com/blog/2011/10/22/meta/</link>
		<comments>http://www.julapy.com/blog/2011/10/22/meta/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 04:32:06 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=913</guid>
		<description><![CDATA[beginning to explore volumetic rendering using marching cubes and in the process creating some 3d metaball gif loops. made in openframeworks using ofxMarchingCubes and ofxDither.]]></description>
			<content:encoded><![CDATA[<p><a href="http://julapy.com/1bpp/meta/meta_02.gif" target="_blank"><img src="http://julapy.com/1bpp/meta/meta_02.gif" alt="meta" /></a></p>
<p>beginning to explore volumetic rendering using marching cubes and in the process creating some 3d metaball gif loops. made in openframeworks using <a href="http://forum.openframeworks.cc/index.php?topic=2921.0" title="ofxMarchingCubes" target="_blank">ofxMarchingCubes</a> and <a href="https://github.com/julapy/ofxDither" title="ofxDither" target="_blank">ofxDither</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/10/22/meta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>friends</title>
		<link>http://www.julapy.com/blog/2011/09/30/friends/</link>
		<comments>http://www.julapy.com/blog/2011/09/30/friends/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 14:27:10 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=903</guid>
		<description><![CDATA[this is a animated gif piece i contributed for the fa-g.org group show. the theme of the exhibition is FRIENDS.]]></description>
			<content:encoded><![CDATA[<p><a href="http://fa-g.org/ggs-friends" target="_blank"><img src="http://julapy.com/1bpp/friends/bff_fa-g.gif" alt="bff" /></a></p>
<p>this is a animated gif piece i contributed for the <a href="http://fa-g.org/" target="_blank">fa-g.org</a> group show. the theme of the exhibition is FRIENDS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/09/30/friends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>holograph @ lofi gallery</title>
		<link>http://www.julapy.com/blog/2011/08/24/holograph-lofi-gallery/</link>
		<comments>http://www.julapy.com/blog/2011/08/24/holograph-lofi-gallery/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 12:49:03 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=864</guid>
		<description><![CDATA[recently ive joined forces with a group of artists of various talents, running our new and exciting operation from the headquarters of toby and pete [ http://tobyandpete.com ]. just before we all came together, toby, pete and esjay had already been planning to hold an exhibition at lofi gallery, titled &#8216;pretty ugly&#8217; and so a [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/26675292?byline=0&amp;portrait=0&amp;color=ff0179" width="500" height="375" frameborder="0"></iframe></p>
<p><span id="more-864"></span></p>
<p>recently ive joined forces with a group of artists of various talents, running our new and exciting operation from the headquarters of <a href="http://tobyandpete.com/" target="_blank">toby and pete [ http://tobyandpete.com ]</a>. just before we all came together, toby, pete and <a href="http://www.esjaydesign.com/" target="_blank">esjay</a> had already been planning to hold an exhibition at <a href="http://www.wearelofi.com.au/collective/" target="_blank">lofi gallery</a>, titled &#8216;pretty ugly&#8217; and so a bunch of us from the collective tagged along and contributed with some new work.</p>
<p>toby and i decided to collaborate on a audio-visual piece for the show, toby creating some very dark and brooding electronica while i created generative visuals which were projected onto one of the gallery walls. having our laptops hooked up and talking over OSC, toby ran his music live using ableton and fired out audio triggers when certain samples were played. i also analysed the live audio spectrum and had that hooked up to the visuals as a second interactive input.</p>
<p>other work at the exhibition featured print, stencil, video, wood carving and a giant neon gallows!<br />
more pics and documentation here >>> <a href="http://prettyuglylofi.tumblr.com/" target="_blank">http://prettyuglylofi.tumblr.com</a></p>
<p><a href="http://www.flickr.com/photos/julapy/6075841561/" title="pretty ugly exhibition @ lofi gallery by julapy, on Flickr"><img src="http://farm7.static.flickr.com/6088/6075841561_cc82cf7bff.jpg" width="373" height="500" alt="pretty ugly exhibition @ lofi gallery"></a></p>
<p><a href="http://www.flickr.com/photos/julapy/6076376994/" title="pretty ugly exhibition @ lofi gallery by julapy, on Flickr"><img src="http://farm7.static.flickr.com/6076/6076376994_0f41eb7f9a.jpg" width="500" height="374" alt="pretty ugly exhibition @ lofi gallery"></a></p>
<p><a href="http://www.flickr.com/photos/julapy/6075840311/" title="pretty ugly exhibition @ lofi gallery by julapy, on Flickr"><img src="http://farm7.static.flickr.com/6075/6075840311_d31a765d90.jpg" width="373" height="500" alt="pretty ugly exhibition @ lofi gallery"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/08/24/holograph-lofi-gallery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>haeckel clock</title>
		<link>http://www.julapy.com/blog/2011/05/06/haeckel-clock/</link>
		<comments>http://www.julapy.com/blog/2011/05/06/haeckel-clock/#comments</comments>
		<pubDate>Thu, 05 May 2011 14:59:01 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=840</guid>
		<description><![CDATA[haeckel clock is a interactive clock app for the iPad inspired by the work of Ernst Haeckel, a famous biologist and artist. the clock elements which represent the time are based on radiolarians, a group of single celled organisms which were often the focus of haeckel&#8217;s studies and his intricate illustrations. the haeckel clock shows [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/5473620012/" title="haeckel clock by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5019/5473620012_d692cebfff.jpg" width="500" height="375" alt="haeckel clock"></a></p>
<p><span id="more-840"></span></p>
<p><a href="http://www.flickr.com/photos/julapy/5473023727/" title="haeckel clock by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5179/5473023727_a5d8a2a7c4.jpg" width="500" height="375" alt="haeckel clock"></a></p>
<p><iframe src="http://player.vimeo.com/video/23687352?title=0&amp;byline=0&amp;portrait=0&amp;color=ff0179" width="500" height="375" frameborder="0"></iframe></p>
<p>haeckel clock is a interactive clock app for the iPad inspired by the work of <a href="http://en.wikipedia.org/wiki/Ernst_Haeckel" target="_blank">Ernst Haeckel</a>, a famous biologist and artist. the clock elements which represent the time are based on radiolarians, a group of single celled organisms which were often the focus of haeckel&#8217;s studies and his intricate illustrations.</p>
<p>the haeckel clock shows the time in two different modes which the user can toggle between by double tapping on the screen. the first mode arranges the units of time into a circular nucleus where the digits of the current time are pulled into the center while the unused digits orbit around the nucleus. as the seconds tick by the digits rearrange themselves in a kind of evolutionary dance, creating a unique and generative representation of time. the second mode is a little more self explanatory and shows the digits arranged into columns. the digits of the current time stack up in columns above the number which they represent while the unused digits stay afloat at the top of the screen.</p>
<p>the clock was developed using <a href="http://openframeworks.cc/" target="_blank">openframeworks</a> and <a href="https://github.com/vanderlin/ofxBox2d" target="_blank">box2d</a> (a popular 2d physics library). each digit is interactive so you can grab it and flick it around which i think makes for a fun and tactile experience. once the user releases a digit it quickly springs back to its resting position and helps keep the clock elements in order. the iPad accelerometer is also used to add extra motion to the digits by swaying them in the tilt direction.</p>
<p>the haeckel clock was created in collab with the clever kids @ <a href="http://hollersydney.com.au/" target="_blank">holler sydney</a></p>
<p><a href="http://itunes.apple.com/mg/app/haeckel-clock/id430991673?mt=8" target="_blank"><img src="http://www.julapy.com/blog/wp-content/uploads/2011/05/app_store_link.png" alt="" title="app_store_link" width="300" height="104" class="alignnone size-full wp-image-851" /></a></p>
<p></br></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/05/06/haeckel-clock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>nawlz effects</title>
		<link>http://www.julapy.com/blog/2011/05/05/nawlz-effects/</link>
		<comments>http://www.julapy.com/blog/2011/05/05/nawlz-effects/#comments</comments>
		<pubDate>Thu, 05 May 2011 13:11:57 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[ios]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=826</guid>
		<description><![CDATA[nawlz is a online interactive comic created by stu campbell which he has been running for a number of years. recently stu has undertaken a bold task of taking the online flash comic and porting it over to the iPad. being a massive fan of nawlz for some time, i was thrilled when stu got [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/5599366858/" title="nawlz_effects by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5222/5599366858_315801c859.jpg" width="500" height="375" alt="nawlz_effects"></a></p>
<p><span id="more-826"></span></p>
<p><a href="http://nawlz.com/" target="_blank">nawlz</a> is a online interactive comic created by stu campbell which he has been running for a number of years. recently stu has undertaken a bold task of taking the online flash comic and porting it over to the iPad. being a massive fan of nawlz for some time, i was thrilled when stu got in touch with me to collaborate on interactive visual effects for the comic. you can download the effects below and get a sneak peek at whats to come for the iPad release.</p>
<p><a href="http://www.julapy.com/nawlz/NawlzEffects.zip">DOWNLOAD [MAC OSX]</a></p>
<p>the majority of the effects use <a href="http://www.msavisuals.com/msafluid" target="_blank">MSAFluid</a> library for simulating 2-dimensional fluid forces which are applied to particles released on the screen. the particles are steered by the vector field from the fluid simulation but also move around randomly using <a href="http://www.shiffman.net/itp/classes/nature/week06_s09/wander/" target="_blank">shiffman&#8217;s wander algorithm</a>. the fluid forces are also used to distort texture meshes as seen in the first whale example.</p>
<p><a href="http://julapy.com/nawlz/nawlz_effects_src.zip">[SOURCE CODE]</a></p>
<p>ive made the source code open and it can be downloaded above.<br />
you will need to run the code inside of <a href="http://www.openframeworks.cc/" target="_blank">openframeworks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/05/05/nawlz-effects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ofxDither</title>
		<link>http://www.julapy.com/blog/2011/03/09/ofxdither/</link>
		<comments>http://www.julapy.com/blog/2011/03/09/ofxdither/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 13:14:31 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[opengl]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=773</guid>
		<description><![CDATA[<a href="http://www.flickr.com/photos/julapy/5502934438/" target="_blank"><img src="http://www.julapy.com/1bpp/dither_triangles_04_500x500.gif" alt="dither triangles" /></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/5502934438/" target="_blank"><img src="http://www.julapy.com/1bpp/dither_triangles_04_500x500.gif" alt="dither triangles" /></a></p>
<p><span id="more-773"></span></p>
<p>lately ive been fascinated with gif animations that ive seen popping up online which employ tiny colour palettes, mostly just black and white, and use <a href="http://en.wikipedia.org/wiki/Dither" target="_blank">dithering</a> as a technique of creating the appearance of more colours being used then there actually are. in particular ive been enjoying the work of <a href="http://francoisegamma.computersclub.org/" target="_blank">francoise gamma</a> from the <a href="http://computersclub.org/" target="_blank">computers club</a> net art collective. its a lovely blend of highly detailed 3d animations but then rendered down into a old low-fidelity format you&#8217;d more likely see on a old <a href="http://en.wikipedia.org/wiki/Macintosh_SE/30" target="_blank">Apple SE/30</a> then a modern computer.</p>
<p><a href="http://www.flickr.com/photos/julapy/5485822432/" target="_blank"><img src="http://www.julapy.com/1bpp/dither_circles_500x500.gif" alt="dither circles" /></a></p>
<p>there are a few different methods for dithering a image, <a href="http://en.wikipedia.org/wiki/Ordered_dithering" target="_blank">ordered dithering</a> of which has to be my favourite purely for its structured, crosshatch aesthetic. the appeal for the pattern is probably the result of endless hours playing early games like <a href="http://en.wikipedia.org/wiki/Monkey_Island_%28series%29" target="_blank">monkey island</a> and <a href="http://en.wikipedia.org/wiki/Space_Quest" target="_blank">space quest</a> and now its permanently etched into my visual cortex.</p>
<p><a href="http://www.flickr.com/photos/julapy/5490868135/" target="_blank"><img src="http://www.julapy.com/1bpp/dither_field_500x500.gif" alt="dither field" /></a></p>
<p>i put together a <a href="https://github.com/julapy/ofxDither" target="_blank">ofxDither</a> addon which is now on github. at the moment the addon supports <a href="http://en.wikipedia.org/wiki/Ordered_dithering" target="_blank">ordered</a>, <a href="http://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering" target="_blank">floyd–steinberg</a> and atkinson dithering algorithms. i had some help from <a href="http://www.jesusgollonet.com/blog/" target="_blank">jesús gollonet</a> whos also done some experiments with dithering in openFrameworks. his addon <a href="https://github.com/jesusgollonet/ofxHalftoner" target="_blank">ofxHalftoner</a> is also on github.</p>
<p><a href="http://www.flickr.com/photos/julapy/5491348743/" target="_blank"><img src="http://www.julapy.com/1bpp/dither_bars_500x500.gif" alt="dither bars" /></a></p>
<p>the aim while exploring these dithering algorithms was to create 1-bit gif loops, one a day for a week. i got up to four and then some other work got in the way and spoiled the plan but it was good to work on short generative animations instead of usually spending days on trying to create more complex visual effects. ive included the code for these gifs which you can <a href="http://www.julapy.com/source/110309_dither_examples.zip">download here</a>. there are three examples which you can swap out in the main.cpp file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/03/09/ofxdither/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>powerhouse ecologic exhibition</title>
		<link>http://www.julapy.com/blog/2011/02/24/powerhouse-ecologic-exhibition/</link>
		<comments>http://www.julapy.com/blog/2011/02/24/powerhouse-ecologic-exhibition/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 14:28:39 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=713</guid>
		<description><![CDATA[ecologic exhibition at the powerhouse museum is a look at the science behind climate change. it comprises of several interactive, one of which, a interactive weather map, i was involved in creating together with alex christian on design. the idea behind the interactive weather map was to allow participants to explore the last 100 years [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/22878786?title=0&amp;byline=0&amp;portrait=0&amp;color=ff0179" width="500" height="281" frameborder="0"></iframe></p>
<p><span id="more-713"></span></p>
<p><a href="http://www.powerhousemuseum.com/exhibitions/ecologic.php" target="_blank">ecologic exhibition</a> at the <a href="http://www.powerhousemuseum.com/" target="_blank">powerhouse museum</a> is a look at the science behind climate change. it comprises of several interactive, one of which, a interactive weather map, i was involved in creating together with <a href="http://folio.alexchristian.com/" target="_blank">alex christian</a> on design.</p>
<p>the idea behind the interactive weather map was to allow participants to explore the last 100 years of the australian climate, visualising the change in temperature, rainfall, la nina / el nino, and showing when and where extreme climatic events have occurred. the climate data was provided by the <a href="http://www.bom.gov.au/" target="_blank">bureau of meteorology (BOM)</a> who were amazingly helpful with lending their knowledge and resources. they were also very keen on the interactive as temperate, rainfall and el nino patterns have never been mapped out together in the one visualisations and they were curious to see what visual results the interactive would reveal.</p>
<p><a href="http://www.flickr.com/photos/julapy/5470462429/" title="bom_weather_table_02 by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5215/5470462429_2d0bf3e141.jpg" width="500" height="281" alt="bom_weather_table_02" /></a></p>
<p>the UI was designed with simplicity in mind as we wanted the user to be able to intuitively browse the weather data. the timeline is the main interactive element which when dragged will take the user to a particular year for which they can view the temperature and rainfall. the play button also allows to automate this process and play through the 100 years of weather on the timeline. extreme weather events are indicated on the timeline as icons and when reached, display another popup on top of the map, pointing to the location where the event has occurred.</p>
<p>the user interface was built in flash and imported into <a href="http://www.openframeworks.cc/" target="_blank">openframeworks</a> using the <a href="https://github.com/julapy/ofxFlash" target="_blank">ofxFlash</a> addon which ive recently been developing. ofxFlash is very handy for building UIs in flash and importing them into c++ projects as it saves a lot of time laying out assets and creating button interactivity. it also works on the iphone and ipad&#8230; flash on the iphone you say?! and they said it couldn&#8217;t be done ;)</p>
<p><a href="http://www.flickr.com/photos/julapy/5471056268/" title="bom_weather_table_03 by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5134/5471056268_14ab934f2a.jpg" width="500" height="281" alt="bom_weather_table_03" /></a></p>
<p>now onto the interesting bit and the meat of the project.<br />
i had a lot of fun working with the data provided by the bureau of meteorology, essentially i had to create a contour map animation of changing weather patterns, pretty much the same animation you see on the weather channel. it was a great moment when i realised that it could all be done using <a href="http://opencv.willowgarage.com/wiki/" target="_blank">openCV</a> and in real-time!</p>
<p>BOM have a few different formats for supplying weather data, all of which i came across were in text file format. so the first step was getting the data from a text file and putting it into a image file that openCV could understand. parsing the data into a image file created something like the below, in total 100 image files, one for each year.</p>
<p><a href="http://www.flickr.com/photos/julapy/5470462963/" title="bom_weather_table_05 by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5016/5470462963_9490389b25.jpg" width="500" height="390" alt="bom_weather_table_05" /></a></p>
<p><a href="http://en.wikipedia.org/wiki/Contour_line" target="_blank">contour maps</a> are great for visualising areas of common value, like height or temperature, and effectively show the spread and change of values over an area. the first step in transforming the raw image data into a contour map is to band the values. so to split the raw image into 10 bands involves duplicating the image 10 times and for each image setting the pixel threshold a notch higher until the complete color range is covered. using openCV i then run contour analysis on each of the banded images to get back a bunch of blobs which are my contours for that layer. i then add them together, colour code each layer and get something like the below.</p>
<p><a href="http://www.flickr.com/photos/julapy/5471056734/" title="bom_weather_table_06 by julapy, on Flickr" target="_blank"><img src="http://farm6.static.flickr.com/5174/5471056734_569bce3725.jpg" width="500" height="281" alt="bom_weather_table_06" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2011/02/24/powerhouse-ecologic-exhibition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>openFrameworks sydney @ serial space</title>
		<link>http://www.julapy.com/blog/2010/08/05/openframeworks-sydney-serial-space/</link>
		<comments>http://www.julapy.com/blog/2010/08/05/openframeworks-sydney-serial-space/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 11:20:02 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=613</guid>
		<description><![CDATA[openframeworks is a C++ toolkit for creative coding which is open source and supported by an avid online community that openly share their code and knowledge. it was time to bring out the OF community in sydney out of the woodwork and chat shop. rene and i finally got it together after a couple months [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/4860140896/" title="oFS flyer by julapy, on Flickr"><img src="http://farm5.static.flickr.com/4099/4860140896_2c628a4cc3.jpg" width="391" height="500" alt="oFS flyer" /></a></p>
<p><span id="more-613"></span></p>
<p><a href="http://www.openframeworks.cc/" target="_blank">openframeworks</a> is a C++ toolkit for creative coding which is open source and supported by an avid online community that openly share their code and knowledge. it was time to bring out the OF community in sydney out of the woodwork and chat shop. </p>
<p><a href="http://renechristen.net/">rene</a> and i finally got it together after a couple months of inconvenient date swapping. we thought rather then jumping straight into a knitting circle, it would be a good idea to start from the beginning with a introductory workshop into openframeworks.</p>
<p><a href="http://www.flickr.com/photos/julapy/4855288120/" title="oFS (openFrameworks Sydney) by julapy, on Flickr" target="_blank"><img src="http://farm5.static.flickr.com/4076/4855288120_3d90ee0bb2.jpg" width="500" height="333" alt="oFS (openFrameworks Sydney)" /></a></p>
<p>the turn out was great, a mix between experienced OF&#8217;ers and those who were just getting into it. we covered quite a big array of topics starting from the basic OF structure, to creating simple particle systems, to green screening via pixel manipulation, to openCV and blob tracking. we eventually finished with a demo of a interactive table sending TUIO data as input into a particle system we covered in a previous example. all this in a 4 hour session!</p>
<p>all the source to the examples we covered in the workshop can be downloaded <a href="http://www.julapy.com/source/ofsyd_source.zip">here</a>.</p>
<p>we&#8217;re planning to make the next one a lot less formal, more of a get together to chat OF.<br />
you can follow the latest developments in the OF sydney community here,</p>
<p><a href="http://www.facebook.com/group.php?gid=147185535296993" target="_blank">http://www.facebook.com/group.php?gid=147185535296993</a><br />
<a href="http://groups.google.com/group/ofsydney" target="_blank">http://groups.google.com/group/ofsydney</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2010/08/05/openframeworks-sydney-serial-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>frock stars @ powerhouse museum</title>
		<link>http://www.julapy.com/blog/2010/08/04/frock-stars-powerhouse-museum/</link>
		<comments>http://www.julapy.com/blog/2010/08/04/frock-stars-powerhouse-museum/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 12:37:39 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=604</guid>
		<description><![CDATA[frock stars celebrates the australian fashion week with an exhibition put on at the powerhouse museum. i was fortunate enough to contribute to the event with two interactive installations which allow the user to style the hair and makeup of a virtual model with the use of real physical styling tools. in the video you [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/12224080?title=0&amp;byline=0&amp;portrait=0&amp;color=ff0179" width="500" height="281" frameborder="0"></iframe></p>
<p><span id="more-604"></span></p>
<p><a href="http://www.powerhousemuseum.com/frockstars/" target="_blank">frock stars</a> celebrates the australian fashion week with an exhibition put on at the powerhouse museum. i was fortunate enough to contribute to the event with two interactive installations which allow the user to style the hair and makeup of a virtual model with the use of real physical styling tools.</p>
<p>in the video you can see people using objects such as the hair dryer and curling tongs as the controllers to the interactive experience. it was important that these objects were as close as possible to the real thing, which in the early scoping eliminated the use of markers and eventually lead to the use of colour tracking as the main computer vision method for identifying and tracking the objects.</p>
<p>colour tracking proved to be quite accurate thanks to the use of flouro colours which stood out more from the surrounding environment and were less likely to clash with people&#8217;s clothing (unless the 80s made yet another comeback!). each of the two interactives were fitted with a affordable <a href="http://www.unibrain.com/Products/VisionImg/Fire_i_DC.htm" target="_blank">fire-i</a> camera, which allows to configure most capture settings including the ability to turn off the EVIL auto-gain.</p>
<p><a href="http://www.flickr.com/photos/julapy/4444728405/" title="image_100319a by julapy, on Flickr" target="_blank"><img src="http://farm3.static.flickr.com/2700/4444728405_9677360ed6.jpg" width="500" height="281" alt="image_100319a" /></a></p>
<p>the above photo shows the colour tracker passing data into flash. the colour tracking software was written using <a href="http://www.openframeworks.cc/" target="_blank">openFrameworks</a> and communicated with flash via a socket connection. openFrameworks did all the tracking while flash took care of all the pretty graphics, animations and video. there is some more info under this OF <a href="http://www.openframeworks.cc/forum/viewtopic.php?t=3481" target="_blank">post</a>.</p>
<p>here is the source code to the <a href="http://www.julapy.com/source/colorTracker.zip">colorTracker</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2010/08/04/frock-stars-powerhouse-museum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

