<?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>toxiclibs &#187; Showcase</title>
	<atom:link href="http://toxiclibs.org/category/showcase/feed/" rel="self" type="application/rss+xml" />
	<link>http://toxiclibs.org</link>
	<description>Building blocks for computational design</description>
	<lastBuildDate>Fri, 27 Aug 2010 10:01:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CfP: Community showreel 2010</title>
		<link>http://toxiclibs.org/2010/08/cfp-community-showreel-2010/</link>
		<comments>http://toxiclibs.org/2010/08/cfp-community-showreel-2010/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 02:42:04 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Showcase]]></category>

		<guid isPermaLink="false">http://toxiclibs.org/?p=431</guid>
		<description><![CDATA[It&#8217;s this time of the year again &#8211; Showreel time! By now the project has grown to over 270+ classes distributed in 8 sub-libraries and especially this past year has seen the potential &#038; impact of these libs realised in different fields from architecture, education, generative product design to interactive installations, and that not just [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s this time of the year again &#8211; Showreel time! By now the project has grown to over 270+ classes distributed in 8 sub-libraries and especially this past year has seen the potential &#038; impact of these libs realised in different fields from architecture, education, generative product design to interactive installations, and that not just in the Processing based core-community.</p>
<p>So just like last year&#8217;s effort, I&#8217;d very much wish for and would like to produce another showreel of all the recent interesting projects &amp; experiments done by YOURSELVES with the various library packages. The aim of this undertaking is simply to create a record, a snapshot, some overview and inspiration for other (possibly new) users of these libs. <strong>To make this happen I really do need your help &amp; generous contributions in the form of footage, both video and still image assets.</strong> Finished projects are desirable, but often the work-in-progress stages are highly interesting too, so if possible, please do include these too. All work will be clearly credited and the reel will be premiered during <a href="http://www.flashonthebeach.com/sessions/index.php?pageid=2208" onclick="pageTracker._trackPageview('/outgoing/www.flashonthebeach.com/sessions/index.php?pageid=2208&amp;referer=');">my talk</a> at <a href="http://www.flashonthebeach.com" onclick="pageTracker._trackPageview('/outgoing/www.flashonthebeach.com?referer=');">Flash On The Beach</a> on September 27, 2010. Afterwards the video will be hosted on Vimeo.</p>
<p>Like last year, the guidelines are remaining as follows:</p>
<ul>
<li>only submit projects you&#8217;ve worked on/own rights to/have permission to include</li>
<li>project name, client (if any), year, author(s), project URL</li>
<li>list of toxiclibs package(s) used</li>
<li>video resolution 1280&#215;720 (if possible, lower res might be fine too)</li>
<li>screenshots/photos (if you have stills only, more than one would be extremely helpful)</li>
<li>(optional) your vimeo username for crediting using their system</li>
</ul>
<p><strong>Please get in touch via email: toxiclibs at postspectacular dot com</strong></p>
<p>I can provide FTP upload space if you don&#8217;t have any yourself. Alternatively, you might want to sign up with <a href="http://aws.amazon.com/s3/" onclick="pageTracker._trackPageview('/outgoing/aws.amazon.com/s3/?referer=');">Amazon S3</a>, <a href="http://dropbox.com/" onclick="pageTracker._trackPageview('/outgoing/dropbox.com/?referer=');">Dropbox</a>, <a href="http://box.net" onclick="pageTracker._trackPageview('/outgoing/box.net?referer=');">Box.net</a> or similar services&#8230;</p>
<p><strong>Entry deadline is: Monday 20 September 2010, 12:00pm GMT</strong></p>
<p>Your help is v.appreciated &#038; I shall thank you dearly!!!!</p>
<p>Once more for the record, here&#8217;s the previous reel from 2009&#8230;</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6644720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6644720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /></p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2010/08/cfp-community-showreel-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>verletphysics in the wild</title>
		<link>http://toxiclibs.org/2010/02/verletphysics-in-the-wild/</link>
		<comments>http://toxiclibs.org/2010/02/verletphysics-in-the-wild/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 10:27:52 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[verletphysics]]></category>

		<guid isPermaLink="false">http://toxiclibs.org/?p=248</guid>
		<description><![CDATA[Here&#8217;s a quick note of 2 projects/experiments by other users of the 3D version of the physics engine: First up is Ricardo Sanchez, one of those guys who had been hindered by the lack of demos &#38; documentation last year and has been in touch a few times about the physics engine. His questioning also [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick note of 2 projects/experiments by other users of the 3D version of the <a href="http://toxiclibs.org/category/verletphysics/">physics engine</a>:</p>
<p>First up is <a href="http://www.nardove.com/blog/" onclick="pageTracker._trackPageview('/outgoing/www.nardove.com/blog/?referer=');">Ricardo Sanchez</a>, one of those guys who had been hindered by the lack of demos &amp; documentation last year and has been in touch a few times about the physics engine. His questioning also directly triggered me to do a few more demos, which are now bundled with the last couple releases. A few days ago he excitedly told me that he&#8217;s finished his project and I wanted to share it with you here too:</p>
<p><a href="http://www.nardove.com/jellies/" onclick="pageTracker._trackPageview('/outgoing/www.nardove.com/jellies/?referer=');"><img class="aligncenter size-full wp-image-247" title="nardove_jelly" src="http://toxiclibs.org/wp-content/uploads/2010/02/nardove_jelly.jpg" alt="Nardove's Jellies" width="639" height="400" /></a></p>
<p>You can download the Processing source code for this sketch from the <a href="http://www.nardove.com/jellies/" onclick="pageTracker._trackPageview('/outgoing/www.nardove.com/jellies/?referer=');">project website</a> and read some <a href="http://www.nardove.com/blog/?p=248" onclick="pageTracker._trackPageview('/outgoing/www.nardove.com/blog/?p=248&amp;referer=');">more about his process on his blog</a>.</p>
<p>The other experiment I found is a nice showcase of the <a href="http://code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/src.physics/toxi/physics/constraints/SphereConstraint.java" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/src.physics/toxi/physics/constraints/SphereConstraint.java?referer=');"><code>SphereConstraint</code></a> in action to create a, well spherical, boundary for the physical simulation space. FYI the constraint can also be inverted and be configured to work as obstacle instead, not allowing any particles within the volume of the sphere. This can be achieved via a flag to its constructor.</p>
<p><object width="680" height="383"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9535398&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9535398&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="383"></embed></object><br /></p>
<p>The effect is quite interesting and somewhat reminds me of <a href="http://okdeluxe.co.uk/" onclick="pageTracker._trackPageview('/outgoing/okdeluxe.co.uk/?referer=');">Mikkel Koser&#8217;s</a> &amp; <a href="http://www.shiftcontrol.dk/" onclick="pageTracker._trackPageview('/outgoing/www.shiftcontrol.dk/?referer=');">shiftControl&#8217;s</a> recent <a href="http://okdeluxe.co.uk/cop15/index.html" onclick="pageTracker._trackPageview('/outgoing/okdeluxe.co.uk/cop15/index.html?referer=');">COP15 identity</a>, although the behaviour of particles there is far more complex.</p>
<p>More detailed info about the most recent release and the behaviour changes it caused will be posted asap.</p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2010/02/verletphysics-in-the-wild/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recode submissions</title>
		<link>http://toxiclibs.org/2010/01/decoderecode-submissions/</link>
		<comments>http://toxiclibs.org/2010/01/decoderecode-submissions/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 02:14:00 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[volumeutils]]></category>
		<category><![CDATA[decode]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[variation]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=85</guid>
		<description><![CDATA[Here&#8217;re four of my personal favourites of the many submissions to the Recode competition of the V&#38;A Decode identity, which closed last Sunday&#8230; I&#8217;m not part of the judging panel, but I&#8217;m looking forward to find out if one of them will be chosen to be shown on the cross-track projectors throughout London Underground. Generative [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;re four of my personal favourites of the many submissions to the Recode competition of the <a href="/2009/12/va-decode-generative-identity/">V&amp;A Decode identity</a>, which closed last Sunday&#8230; I&#8217;m not part of the judging panel, but I&#8217;m looking forward to find out if one of them will be chosen to be shown on the cross-track projectors throughout London Underground. Generative art for the masses! :)</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8613900&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8613900&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /><br />
By <a href="http://www.vimeo.com/oampo" onclick="pageTracker._trackPageview('/outgoing/www.vimeo.com/oampo?referer=');">Joe Turner</a></p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8658509&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8658509&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /><br />
By <a href="http://www.vimeo.com/user2007615" onclick="pageTracker._trackPageview('/outgoing/www.vimeo.com/user2007615?referer=');">DieTapete</a></p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8556433&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8556433&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /><br />
By <a href="http://www.vimeo.com/user1584689" onclick="pageTracker._trackPageview('/outgoing/www.vimeo.com/user1584689?referer=');">Stefan Mylleager</a></p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8051278&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8051278&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /><br />
By <a href="http://www.vimeo.com/liasomething" onclick="pageTracker._trackPageview('/outgoing/www.vimeo.com/liasomething?referer=');">Lia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2010/01/decoderecode-submissions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ginger section</title>
		<link>http://toxiclibs.org/2010/01/ginger-section/</link>
		<comments>http://toxiclibs.org/2010/01/ginger-section/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 22:21:08 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[volumeutils]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[contour]]></category>
		<category><![CDATA[generative]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[volumetric]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=61</guid>
		<description><![CDATA[It&#8217;s always still a nice surprise to spot other people&#8217;s experiments with these libraries in the wild. Just came across this beautiful example of using volumeutils by mariusz0z0Bydgoszczy, a cross section of an imaginary plant. Unfortunately no further info is available about the actual growth process, though it looks like a semi-random particle walk or [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s always still a nice surprise to spot other people&#8217;s experiments with these libraries in the wild. Just came across this beautiful example of using <a href="/category/volumeutils">volumeutils</a> by <a href="http://www.youtube.com/user/mariusz0z0Bydgoszczy" onclick="pageTracker._trackPageview('/outgoing/www.youtube.com/user/mariusz0z0Bydgoszczy?referer=');">mariusz0z0Bydgoszczy</a>, a cross section of an imaginary plant. Unfortunately no further info is available about the actual growth process, though it looks like a semi-random particle walk or <a href="http://en.wikipedia.org/wiki/Diffusion-limited_aggregation" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Diffusion-limited_aggregation?referer=');">DLA</a> method.</p>
<p><object width="680" height="382"><param name="movie" value="http://www.youtube.com/v/Gqu-2n2hidg&#038;fs=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/Gqu-2n2hidg&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="680" height="382"></embed></object></p>
<p>I especially like the amount &amp; colours of the contour layers used to visualize different densities. A similar (only in principle) thought also lead to the concept for the <a href="/2009/12/va-decode-generative-identity/">V&amp;A Decode Identity</a> completed recently. Just create a VolumetricSpace instance, use one of the preset VolumetricBrushes (or create your own one through sub-classing), use it to manipulate the &#8220;density&#8221; in the space and then pass the space instance to a IsoSurface to turn it into a TriangleMesh. Et voila! <a href="http://code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/examples/volume/VolumeBrush/VolumeBrush.pde" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/examples/volume/VolumeBrush/VolumeBrush.pde?referer=');">Example code</a> for this basic approach comes with the <a href="http://code.google.com/p/toxiclibs/downloads/list" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/toxiclibs/downloads/list?referer=');">volumeutils library download</a>.</p>
<p><strong>UPDATE:</strong> There&#8217;s also an older, alternative version which is using sensor inputs to control its growth (so maybe the above process is related or even the same)&#8230;</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7594282&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7594282&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /></p>
<blockquote><p>&#8220;this rhizome grows only if PIR sensor doesn&#8217;t detect movement [either nobody is in the room, or you stay still] amount of light measured by photocell influences branches girth. in this way, resulting form is a diagram of changing environmental conditions.&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2010/01/ginger-section/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Happy 2010</title>
		<link>http://toxiclibs.org/2010/01/happy-2010/</link>
		<comments>http://toxiclibs.org/2010/01/happy-2010/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 23:19:58 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Showcase]]></category>
		<category><![CDATA[verletphysics]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[particles]]></category>
		<category><![CDATA[strings]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=68</guid>
		<description><![CDATA[One of my favourite childhood toys was Vero Construc which helped me to develop a big interest in building little (often pointless) mechanical contraptions. I&#8217;m still having a few salvaged parts of it at home which I passed on to the kids to play with, though it&#8217;s having a hard time to compete with the [...]]]></description>
			<content:encoded><![CDATA[<p>One of my favourite childhood toys was <a href="http://www.flickr.com/photos/toxi/sets/72157600467182633/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/sets/72157600467182633/?referer=');">Vero Construc</a> which helped me to develop a big interest in building little (often pointless) mechanical contraptions. I&#8217;m still having a few salvaged parts of it at home which I passed on to the kids to play with, though it&#8217;s having a hard time to compete with the more &#8220;modern&#8221; toys &amp; gadgets.</p>
<p><a title="Vero Construc by toxi, on Flickr" href="http://www.flickr.com/photos/toxi/613818768/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/613818768/?referer=');"><img src="http://farm2.static.flickr.com/1176/613818768_7ab8e752d5.jpg" alt="Vero Construc" width="500" height="375" /></a></p>
<p>So over the holidays I&#8217;ve been doing some research about kinetic &amp; mechanical art and then started working on some additions to various classes in the core and physics packages. These in turn needed testing and inspired me to create the little New Year&#8217;s greetings below:</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8547987&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8547987&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /></p>
<p>Amongst other things the new additions include:</p>
<ul>
<li><strong>ParticleString</strong> class to automatically connect a list of particles with springs or create a string of particles along a line/ray</li>
<li><strong>ParticlePath</strong> is extending Spline2D/3D and can turn the spline into a ParticleString sampled at an uniform interval</li>
<li>New <strong>ParticleContstraint</strong> implementations and improvements to existing ones:
<ul>
<li><strong>AxisConstraint</strong> locks movement of a single axis</li>
<li><strong>PlaneConstraint</strong> locks movement in a plane (only 1 axis left to move in freely)</li>
<li><strong>CylinderConstraint</strong> creates a cylindrical obstacle in the simulation space</li>
<li><strong>BoxConstraint</strong> turns an axis-aligned box (AABB) into an obstacle</li>
<li><strong>SoftBoxConstraint</strong> uses an AABB as perimeter and slowly forces particles towards its centroid coordinates (per axis)</li>
</ul>
</li>
<li>Reworked (corrected) velocity handling and accessors for contraints to manipulate particle velocities upon collision</li>
</ul>
<p>Even though these updates are not yet part of a new release, you can download the source code (as complete Eclipse project incl. compiled versions of the pre-release libraries) and interactive realtime versions for OSX &amp; Windows from here:</p>
<p><a href="http://xmas.postspectacular.com/2010/" onclick="pageTracker._trackPageview('/outgoing/xmas.postspectacular.com/2010/?referer=');">xmas.postspectacular.com/2010/</a></p>
<p>To get the project into Eclipse, simply use the Import wizard:</p>
<p><em>File &gt; Import&#8230; &gt; Existing projects into workspace &gt; Next &gt; Select archive file &gt; Choose the downloaded zip &gt; Finish</em></p>
<p>Apart from the showing how to use these new classes mentioned above, Processing heads might also be interested in the elegance of XML parsing using <a href="https://jaxb.dev.java.net/" onclick="pageTracker._trackPageview('/outgoing/jaxb.dev.java.net/?referer=');">JAXB</a> (one of my favourite additions to Java 6). Last but not least, the project is also utilizing the custom vector shape alphabet system originally developed for the <a href="http://postspectacular.com/work/onedotzero/" onclick="pageTracker._trackPageview('/outgoing/postspectacular.com/work/onedotzero/?referer=');">onedotzero festival identity</a> last year.</p>
<p>Happy 2010 everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2010/01/happy-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Additive waves</title>
		<link>http://toxiclibs.org/2009/12/additive-waves/</link>
		<comments>http://toxiclibs.org/2009/12/additive-waves/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 22:28:34 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Showcase]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Usage]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[core]]></category>
		<category><![CDATA[terrain]]></category>
		<category><![CDATA[waves]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=50</guid>
		<description><![CDATA[The December release cycle has seen a number of new demos, including this one below using the built-in wave generators to create a dynamic 3D terrain. These generators are actually some of the oldest &#38; most re-usable components of the core library, but they never got much attention on the demo front. This is of [...]]]></description>
			<content:encoded><![CDATA[<p>The December release cycle has seen a number of new demos, including this one below using the built-in wave generators to create a dynamic 3D terrain. These generators are actually some of the oldest &amp; most re-usable components of the core library, but they never got much attention on the demo front. This is of course not right, especially since they also nicely demonstrate the object oriented &#8220;building block&#8221; approach also underlying most of the other available classes.</p>
<p><a title="new toxiclibs demo: AdditiveWaves017 by toxi, on Flickr" href="http://www.flickr.com/photos/toxi/4124850086/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/4124850086/?referer=');"><img src="http://farm3.static.flickr.com/2689/4124850086_407814a592_m.jpg" alt="new toxiclibs demo: AdditiveWaves017" width="240" height="140" /></a> <a title="new toxiclibs demo: AdditiveWaves011 by toxi, on Flickr" href="http://www.flickr.com/photos/toxi/4124848628/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/4124848628/?referer=');"><img src="http://farm3.static.flickr.com/2709/4124848628_96243ea1e9_m.jpg" alt="new toxiclibs demo: AdditiveWaves011" width="240" height="140" /></a></p>
<p><a title="new toxiclibs demo: AdditiveWaves003 by toxi, on Flickr" href="http://www.flickr.com/photos/toxi/4124075907/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/4124075907/?referer=');"><img src="http://farm3.static.flickr.com/2709/4124075907_1de68ca9da_m.jpg" alt="new toxiclibs demo: AdditiveWaves003" width="240" height="140" /></a> <a title="new toxiclibs demo: AdditiveWaves005 by toxi, on Flickr" href="http://www.flickr.com/photos/toxi/4124847486/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/4124847486/?referer=');"><img src="http://farm3.static.flickr.com/2804/4124847486_7cf1c98746_m.jpg" alt="new toxiclibs demo: AdditiveWaves005" width="240" height="140" /></a></p>
<p>The Processing source code for generating these meshes is available with the library download, with an excerpt shown also below. But first, here&#8217;s a brief overview of how to use these classes:</p>
<p>Waves &amp; oscillation in general are very flexible &amp; powerful tools for many different design tasks and shouldn&#8217;t always be thought of in an audio context. For example, a square wave can be used to flick between 2 values at a given frequency, without the need for any <code>if()</code> statements. I also often use sine waves to create cyclical, soft, harmonious value changes, be it for interface design, movement, animation or even the time based modulation of behavioural parameters of agents. The core library comes with the following pre-defined wave types:</p>
<ul>
<li>Sine (pure, frequency modulated (FM), amplitude &amp; frequency modulated (AMFM))</li>
<li>Sawtooth (FM)</li>
<li>Square (FM and FM with harmonics)</li>
<li>Triangle (FM)</li>
<li>Constant (only provides a static value, e.g. useful as static source for input as FM)</li>
</ul>
<p>All of these types are expressed as implementations of the <code>AbstractWave</code> class in the <a href="http://toxiclibs.postspectacular.com/docs/core/toxi/math/waves/package-summary.html" onclick="pageTracker._trackPageview('/outgoing/toxiclibs.postspectacular.com/docs/core/toxi/math/waves/package-summary.html?referer=');">toxi.math.waves</a> package. This abstract class defines all commonalities of what constitutes a wave: a phase, a frequency, an amplitude, a centre offset and a bunch of accessors and converters. The actual wave function then needs to be implemented by a concrete sub-class. Using <a href="http://en.wikipedia.org/wiki/Type_polymorphism" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Type_polymorphism?referer=');">poly-morphism</a> and having an <a href="http://en.wikipedia.org/wiki/Abstract_class" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Abstract_class?referer=');">abstract super class</a> makes a lot of sense in this case, since it allows for all this:</p>
<ol>
<li>It frees our main application from having to know which exact wave type we&#8217;re going to use and so allows for easier/faster experimentation and generally more flexibility.</li>
<li>It enables us to plug-in any of the available wave types as input for frequency or amplitude modulation and so create highly (theoretically infinitely) complex waveforms.</li>
<li>It provides the basics of an extensible framework for creating new wave types.</li>
</ol>
<p>These points are hopefully confirmed by you when looking at this method below (taken from the <a href="http://code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/examples/core/AdditiveWaves/AdditiveWaves.pde" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/toxiclibs/source/browse/trunk/toxiclibs/examples/core/AdditiveWaves/AdditiveWaves.pde?referer=');">AdditveWaves</a> demo, bundled since toxiclibscore-0015):</p>
<pre class="brush:java">AbstractWave createRandomWave() {

  AbstractWave result=null;

  // create a randomized sine wave to be used as
  // FM input for the main wave chosen below
  // the order of parameters is:
  // start phase, frequency (in radians), amplitude, offset value
  AbstractWave fmod=new SineWave(0, random(0.005, 0.02), random(0.1, 0.5), 0);

  // pick a random frequency
  float freq=random(0.005, 0.05);

  // choose a wave type
  switch((int)random(7)) {
  case 0:
    result = new FMTriangleWave(0, freq, 1, 0, fmod);
    break;
  case 1:
    result = new FMSawtoothWave(0, freq, 1, 0, fmod);
    break;
  case 2:
    result = new FMSquareWave(0, freq, 1, 0, fmod);
    break;
  case 3:
    // harmonic square waves are created by
    // adding sine waves upto a number of octaves
    // above the base frequency
    result = new FMHarmonicSquareWave(0, freq, 1, 0, fmod);
    ((FMHarmonicSquareWave)result).maxHarmonics=(int)random(3,30);
    break;
  case 4:
    result = new FMSineWave(0, freq, 1, 0, fmod);
    break;
  case 5:
    AbstractWave amod=new SineWave(0, random(0.01,0.2), random(2, 3), 0);
    result = new AMFMSineWave(0, freq, 0, fmod, amod);
    break;
  case 6:
    result = new ConstantWave(random(-1,1));
    break;
  }
  return result;
}</pre>
<p>The next snippet then quickly shows how this method would be used:</p>
<pre class="brush:java">import toxi.math.waves.*;

AbstractWave wave=createRandomWave();

// updates the wave phase and computes the new function value
// this code doesn't care which wave type we're dealing with
float currValue=wave.update();
</pre>
<p>The generators have another useful feature, though: A state stack. If you&#8217;ve used Processing or OpenGL before, you have likely  come across the concept in the form of <code>pushMatrix()</code>/<code>popMatrix()</code> calls to save and restore the state of the graphical transformation matrix. The wave generators implement the same idea and so can be easily used to create the 3D meshes above.</p>
<pre class="brush:java">// save current wave state
wave.push();

for(int i=0; i<10; i++) {
  float lookahead=wave.update();
  // do something clever
}

// restore wave to previous state
wave.pop();
</pre>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2009/12/additive-waves/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>V&amp;A Decode generative identity</title>
		<link>http://toxiclibs.org/2009/12/va-decode-generative-identity/</link>
		<comments>http://toxiclibs.org/2009/12/va-decode-generative-identity/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 12:24:38 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[volumeutils]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=40</guid>
		<description><![CDATA[Fresh off the back of designing &#038; building the interactive identity &#038; installation for last year&#8217;s onedotzero festival with W+K London, the Victoria and Albert Museum (in collaboration with onedotzero too) commissioned me to design a &#8220;truly malleable, digital identity&#8221; for their new landmark exhibition Decode: Digital Design Sensations and providing it as open source. [...]]]></description>
			<content:encoded><![CDATA[<p>Fresh off the back of designing &#038; building the <a href="http://postspectacular.com/work/onedotzero/" onclick="pageTracker._trackPageview('/outgoing/postspectacular.com/work/onedotzero/?referer=');">interactive identity &#038; installation for last year&#8217;s onedotzero festival</a> with W+K London, the <a title="http://www.vam.ac.uk" href="http://www.vam.ac.uk/" onclick="pageTracker._trackPageview('/outgoing/www.vam.ac.uk/?referer=');">Victoria and Albert Museum</a> (in collaboration with <a href="http://onedotzero.com" onclick="pageTracker._trackPageview('/outgoing/onedotzero.com?referer=');">onedotzero</a> too) commissioned me to design a &#8220;truly malleable, digital identity&#8221; for their new landmark exhibition <a title="http://www.vam.ac.uk/decode/" href="http://www.vam.ac.uk/decode/" onclick="pageTracker._trackPageview('/outgoing/www.vam.ac.uk/decode/?referer=');">Decode: Digital  Design Sensations</a> and providing it as open source. This certainly is a first for a museum of this calibre, and of course it was an honour to be part of this. You can read <a href="http://postspectacular.com/work/decode" onclick="pageTracker._trackPageview('/outgoing/postspectacular.com/work/decode?referer=');">more about the project &#038; creation process on my website</a>&#8230;</p>
<p>To make the project as widely accessible as possible to people, it was built in Processing, but obviously with a major helping of various toxiclibs too(core, color &#038; volumeutils).</p>
<p>You can download, remix &amp; recode the original  piece and turn it into your own original artwork by downloading the app and/or source code from:</p>
<p><a href="http://decode.googlecode.com/" onclick="pageTracker._trackPageview('/outgoing/decode.googlecode.com/?referer=');">decode.googlecode.com</a></p>
<p>Some of these recoded versions might then even become the new Decode identity. Media partner, CBS Outdoor will be promoting the exhibition using the original piece across its large HD projection screens in platforms on  the London Underground from Monday, November 30, 2009. All recoded works submitted via the <a title="http://www.vam.ac.uk/decode/" href="http://www.vam.ac.uk/decode/" onclick="pageTracker._trackPageview('/outgoing/www.vam.ac.uk/decode/?referer=');">V&amp;A website</a> before January 11, 2010 will then be put forward into a competition to appear in an advert on <a title="http://www.cbsoutdoor-alive.co.uk/tube-and-bus/xtp.aspx" href="http://www.cbsoutdoor-alive.co.uk/tube-and-bus/xtp.aspx" onclick="pageTracker._trackPageview('/outgoing/www.cbsoutdoor-alive.co.uk/tube-and-bus/xtp.aspx?referer=');">CBS  Outdoor’s XTP screens</a>, further promoting the exhibition.</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7791424&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7791424&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /></p>
<p><strong>UPDATE:</strong> <a href="http://toxiclibs.org/2010/01/decoderecode-submissions/">I&#8217;ve posted some of my favourite &#8220;recodes&#8221; over here.</a></p>
<p><a href="http://www.flickr.com/photos/toxi/sets/72157622483026212/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/toxi/sets/72157622483026212/?referer=');">Some more images of the whole design journey are on flickr&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2009/12/va-decode-generative-identity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>toxiclibs community showreel</title>
		<link>http://toxiclibs.org/2009/09/toxiclibs-showreel/</link>
		<comments>http://toxiclibs.org/2009/09/toxiclibs-showreel/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 19:14:57 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Showcase]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[branding]]></category>
		<category><![CDATA[fabrication]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[showreel]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[visualization]]></category>

		<guid isPermaLink="false">http://toxiclibs.postspectacular.com/?p=11</guid>
		<description><![CDATA[In a way 2009 was the best year for this project so far: more commits than ever, more examples, more documentation and above all more (as well as more or less happy) users &#8211; thank you all for your support &#38; patience!  Especially since the April release (nicknamed &#8220;CADA&#8221;) I noticed increased interest and myself [...]]]></description>
			<content:encoded><![CDATA[<p>In a way 2009 was the best year for this project so far: more commits than ever, more examples, more documentation and above all more (as well as more or less happy) users &#8211; thank you all for your support &amp; patience!  Especially since the April release (nicknamed <a href="http://www.cada1.net/?p=68" onclick="pageTracker._trackPageview('/outgoing/www.cada1.net/?p=68&amp;referer=');">&#8220;CADA&#8221;</a>) I noticed increased interest and myself became really interested in what other people have been using the libraries for. I&#8217;m often getting feedback from people about issues and how-to&#8217;s, but I didn&#8217;t quite know what the big wide world is up to with them. So in summer I reached out to existing users and posted <a href="http://code.google.com/p/toxiclibs/wiki/CFPShowreelVideo" onclick="pageTracker._trackPageview('/outgoing/code.google.com/p/toxiclibs/wiki/CFPShowreelVideo?referer=');">a public call for submission to create a community showreel</a> of projects realised with the libraries so far.</p>
<p>Edited in a non-stop 24h session, I&#8217;m really happy with the result &amp; seeing these projects together in one piece gave me an immense buzz, but see for yourself!</p>
<p><object width="680" height="382"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6644720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6644720&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="680" height="382"></embed></object><br /></p>
<p>We will be attempting to do another one of these later this year, so if you have built anything cool with any of the library packages you&#8217;d want to contribute, please do get in touch here, via email, <a href="http://www.flickr.com/groups/toxiclibs/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/groups/toxiclibs/?referer=');">flickr</a>, <a href="http://www.vimeo.com/groups/toxiclibs/" onclick="pageTracker._trackPageview('/outgoing/www.vimeo.com/groups/toxiclibs/?referer=');">vimeo</a> or <a href="http://twitter.com/toxiclibs" onclick="pageTracker._trackPageview('/outgoing/twitter.com/toxiclibs?referer=');">twitter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2009/09/toxiclibs-showreel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
