<?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; verletphysics</title>
	<atom:link href="http://toxiclibs.org/category/verletphysics/feed/" rel="self" type="application/rss+xml" />
	<link>http://toxiclibs.org</link>
	<description>Building blocks for computational design</description>
	<lastBuildDate>Tue, 20 Dec 2011 17:03:34 +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>Metropolitan Works workshop: Facade tool</title>
		<link>http://toxiclibs.org/2011/12/metworks-workshop-facade/</link>
		<comments>http://toxiclibs.org/2011/12/metworks-workshop-facade/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 12:47:17 +0000</pubDate>
		<dc:creator>toxi</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[verletphysics]]></category>
		<category><![CDATA[volumeutils]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://toxiclibs.org/?p=557</guid>
		<description><![CDATA[As announced a few months ago, I recently taught two London based workshops and in the interest of learning, the source code of various examples done at both events is now available in the learn.postspectacular.com repository. Released under the same license as toxiclibs itself, LGPLv2.1. The most recent workshop took place at Metropolitan Works, the [...]]]></description>
			<content:encoded><![CDATA[<p>As announced a few months ago, I recently taught <a href="http://toxiclibs.org/2011/09/london-workshops/">two London based workshops</a> and in the interest of learning, the source code of various examples done at both events is now available in the <a href="http://learn.postspectacular.com/hg/" onclick="pageTracker._trackPageview('/outgoing/learn.postspectacular.com/hg/?referer=');">learn.postspectacular.com</a> repository. Released under the same license as toxiclibs itself, LGPLv2.1.</p>
<p>The most recent workshop took place at <a href="http://www.metropolitanworks.org/" onclick="pageTracker._trackPageview('/outgoing/www.metropolitanworks.org/?referer=');">Metropolitan Works</a>, the London Metropolitan University&#8217;s digital fabrication facility. Under the overarching theme of digital fabrication, initially this workshop was focused almost exclusively on geometry aspects and how to use various toxiclibs classes to construct shapes &amp; forms and solve problems in this domain. During the 2nd workshop session, I wanted to combine several related topics into a single large exercise and we started building a little hypothetical facade design tool.</p>
<p>Over the past couple of weeks I squeezed in some extra time to finish cleaning up and adding comments (lots of!) to the source code of that tool with some further descriptions below&#8230;</p>
<p>Facade designs generally require to take into account the varying light conditions &amp; requirements of the space sections on the inside of the building. Using strategically placed particles &amp; attractors we can model &amp; modulate these different spatial densities on the facade surface&#8230;</p>
<div id="attachment_573" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-1.png"><img class="size-large wp-image-573 " title="facade-1" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-1-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 1: Strategically place some attractors &amp; particles to modulate the spatial density of the facade</p></div>
<div id="attachment_572" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-2.png"><img class="size-large wp-image-572" title="facade-2" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-2-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 2: Connect particles into a 2D mesh using Delaunay triangulation...</p></div>
<div id="attachment_571" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-3.png"><img class="size-large wp-image-571" title="facade-3" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-3-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 2a: ...or use Voronoi to create more cell like patterning</p></div>
<div id="attachment_570" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-4.png"><img class="size-large wp-image-570" title="facade-4" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-4-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 3: Map the 2D mesh onto the extruded profile of the facade</p></div>
<div id="attachment_569" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-5.png"><img class="size-large wp-image-569" title="facade-5" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-5-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 4: Apply &amp; tweak surface deformation along normal vectors</p></div>
<div id="attachment_568" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-6.png"><img class="size-large wp-image-568" title="facade-6" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-6-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Step 5: Produce a water tight Iso-surface mesh of the wireframe structure and export as STL for 3D printing</p></div>
<div id="attachment_579" class="wp-caption aligncenter" style="width: 690px"><a href="http://toxiclibs.org/wp-content/uploads/2011/12/facade-7.png"><img class="size-large wp-image-579" title="facade-7" src="http://toxiclibs.org/wp-content/uploads/2011/12/facade-7-680x394.png" alt="" width="680" height="394" /></a><p class="wp-caption-text">Result of using a more complex profile spline</p></div>
<p>Since we didn&#8217;t fully get to finish everything as a group, I have added several more features (some on popular <a href="http://twitter.com/#!/mark_lundin/status/145668310342696960" onclick="pageTracker._trackPageview('/outgoing/twitter.com/_/mark_lundin/status/145668310342696960?referer=');">demand</a>):</p>
<ul>
<li>Allow for selecting, repositioning &amp; adjusting of particle attractors</li>
<li>Produce 3d iso surface of facade wireframe/lattice mesh and export as STL</li>
<li>Allow selecting &amp; moving of points in spline editor component (incl. realtime updates in 3d wireframe preview)</li>
<li>Added user adjustable 3D surface deformation using simplex noise</li>
<li>Added toggle to switch between Delaunay &amp; Voronoi shapes</li>
<li>Adding arc ball controller to more naturally change 3D view orientation</li>
<li>Integrating mouse wheel to adjust zooming in 3D</li>
<li>Generally improved usability and made ControlP5 GUI more dynamic (some controllers are now context sensitive and only visible in certain display/edit modes)</li>
</ul>
<p>It&#8217;s almost a proper little tool now and should provide a lot of food for thought for the dear students (and maybe give them something to do over the holidays :)</p>
<p>You can download the entire Eclipse project from here: <a href="http://learn.postspectacular.com/hg/metworks-2011-facade/" onclick="pageTracker._trackPageview('/outgoing/learn.postspectacular.com/hg/metworks-2011-facade/?referer=');">learn.postspectacular.com/hg/metworks-2011-facade/</a></p>
<p>Please note, this project is a plain Java project (no Processing Eclipse plugin required) and contains all required libraries in the project&#8217;s /lib folder:</p>
<ul>
<li>Processing 1.5.1 + JOGL (only with OSX &amp; Win32/64 binaries)</li>
<li>ControlP5 0.5.4</li>
<li>pre-release of toxiclibs-0021</li>
</ul>
<p>Below are some quick steps to import the project into your Eclipse workspace:</p>
<ul>
<li>Download via the .zip link in the top toolbar&#8230;</li>
<li>Unzip to anywhere on your disk</li>
<li>Rename resulting folder into &#8220;metworks-2011-facade&#8221; (all lower case, use dashes, no quotes)</li>
<li>In Eclipse, choose File &gt; Import&#8230; &gt; General &gt; Existing projects into workspace&#8230;</li>
</ul>
<p><a href="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-import-general.png"><img class="aligncenter size-full wp-image-561" title="eclipse-import-general" src="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-import-general.png" alt="" width="598" height="430" /></a></p>
<ul>
<li>In the import dialog use the &#8220;select root directory&#8221; option and navigate to the folder in step 3</li>
<li>The project should now show up just below, make sure it&#8217;s ticked</li>
<li>Press &#8220;Finish&#8221;</li>
</ul>
<p><a href="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-import-project.png"><img class="aligncenter size-full wp-image-558" title="eclipse-import-project" src="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-import-project.png" alt="" width="620" height="612" /></a></p>
<ul>
<li>Back in the Eclipse workbench, open up the project in the project explorer&#8230;</li>
<li>Right click on the file &#8220;FacadeApp.launch&#8221; and choose &#8220;Run &gt; FacadeApp&#8221;&#8230; Have fun! That is all, if you&#8217;re on OSX&#8230;</li>
</ul>
<p><strong>Windows users will have to do a few more additional steps and edit the location of the native library components first</strong> (used by JOGL):</p>
<ul>
<li>Right click on the &#8220;metworks-2011-facade&#8221; project and choose &#8220;Properties &gt; Java Build Path &gt; Libraries&#8221;.</li>
<li>open the sub-tree for jogl.jar, select &#8220;Native library location&#8221; and then press the &#8220;Edit&#8230;&#8221; button</li>
</ul>
<p><a href="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-classpath-native-jogl.png"><img class="aligncenter size-large wp-image-560" title="eclipse-classpath-native-jogl" src="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-classpath-native-jogl-680x456.png" alt="" width="680" height="456" /></a></p>
<ul>
<li>Now choose the /lib/windows64 (or 32) folder inside your project folder and then confirm all changes. Then you can have fun too! :)</li>
</ul>
<p><a href="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-nativepath-edit.png"><img class="aligncenter size-full wp-image-559" title="eclipse-nativepath-edit" src="http://toxiclibs.org/wp-content/uploads/2011/12/eclipse-nativepath-edit.png" alt="" width="620" height="288" /></a>Some more brief overview of the different classes in the project&#8217;s /src folder:</p>
<ul>
<li><strong>FacadeApp</strong> &#8211; main application (extends PApplet)</li>
<li><strong>ParticleSystem</strong> &#8211; physics based particle simulation &amp; simple editor features for attractors</li>
<li><strong>SplineEditor</strong> &#8211; simple 2D curve editor for designing the facade profile</li>
<li><strong>FacadePoint</strong> &#8211; extension of Vec3D to include surface normal and normalized 2D position (needed for displacement)</li>
<li><strong>DisplacementStrategy</strong> &#8211; interface definition for defining concrete displacement operators (applied to FacadePoints)</li>
<li><strong>NoiseDisplacement</strong> &#8211; the currently sole available implementation of DisplacementStrategy, using 2d simplex noise</li>
<li><strong>ArcBall</strong> &#8211; re-usable arc ball view component for easier navigation/rotation of the 3D view</li>
</ul>
<p>Last, but definitely not least: Many, many dear thanks to <a href="http://arthurmani.com/" onclick="pageTracker._trackPageview('/outgoing/arthurmani.com/?referer=');">Arthur Mamou-Mani</a> and <a href="http://www.metropolitanworks.org" onclick="pageTracker._trackPageview('/outgoing/www.metropolitanworks.org?referer=');">Marcus Bowerman</a> for organising, your hospitality, 3d printing and making everything happen&#8230; We all hope to repeat something similar in the next year. You&#8217;ve been (and will be again) warned! :)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://toxiclibs.org/2011/12/metworks-workshop-facade/feed/</wfw:commentRss>
		<slash:comments>1</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><iframe src="http://player.vimeo.com/video/9535398" width="680" height="383" frameborder="0"></iframe></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>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><iframe src="http://player.vimeo.com/video/8547987" width="680" height="382" frameborder="0"></iframe></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>
	</channel>
</rss>

