<?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</title>
	<atom:link href="http://www.julapy.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.julapy.com/blog</link>
	<description>surfing on sine waves</description>
	<lastBuildDate>Fri, 19 Jun 2009 02:23:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>light chasm</title>
		<link>http://www.julapy.com/blog/2009/06/19/light-chasm/</link>
		<comments>http://www.julapy.com/blog/2009/06/19/light-chasm/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 01:02:19 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[exhibition]]></category>
		<category><![CDATA[installayion]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=223</guid>
		<description><![CDATA[
light chasm from lukasz on Vimeo.
had the pleasure to team up with the very talented robyn whispers to collaborate on a audio / visual performance. we only had a week to prepare and decided to go with a black and white, op-artish theme for the projection visuals, matched with robyn&#8217;s very striking black and white [...]]]></description>
			<content:encoded><![CDATA[<p><object width="450" height="253"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5159686&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5159686&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="450" height="253"></embed></object>
<p><a href="http://vimeo.com/5159686">light chasm</a> from <a href="http://vimeo.com/julapy">lukasz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>had the pleasure to team up with the very talented <a href="http://www.viewofcourage.com/"  target="_blank">robyn whispers</a> to collaborate on a audio / visual performance. we only had a week to prepare and decided to go with a black and white, op-artish theme for the projection visuals, matched with robyn&#8217;s very striking black and white attire which during the performance became part of the projection surface.</p>
<p>i wanted to create a custom vj app for the performance and have been getting more proficient in <a href="http://www.openframeworks.cc/" target="_blank">openframeworks</a> so decided to give it a go as a technical and creative challenge. i began by coding the basic visual elements such as the black and white sun rays, the checkered background and playing around with blend modes in opengl. it took me a good 2 hours to work out how to do inverse blending&#8230; no reference for it anywhere! so here it is,</p>
<p><code>glEnable( GL_BLEND );<br />
glBlendFunc( GL_ONE_MINUS_DST_COLOR, GL_ONE_MINUS_SRC_COLOR );<br />
// draw your shapes here.<br />
glDisable( GL_BLEND );</code></p>
<p>i wanted to control the visuals through my iphone via OSC, that way i could put my laptop away and become part of the crowd&#8230; so i wrote a wrapper class for <a href="http://lux.vu/blog/oscemote/" target="_blank">OSCemote</a> (an OSC iphone application) that told my program what buttons were being pressed and the slider values. hope to extend it further for accelerometer values which i think will be far more interesting way of controlling visuals and with the possibility of using body movements in a performance to react visuals.</p>
<p>next i plugged in some FFT classes from the openframeworks forum and viola, audio-reactive visuals. it goes to show the maturity of openframeworks where you can grab a bunch of classes created by the community and plug them straight in without any hassle.</p>
<p>here is the <a href="http://www.julapy.com/source/light_chasm_v01.zip" target="_blank">source</a> if any one is interested in running it, made for of_0.06</p>
<p>really enjoyed building vj software from scratch just because you have so much more control over what you can make. im now toying with the idea of taking it further and creating a nodel based interface, so something like quartz composer or pure data interface but for openframeworks. the mind boggles&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/06/19/light-chasm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>bowie cam</title>
		<link>http://www.julapy.com/blog/2009/06/19/bowie-cam/</link>
		<comments>http://www.julapy.com/blog/2009/06/19/bowie-cam/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 00:06:29 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[exhibition]]></category>
		<category><![CDATA[installayion]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=243</guid>
		<description><![CDATA[
bowie cam from lukasz on Vimeo.
the back story is&#8230; some friends at the world&#8217;s end studio have a biegel named david bowie and it jumped out of a 2 storys window and broke its leg. the dog that thought it could fly&#8230; so they put on a david bowie fund raiser party for the pooch&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><object width="450" height="259"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5216465&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5216465&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff0179&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="450" height="259"></embed></object>
<p><a href="http://vimeo.com/5216465">bowie cam</a> from <a href="http://vimeo.com/julapy">lukasz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>the back story is&#8230; some friends at the world&#8217;s end studio have a biegel named david bowie and it jumped out of a 2 storys window and broke its leg. the dog that thought it could fly&#8230; so they put on a david bowie fund raiser party for the pooch&#8217;s operation.</p>
<p>ive been itching to get my face tracking projections out there and thought the night was a good opportunity to do something quick and fun. bowie cam is just that&#8230; it pastes a face of david bowie over yours so you can get down just like the freaky old bastard.  there a four face mask modes it cycles through &#8211; two of mr bowie, one being of the pooch and a ziggy lighting bolt across the face. the interactive projection was good fun and people got it straight away, although i suspect some people were just happy to see themselves on the big screen.</p>
<p>it was also a good lesson never to depend on venue lighting. for those that have been to q-bar in sydney will know that its a pretty dark venue, something out of a david lynch film with all the red lighting. so had to improvise and mount a lamp to expose people in front of the camera a little better. even then, it was a fine line&#8230; if they got too close, their faces were washed out and the haar finder was unable to pick up their features and when they got too far, they would disapear into the shadows. so i think overall the accuracy of the face tracking was down to about 20% of its normal accuracy. still, good to try it out in the wild.</p>
<p>get the <a href="http://www.julapy.com/source/ofxCvHaarTracker.zip" target="_blank">ofxCvHaarTracker</a> source for openframeworks with example.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/06/19/bowie-cam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>timebomb</title>
		<link>http://www.julapy.com/blog/2009/05/22/timebomb/</link>
		<comments>http://www.julapy.com/blog/2009/05/22/timebomb/#comments</comments>
		<pubDate>Fri, 22 May 2009 06:41:42 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[exhibition]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[openframeworks]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=188</guid>
		<description><![CDATA[about a year ago i became obsessed with video time distortion. i really enjoy the idea of being able to see into different layers of a video at the one time and manipulate them to create interesting conceptual as well as aesthetic effects.

Time Bomb &#8211; Interactive Graffiti (StupidKrap &#038; Holler) from Mike Hill on Vimeo.
timebomb [...]]]></description>
			<content:encoded><![CDATA[<p>about a year ago i became obsessed with video time distortion. i really enjoy the idea of being able to see into different layers of a video at the one time and manipulate them to create interesting conceptual as well as aesthetic effects.</p>
<p><object width="400" height="307"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4741945&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4741945&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="307"></embed></object>
<p><a href="http://vimeo.com/4741945">Time Bomb &#8211; Interactive Graffiti (StupidKrap &#038; Holler)</a> from <a href="http://vimeo.com/hollersydney">Mike Hill</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>timebomb is an interactive graffiti installation that I collaborated on with Maddi Boyd (KissKiss) from <a href="http://stupidkrap.com/" target="_blank">StupidKrap</a>. check out the promo video to see what its all about&#8230;</p>
<p>here&#8217;s a little technical insight into the project.</p>
<p>the timebomb application is based on memo&#8217;s fluid dynamics library for openframeworks, <a href="http://memo.tv/ofxmsafluid" target="_blank">ofxmsafluid</a>. its a fantastic opensource library that memo has done a lot of amazing things with and i&#8217;ve been able to use it as the basis for fluid time distortion.<br />
interaction input comes from a webcam, the live feed is analysed and used to create ripples in a fluid image. those fluid values are then applied to the pixels of a video, the pure white pixel (0xFF) equals a pixel taken from the top frame of the video and a black pixel (0&#215;00) equals a pixel taken from the bottom frame of the video, all other shades of grey represent pixels between the first and last frame. confused? well hopefully the video of the debug screen will explain it better.</p>
<p>the video on the top left is the actual time-lapse we shot over 5 days.<br />
next to it is the final output with time distortion applied to it.<br />
all other frames below show the camera input and the ripples created in a black and white fluid image.</p>
<p><object width="600" height="338"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4778205&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4778205&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="338"></embed></object>
<p><a href="http://vimeo.com/4778205">timebomb debug</a> from <a href="http://vimeo.com/julapy">lukasz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>here is the final effect on its own.<br />
this is what is going to be projected onto a blank canvas at the exhibition.<br />
people will be able to time-distort the graffiti piece through their body movements and uncover the hidden layers that lay beneath the surface of the finished piece.</p>
<p><object width="400" height="405"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4778906&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4778906&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="405"></embed></object>
<p><a href="http://vimeo.com/4778906">timebomb</a> from <a href="http://vimeo.com/julapy">lukasz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/05/22/timebomb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>crimcam</title>
		<link>http://www.julapy.com/blog/2009/05/03/crimcam/</link>
		<comments>http://www.julapy.com/blog/2009/05/03/crimcam/#comments</comments>
		<pubDate>Sun, 03 May 2009 06:34:42 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[computer vision]]></category>
		<category><![CDATA[openCV]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=173</guid>
		<description><![CDATA[crimcam is an interactive projection that takes viewers and turns them into criminals inside cctv footage.
using head tracking and face recognition, each persons identity is concealed by various techniques ( black bars across eyes, face blur, etc ) as seen on tv. 

crimcam from lukasz on Vimeo.
people usually experience seeing their own image either in [...]]]></description>
			<content:encoded><![CDATA[<p>crimcam is an interactive projection that takes viewers and turns them into criminals inside cctv footage.<br />
using head tracking and face recognition, each persons identity is concealed by various techniques ( black bars across eyes, face blur, etc ) as seen on tv. </p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=4406737&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=4406737&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/4406737">crimcam</a> from <a href="http://vimeo.com/julapy">lukasz</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>people usually experience seeing their own image either in the photos or video and almost always in a positive and social context. i wanted to bring the viewer into a more sinister and perhaps more confronting environment, to allow them to see themselves in a negative context and to suggest they are not as happy and innocent as they portray themselves to be.</p>
<p>crimcam was built using <a href="http://www.openframeworks.cc/" target="_blank">openframeworks</a> and <a href="http://opencv.willowgarage.com/wiki/" target="_blank">openCV</a> which makes it possible to perform motion tracking, blob tracking, face detection.</p>
<p>will be posting the source shortly.</p>
<p><a href="http://twitter.com/julapy" target="_blank">@julapy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/05/03/crimcam/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>le cube</title>
		<link>http://www.julapy.com/blog/2009/03/24/le-cube/</link>
		<comments>http://www.julapy.com/blog/2009/03/24/le-cube/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 12:03:59 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=163</guid>
		<description><![CDATA[
my two favorite things, abstract geometry and audio reactive visuals.
working on the new beck&#8217;s beer site was a treat with a great base design and massive scope for innovation.
i won&#8217;t bang on about the creation process but i will say that the cube was modeled using blender, exported as a DAE file, painlessly plugged into [...]]]></description>
			<content:encoded><![CDATA[<p><a/ href="http://becksbeer.com.au/" target="_blank"><img src="http://www.julapy.com/images/becks_05_opt.jpg" alt="beck's beer" /></a></p>
<p>my two favorite things, abstract geometry and audio reactive visuals.<br />
working on the new <a href="http://becksbeer.com.au/" target="_blank">beck&#8217;s beer site</a> was a treat with a great base design and massive scope for innovation.</p>
<p>i won&#8217;t bang on about the creation process but i will say that the cube was modeled using <a href="http://www.blender.org/" target="_blank">blender</a>, exported as a DAE file, painlessly plugged into papervision and off we went&#8230;<br />
if you are new to blender like i was i recommend reading through the <a href="http://wiki.blender.org/index.php/Doc:Manual" target="_blank">manual</a>, its the best place to start and will allow you to tinker and create as you are learning.</p>
<p>had a few days spare towards the end of the project so thought it would be nice to add an audio reactive element to the site. it is the beck&#8217;s beer brand and it is heavily associated with electronic music so i reproduced the geometry of the cube segments and added them to a 3d backdrop layer&#8230; the space junk fragments float in darkness, illuminated and pushed on by the beat of the music.</p>
<p>still trying to work out what to make open source from this project so if theres anything you&#8217;d like me to release, please let me know and ill do my best to post it on here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/03/24/le-cube/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>cilindrico collapse prototype</title>
		<link>http://www.julapy.com/blog/2009/02/27/cilindrico-collapse-prototype/</link>
		<comments>http://www.julapy.com/blog/2009/02/27/cilindrico-collapse-prototype/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 20:41:16 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[opengl]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[cilindrico collapse]]></category>
		<category><![CDATA[generative]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[reactive]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=96</guid>
		<description><![CDATA[
on the weekend i started working on my latest piece in processing titled cilindrico collapse. had a good run, getting everything done i had planned to do. main things were, coding the 3D motif which ive named arc bars, and after many painful attempts ive finally worked out how to use pure opengl lights inside [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/julapy/3315094911/" title="cilindrico_collapse_07 by julapy, on Flickr" target="_blank"><img src="http://farm4.static.flickr.com/3656/3315094911_37c7b02f28_m.jpg" width="240" height="240" alt="cilindrico_collapse_07" /></a></p>
<p>on the weekend i started working on my latest piece in processing titled cilindrico collapse. had a good run, getting everything done i had planned to do. main things were, coding the 3D motif which ive named arc bars, and after many painful attempts ive finally worked out how to use pure opengl lights inside a processing sketch. so now i can have all the pretty shapes and colours, with shading! </p>
<p>ive also inculded the ability to export the sketch to a amazingly large proportions using marius watz&#8217;s <a href="http://workshop.evolutionzone.com/2007/03/24/code-tilesaverpde/" target="_blank">tile saver class</a>. perfect if you want to print your work.</p>
<p>thought id make the <a href="http://www.julapy.com/source/CilindricoCollapse.java" target="_blank">source code</a> available now, before it gets messy with experimentation.<br />
you will also need <a href="http://code.google.com/p/toxiclibs/" target="_blank">toxiclibs</a> to get it running.<br />
enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/02/27/cilindrico-collapse-prototype/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>dark hall</title>
		<link>http://www.julapy.com/blog/2009/02/25/dark-hall/</link>
		<comments>http://www.julapy.com/blog/2009/02/25/dark-hall/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 10:26:01 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[exhibition]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[stereography]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=107</guid>
		<description><![CDATA[
had the opportunity to exhibit the latest dear samantha work at the dark hall exhibition yesterday as part of the glorious undead festival. marcel and bronwyn did a great job transforming the kudos gallery into a forest of digital glow spotted with iridescent installations. the most impressive was a sculptural video installation by daniel kirkwood [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://julapy.com/images/projection_mapping_gif.gif" alt="projection mapping" /></p>
<p>had the opportunity to exhibit the latest <a href="http://www.julapy.com/blog/2009/02/13/dear-samantha/" target="_blank">dear samantha</a> work at the dark hall exhibition yesterday as part of <a href="http://thegloriousundead.com/09/" target="_blank">the glorious undead</a> festival. marcel and bronwyn did a great job transforming the kudos gallery into a forest of digital glow spotted with iridescent installations. the most impressive was a sculptural video installation by daniel kirkwood titled &#8216;<em>dc city, glistening (a seasonal cycle)</em>&#8216; using projection mapping, shown in the gif animation above. i&#8217;ve seen a lot of <a href="http://createdigitalmotion.com/index.php?s=projection+mapping" target="_blank">projection mapping</a> on the interweb but this was the first time to witness it first hand and it was a real treat.<br />
have to try it out myself very soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/02/25/dark-hall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dear samantha</title>
		<link>http://www.julapy.com/blog/2009/02/13/dear-samantha/</link>
		<comments>http://www.julapy.com/blog/2009/02/13/dear-samantha/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 12:20:37 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[stereography]]></category>
		<category><![CDATA[dear samantha]]></category>
		<category><![CDATA[stereo imaging]]></category>
		<category><![CDATA[stereoscope]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/?p=58</guid>
		<description><![CDATA[
lately ive teamed up with a photographer and a good friend of mine, sebastian andrews, for an ongoing side project.  we&#8217;ve talked about doing something together for years but our interestes were difficult to converge unti we finally discovered stereography which has become the middle ground for both our work and a exciting collaboration.
stereography [...]]]></description>
			<content:encoded><![CDATA[<p><a/ href="http://dearsamantha.com" target="_blank"><img src="http://julapy.com/images/cannon_01_crop.gif" alt="dear samantha" /></a></p>
<p>lately ive teamed up with a photographer and a good friend of mine, <a/ href="http://sebastianandrews.com/" target="_blank">sebastian andrews</a>, for an ongoing side project.  we&#8217;ve talked about doing something together for years but our interestes were difficult to converge unti we finally discovered stereography which has become the middle ground for both our work and a exciting collaboration.</p>
<p>stereography involves taking two photos from slightly different angles and switching between them to give the impression of 3D. the technique is very striking. it breathes life into a still image. i fell in love with it when i stumbled upon the <a/ href="http://lala.cursivebuildings.com/tagged/reaching" target="_blank">cursive buildings blog</a> which i have to give props to as it opened my eyes to the different possibilities of simple two frame animations.<br />
suddenly the ol&#8217; gif wasn&#8217;t so daggy anymore.</p>
<p>in our stereo images we like to capture subtle movements that compliment conventional still photography. it is a way of reminding the viewer that this is not only a flat image but also a time and place. coincidently we are beings with two eyes that allow us to judge distances and i suppose stereography makes sense to the brain&#8230; it exposes another layer that enriches the image with not only perspective information but also style. focus can be shifted towards or away from a subject&#8230; it is another parameter to play with and one that can create powerful results.</p>
<p>so cutting the ribbon, here is the hub to our stereography work.</p>
<p><a/ href="http://www.dearsamantha.com/" target="_blank">http://www.dearsamantha.com/</a></p>
<p>id also like to draw your attention to the wordpress theme, lovelly isn&#8217;t it?<br />
churned it out one night&#8230; tinkering with with css and the wordpress api.<br />
wanted something very minimal so it didn&#8217;t take away from the content, also wanted to list every post in the left navigation bar since i like the idea of showing all the work all at once.</p>
<p>bookmark it. rss it. subscribe to the mailing list.<br />
oodles of stereo images to come!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/02/13/dear-samantha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>6beers takes FWA</title>
		<link>http://www.julapy.com/blog/2009/01/16/6beers-takes-fwa/</link>
		<comments>http://www.julapy.com/blog/2009/01/16/6beers-takes-fwa/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 11:28:19 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[6beersofseparation]]></category>
		<category><![CDATA[fwa]]></category>
		<category><![CDATA[holler sydney]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/2009/01/21/6beers-takes-fwa/</guid>
		<description><![CDATA[well look at here&#8230;

6beersofseparation.com.au has scored a FWA!!!
ever since i got into flash ive always wanted one of these&#8230; and its nice to finally have one next to your name.
although it has been a team effort from holler sydney and our second FWA in the 2 years we&#8217;ve been going.
alright!
]]></description>
			<content:encoded><![CDATA[<p>well look at here&#8230;</p>
<p><a href='http://www.julapy.com/blog/wp-content/uploads/2009/01/fwa_6beers_small.jpg' title='6beer FWA icon'><img src='http://www.julapy.com/blog/wp-content/uploads/2009/01/fwa_6beers_small.thumbnail.jpg' alt='6beer FWA icon' /></a></p>
<p><a href="http://6beersofseparation.com.au/" target="_blank">6beersofseparation.com.au</a> has scored a <a href="http://www.thefwa.com/" target="_blank">FWA</a>!!!<br />
ever since i got into flash ive always wanted one of these&#8230; and its nice to finally have one next to your name.<br />
although it has been a team effort from <a href="http://hollersydney.com.au/" target="_blank">holler sydney</a> and our second FWA in the 2 years we&#8217;ve been going.<br />
alright!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2009/01/16/6beers-takes-fwa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>quaternion rotation</title>
		<link>http://www.julapy.com/blog/2008/12/22/quaternion-rotation/</link>
		<comments>http://www.julapy.com/blog/2008/12/22/quaternion-rotation/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 02:57:10 +0000</pubDate>
		<dc:creator>julapy</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[matrix]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[quaternion]]></category>
		<category><![CDATA[rotation]]></category>

		<guid isPermaLink="false">http://www.julapy.com/blog/2008/12/22/quaternion-rotation/</guid>
		<description><![CDATA[quaternions have been plaguing my mind for months and their mystery has eluded me till now&#8230; finally figured the sucker out.
in short, they allow for intuitive rotation around each axis.
normally if you rotate around one axis and then around another, you get a combination of those two rotations and its not really where you want [...]]]></description>
			<content:encoded><![CDATA[<p>quaternions have been plaguing my mind for months and their mystery has eluded me till now&#8230; finally figured the sucker out.</p>
<p>in short, they allow for intuitive rotation around each axis.<br />
normally if you rotate around one axis and then around another, you get a combination of those two rotations and its not really where you want to be.<br />
quaternions allow to rotate around each axis without effecting the rotation of the other axis, so imagine a orientating a aeroplane model in a 3D flying game&#8230;<br />
an aeroplane can be rotated around each axis and these angles are referred to as roll (x-axis), pitch (y-axis) and yaw (z-axis).</p>
<p>roll is then the aeroplane direction moving up and down.<br />
pitch is the aeroplane direction moving left to right.<br />
and yaw is the aeroplane swaying from side to side.</p>
<p>so finally worked out the mathematics behind this by reverse engineering some existing arcball code.<br />
below is the processing implementation done with pure opengl, it is using some handy classes in <a href="http://code.google.com/p/toxiclibs/downloads/list">toxi&#8217;s geomutils</a>.</p>
<p>the steps are,<br />
1) work out the rotation vectors around each axis, simply by rotating the vector around an axis.<br />
2) work out the rotation quaternion for each axis, by getting the dot and cross product of each rotation vector from its origin.<br />
3) multiply the rotation quaternions of each axis. &#8211; this will give you the overall rotation quaternion.<br />
4) convert the rotation quaternion into a matrix and apply that rotation matrix.<br />
5) draw your aeroplane! done.</p>
<pre name="code" class="java">

			float DEGTORAD = PI / 180;

			Vec3D xrot, yrot, zrot;
			Quaternion xrotQuat, yrotQuat, zrotQuat, rotQuat;
			Matrix4x4 m;
			float angleX, angleY, angleZ;

			angleX = angleDegreesX * DEGTORAD;
			angleY = angleDegreesY * DEGTORAD;
			angleZ = angleDegreesZ * DEGTORAD;

			xrot = Vec3D.Z_AXIS.copy().rotateX( angleX );
			yrot = Vec3D.X_AXIS.copy().rotateY( angleY );
			zrot = Vec3D.X_AXIS.copy().rotateZ( angleZ );

			xrotQuat = new Quaternion( 1, new Vec3D( 0, 0, 0 ) );
			xrotQuat.set( xrot.dot( Vec3D.Z_AXIS.copy() ), xrot.cross( Vec3D.Z_AXIS.copy() ) );

			yrotQuat = new Quaternion( 1, new Vec3D( 0, 0, 0 ) );
			yrotQuat.set( yrot.dot( Vec3D.X_AXIS.copy() ), yrot.cross( Vec3D.X_AXIS.copy() ) );

			zrotQuat = new Quaternion( 1, new Vec3D( 0, 0, 0 ) );
			zrotQuat.set( zrot.dot( Vec3D.X_AXIS.copy() ), zrot.cross( Vec3D.X_AXIS.copy() ) );

			rotQuat = xrotQuat.multiply( yrotQuat ).multiply( zrotQuat );
			m		= rotQuat.getMatrix();

			FloatBuffer rotMatrix;
			rotMatrix = ByteBuffer.allocateDirect(4 * 4 * 4).order(ByteOrder.nativeOrder()).asFloatBuffer();
			rotMatrix.put
			(
				new float[]
				{
					(float)m.matrix[0][0], (float)m.matrix[0][1], (float)m.matrix[0][2], (float)m.matrix[0][3],
					(float)m.matrix[1][0], (float)m.matrix[1][1], (float)m.matrix[1][2], (float)m.matrix[1][3],
					(float)m.matrix[2][0], (float)m.matrix[2][1], (float)m.matrix[2][2], (float)m.matrix[2][3],
					(float)m.matrix[3][0], (float)m.matrix[3][1], (float)m.matrix[3][2], (float)m.matrix[3][3]
				}
			);
			rotMatrix.flip();

			gl.glPushMatrix();

			gl.glTranslatef( loc.x, loc.y, loc.z );
			gl.glMultMatrixf( rotMatrix );
			gl.glTranslatef( -loc.x, -loc.y, -loc.z );

			// draw here.

			gl.glPopMatrix();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.julapy.com/blog/2008/12/22/quaternion-rotation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
