<?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"
	>

<channel>
	<title>zero point nine</title>
	<atom:link href="http://www.zeropointnine.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zeropointnine.com/blog</link>
	<description>personal flash/actionscript work - lee felarca</description>
	<pubDate>Tue, 15 Jul 2008 02:26:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Robot Arm, Slideshow Viewer</title>
		<link>http://www.zeropointnine.com/blog/robot-arm-slideshow-viewer</link>
		<comments>http://www.zeropointnine.com/blog/robot-arm-slideshow-viewer#comments</comments>
		<pubDate>Thu, 19 Jun 2008 23:15:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<category><![CDATA[Overengineered image viewer]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/?p=28</guid>
		<description><![CDATA[

This is a slideshow viewer, utilizing the robot arm from this previous post done with Papervision 3D. I created it on the occasion of a presentation I&#8217;m preparing for the Flash user group, San Flashcisco. In typical fashion, I&#8217;ve spent more time creating the slideshow program than preparing the presentation itself, or the slides for [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/SlideshowViewer_thumb.jpg" onclick="javascript:showBox('SlideshowViewer',1024,768,'000000',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>This is a slideshow viewer, utilizing the robot arm from <a href="/blog/testing-kinematics-with-papervision3d-collada">this previous post</a> done with Papervision 3D. I created it on the occasion of a <a href="http://sanflashcisco.com/event/6" target="_new">presentation</a> I&#8217;m preparing for the Flash user group, <a href="http://sanflashcisco.com" target="_new">San Flashcisco</a>. In typical fashion, I&#8217;ve spent more time creating the slideshow program than preparing the presentation itself, or the slides for it. <code>:P</code> The slides themselves (dealing with Papervision3D) aren&#8217;t of too much value outside of the context of the presentation, but you can choose your own if you like (see below).
</div>
<p>The program uses hotkeys only &#8211;</p>
<pre><bigger>
  [SPACE/BACKSPACE]  Next/previous slide
  [BRACKET KEYS]     Next/previous slide without transition
  [COMMA]            Zoom in and out of slide, for the fun of it

   Also:             [1/Q, 2/W, 3/E, 4/R, 5/T, 6/Y, and 7/U] - Rotate joints
                     [Z,X,C,V] - Moves robot arm to various keyframes/poses

</big></pre>
<p><b>How to use this with your own images, from the Desktop&#8230;</b></p>
<p><span id="more-28"></span> This is really designed to run from the standalone Flash player or from a projector file (rather than inside the browser), where it can run in full screen mode with hotkeys enabled, and where it runs 2-3x faster (seriously). <a href="assets/SlideshowViewer.zip">Download the necessary files here</a> (ZIP file) to run this off your desktop (either by running the projector file executable for Windows or by running the SWF in the Flash standalone player). Then, you can also use your own images by editing the included xml file&#8230; It&#8217;s not the most user friendly system, but it does the job. (Ideally, it should probably be wrapped into an AIR application).</p>
<p>The robot arm animations were created by arranging the model in various poses, storing the rotation values of the joints for each pose (in effect, creating keyframes), and then creating a tweening system to animate the arm from one keyframe to another. And lastly, creating a mini-sequencer to coordinate animations requiring multiple keyframes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/robot-arm-slideshow-viewer/feed</wfw:commentRss>
		</item>
		<item>
		<title>Strange 3D objects, Perlin noise</title>
		<link>http://www.zeropointnine.com/blog/strange-3d-objects-perlin-noise</link>
		<comments>http://www.zeropointnine.com/blog/strange-3d-objects-perlin-noise#comments</comments>
		<pubDate>Sun, 18 May 2008 13:50:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/?p=27</guid>
		<description><![CDATA[

Recently I&#8217;ve been thinking on ways of programmatically creating curvy and strange, organic-looking shapes in 3D. And reflecting on the fact that I can think of no particular &#8216;practical&#8217; application for such an endeavor. And concluding that that&#8217;s part of what makes it interesting&#8230;

Here&#8217;s the high-level recipe:
Start with a cylinder or sphere-shaped mesh, where the [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/strangeobj_thumb.jpg" onclick="javascript:showBox('strangeobj',600,600,'ffffff',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>Recently I&#8217;ve been thinking on ways of programmatically creating curvy and strange, organic-looking shapes in 3D. And reflecting on the fact that I can think of no particular &#8216;practical&#8217; application for such an endeavor. And concluding that that&#8217;s part of what makes it interesting&#8230;
</p></div>
<p>Here&#8217;s the high-level recipe:</p>
<p>Start with a cylinder or sphere-shaped mesh, where the vertices are evenly spaced . The vertices of the mesh can be thought of as a matrix or grid, where the left and right edges are curved 360 degrees until they meet. </p>
<p>Take an interesting bitmap with varying light and dark areas, whose height and width match the number of rows and columns in the mesh.</p>
<p>Use brightness (or some other color-derived property) from the pixels of the bitmap as a multiplier value to dictate the distance of the corresponding vertices from the z-axis (center) of the shape.</p>
<p>That&#8217;s basically it. In Flash, the built-in <code><a href="http://livedocs.adobe.com/flex/3/langref/flash/display/BitmapData.html#perlinNoise()" target="_new">BitmapData.perlinNoise</a></code> method is perfect for generating interesting gradients. The kicker is that the last parameter of the method allows you to change the x &#038; y offset for each &#8216;octave&#8217; (think semi-transparent layer), allowing for gradual, random-looking changes over time. </p>
<p>So on each update, change the offset of each octave of the perlin noise image and recalculate the vertices accordingly. The behavior and properties of <a href="http://mrl.nyu.edu/~perlin/" target="_new">Perlin</a> noise does the rest.</p>
<p><center><a href="assets_code/PerlinizedMesh.as.txt" target="_new">Main class.as</a> | <a href="assets_code/strangeobj_project.zip">Project.zip (Flex Builder 3)</a></center></p>
<p class="creacom">Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons Attribution 3.0 License</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/strange-3d-objects-perlin-noise/feed</wfw:commentRss>
		</item>
		<item>
		<title>Processing - 3D Spiral Patterns</title>
		<link>http://www.zeropointnine.com/blog/processing-3d-spiral-patterns</link>
		<comments>http://www.zeropointnine.com/blog/processing-3d-spiral-patterns#comments</comments>
		<pubDate>Mon, 05 May 2008 21:13:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Processing experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/?p=26</guid>
		<description><![CDATA[

I&#8217;ve been getting comfortable with Processing over the last few days by experimenting with what else but &#8230; particles. The three-dimensional patterns that emerge by moving the sliders to change the internal parameters can be quite complex and unexpected, and sometimes strange attractor-like.
The algorithm governing the particle motion is very straightforward. New particles are created [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/spirals_thumb.jpg" onclick="javascript:showBox('spiral',600,600,'000000',this,true);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>I&#8217;ve been getting comfortable with Processing over the last few days by experimenting with what else but &#8230; particles. The three-dimensional patterns that emerge by moving the sliders to change the internal parameters can be quite complex and unexpected, and sometimes <a href='http://www.nathanselikoff.com/strangeattractors/' target='_new'>strange attractor</a>-like.</div>
<p>The algorithm governing the particle motion is very straightforward. New particles are created with a starting orientation which rotates linearly on 2 axes over time. On each frame, a given amount of x, y, and z rotation is added to each particle and then the particle is translated according to its orientation by a steadily increasing distance. </p>
<p>Click on the buttons in the bottom right corner to change the order that the x, y, and z rotations are applied (which creates very different results from each other). The 3 sliders on top-left control the amount of rotation added per frame; the two sliders in the middle control the rate of &#8217;spin&#8217; for the initial orientation of new particles; and the slider on the right controls the &#8217;speed&#8217; that particles move away from the point of origin.</p>
<div style="text-align:center;"><a href="assets_code/Spiral.pde.txt">Main class file</a>| <a href="assets_code/Spiral_source.zip">Full source code</a></div>
<p class="creacom" style="font-size:10px;">Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons Attribution 3.0 License</a>.</p>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/processing-3d-spiral-patterns/feed</wfw:commentRss>
		</item>
		<item>
		<title>Personal wiki of developer notes</title>
		<link>http://www.zeropointnine.com/blog/personal-wiki-of-developer-notes</link>
		<comments>http://www.zeropointnine.com/blog/personal-wiki-of-developer-notes#comments</comments>
		<pubDate>Thu, 01 May 2008 05:58:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/?p=25</guid>
		<description><![CDATA[Kind-of just for the hell of it as much as for any potential use value, I&#8217;ve converted all my notes related to programming, Flash, etc. - which used to live in various text files as various versions on various computers - into a wiki format. And have made it publicly viewable. Because, I figure, why [...]]]></description>
			<content:encoded><![CDATA[<p>Kind-of just for the hell of it as much as for any potential use value, I&#8217;ve converted all my notes related to programming, Flash, etc. - which used to live in various text files as various versions on various computers - into a wiki format. And have made it publicly viewable. Because, I figure, why not? </p>
<div style="padding:10px 0 10px 45px; font-weight:bold;"><a href="http://wiki.zeropointnine.com">http://wiki.zeropointnine.com</a></div>
<p>Much thanks to <a href="http://www.undefinedcreations.com/" target="_new">Adam Smith</a> for the idea. Have fun in L.A.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/personal-wiki-of-developer-notes/feed</wfw:commentRss>
		</item>
		<item>
		<title>Webcam Digital Video Recorder for AIR, updated</title>
		<link>http://www.zeropointnine.com/blog/webcam-digital-video-recorder-for-air-updated</link>
		<comments>http://www.zeropointnine.com/blog/webcam-digital-video-recorder-for-air-updated#comments</comments>
		<pubDate>Thu, 10 Apr 2008 05:13:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<category><![CDATA[AIR]]></category>

		<category><![CDATA[DVR]]></category>

		<category><![CDATA[FLV]]></category>

		<category><![CDATA[timeshifting]]></category>

		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/?p=24</guid>
		<description><![CDATA[


Webcam DVR has been updated for compatibility with the release version of Adobe AIR. I didn&#8217;t introduce any serious changes with this version. I don&#8217;t have the time to self-QA this in the way it deserves, so if you run across any bugs - big or small - please let me know!






Download (Adobe AIR file, [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><a href="/blog/assets/WebcamDVR.air"><img src="/blog/assets/webcamdvr_thumb.jpg" border="0" /></a></div>
</div>
<p><em>Webcam DVR</em> has been updated for compatibility with the release version of Adobe AIR. I didn&#8217;t introduce any serious changes with this version. I don&#8217;t have the time to self-QA this in the way it deserves, so if you run across any bugs - big or small - <a href="mailto:felarca at yahoo dot com">please let me know</a>!</p>
<table style="margin-left:15px;">
<tr>
<td>
<img src="/blog/assets/air-icon.png"/>
</td>
<td valign="center">
<a href="/blog/assets/WebcamDVR.air"><b>Download</b></a> (Adobe AIR file, 291K)
</td>
</tr>
</table>
<p>Requires the <a href="http://get.adobe.com/air/" target="_blank">Adobe AIR runtime</a>.</p>
<p>See the <a href="webcam-dvr-for-apollo">original post</a> for more info and usage notes.</p>
<p>Apologies for the cobwebs on this site. I&#8217;ve been pretty busy <a href="http://www.tropicanapure.com" target="_blank">with</a> .. <a href="http://www.getahappyface.com" target="_blank">work</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/webcam-digital-video-recorder-for-air-updated/feed</wfw:commentRss>
		</item>
		<item>
		<title>Testing Kinematics with Papervision3D, Collada</title>
		<link>http://www.zeropointnine.com/blog/testing-kinematics-with-papervision3d-collada</link>
		<comments>http://www.zeropointnine.com/blog/testing-kinematics-with-papervision3d-collada#comments</comments>
		<pubDate>Wed, 30 Jan 2008 07:10:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/testing-kinematics-with-papervision3d-collada</guid>
		<description><![CDATA[

A forward kinematics experiment using Papervision3D v2.0 alpha and a Collada 3D model of a robotic arm.
Hope you enjoy it. 
I don&#8217;t want to release any source from this yet, as I want to do some more work on it, relating to the following items&#8230;


As you&#8217;ll see, the range of rotation of each joint is [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/kinematics1_thumb.gif" onclick="javascript:showBox('kinematics1',950,600,'222222',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>A <a href="http://en.wikipedia.org/wiki/Forward_kinematics" target="_blank">forward kinematics</a> experiment using Papervision3D v2.0 alpha and a Collada 3D model of a robotic arm.</div>
<p>Hope you enjoy it. </p>
<p>I don&#8217;t want to release any source from this yet, as I want to do some more work on it, relating to the following items&#8230;</p>
<p><span id="more-23"></span></p>
<ul>
<li>As you&#8217;ll see, the range of rotation of each joint is constrained, but there isn&#8217;t enough program logic to keep consecutive joints from being rotated in such a way that the model folds in on itself unrealistically. Incidentally, the kind of model used here is ideal for playing with kinematics, as each joint rotates around only one axis, and each segment is connected on each end by no more than one other segment, except for the &#8216;pincers&#8217;. (Next up: <a href="http://www3.interscience.wiley.com/cgi-bin/abstract/114192301/ABSTRACT?CRETRY=1&#038;SRETRY=0" _target="_blank">bipeds</a> . . . ?!)</li>
<li>There&#8217;s some &#8216;Z-popup&#8217; which could be mitigated by modifying the source model just a little. By the way, the model comes from <a href="http://www.amazon.com/Learning-3ds-Max-2008-Foundation/dp/0240809270" target="_blank">Learning 3ds Max 2008 Foundation</a>.</li>
<li>The user interface to this piece is bare-bones functional. But I&#8217;m glad to have discovered that it&#8217;s possible to detect overlapping key-down events in Flash, which is kind of interesting. (If anyone has ideas for an easier-to-use interface that stills allows you to control multiple joints simultaneously, please let me know)</li>
<li>Lastly, it makes sense at this point to (learn how to) do some basic inverse kinematics. If and when I figure something out, I&#8217;ll post an update&#8230;</li>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/testing-kinematics-with-papervision3d-collada/feed</wfw:commentRss>
		</item>
		<item>
		<title>Papervision3D training in San Francisco at EVB</title>
		<link>http://www.zeropointnine.com/blog/papervision3d-training-in-san-francisco-at-evb</link>
		<comments>http://www.zeropointnine.com/blog/papervision3d-training-in-san-francisco-at-evb#comments</comments>
		<pubDate>Wed, 16 Jan 2008 01:55:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/papervision3d-training-in-san-francisco-at-evb</guid>
		<description><![CDATA[Just wanted to let anyone in or around the Bay Area know that there&#8217;s going to be a Papervision3D training with John Grden on the weekend of February 3-4 in San Francisco. It&#8217;s being held at EVB, which is where I work.
Here&#8217;s the link: http://pv3d.eventbrite.com/
If you&#8217;re going, look me up, as I&#8217;ll be there&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Just wanted to let anyone in or around the Bay Area know that there&#8217;s going to be a Papervision3D training with John Grden on the weekend of February 3-4 in San Francisco. It&#8217;s being held at <a href="http://www.evb.com" target="_new">EVB</a>, which is where I work.</p>
<p>Here&#8217;s the link: <a href="http://pv3d.eventbrite.com" target="_new">http://pv3d.eventbrite.com/</a></p>
<p>If you&#8217;re going, look me up, as I&#8217;ll be there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/papervision3d-training-in-san-francisco-at-evb/feed</wfw:commentRss>
		</item>
		<item>
		<title>A Papervision 2.0 alpha example</title>
		<link>http://www.zeropointnine.com/blog/a-papervision-20-alpha-example</link>
		<comments>http://www.zeropointnine.com/blog/a-papervision-20-alpha-example#comments</comments>
		<pubDate>Tue, 08 Jan 2008 06:43:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/a-papervision-20-alpha-example</guid>
		<description><![CDATA[

I drew up this example a few weeks ago to learn about the new features in Papervision 2.0 alpha. If you&#8217;re thinking of looking into the new version, then hopefully you&#8217;ll find the supplied source code below of some use. I used the code from this screencast on unitzeroone.com as a starting point.

The source code [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/Pv2Example_thumb.jpg" onclick="javascript:showBox('Pv2Example',950,500,'444444',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>I drew up this example a few weeks ago to learn about the new features in Papervision 2.0 alpha. If you&#8217;re thinking of looking into the new version, then hopefully you&#8217;ll find the supplied source code below of some use. I used the code from this <a href="http://www.unitzeroone.com/screencast/pv3dSetup.swf" target="_blank">screencast</a> on <a href="http://www.unitzeroone.com" target="_blank">unitzeroone.com</a> as a starting point.
</div>
<p>The source code has example usage of the following things&#8230;</p>
<p><span id="more-21"></span></p>
<ul>
<li>Setting up and rendering a simple 3d scene</li>
<li>Materials that take a light source, found in the org.papervision3d.materials.shadematerials package (GouraudMaterial, PhongMaterial, CellMaterial, FlatShadeMaterial, EnvMapMaterial). And CompositeMaterial, too, which is pretty useful as well.</li>
<li>Shaders (EnvMapShader)</li>
<li>Multiple viewports (used here to create the reflection on the floor)</li>
<li>Simple user interaction using InteractiveSceneManager (clicking on a ball makes it bounce)</li>
</ul>
<p>I wanted to throw all the example materials into the scene at the same time in order to compare their appearance, etc., so you may find the demo to run quite slowly&#8230;</p>
<p><a href="assets_code/Pv2Example.as.txt">Source code</a> </p>
<p class="creacom" style="font-size:10px;">Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons Attribution 3.0 License</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/a-papervision-20-alpha-example/feed</wfw:commentRss>
		</item>
		<item>
		<title>Collision detection between particles and polygons</title>
		<link>http://www.zeropointnine.com/blog/collision-detection-between-particles-and-polygons</link>
		<comments>http://www.zeropointnine.com/blog/collision-detection-between-particles-and-polygons#comments</comments>
		<pubDate>Sat, 05 Jan 2008 22:39:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/collision-detection-between-particles-and-polygons</guid>
		<description><![CDATA[

A basic example of collision detection in 3D, where moving particles bounce off a static terrain.


[By the way, my apologies for the cobwebs that have accumulated on this site; I&#8217;ve been busy over the past few months dealing with moving back to the Bay Area from Detroit :) ]
A couple things on it which could [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/ParticleCollisionTest_thumb.png" onclick="javascript:showBox('ParticleCollisionTest',1066,600,'000000',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>A basic example of collision detection in 3D, where moving particles bounce off a static terrain.
</p></div>
<div style="margin-left:30px;">
[<i>By the way, my apologies for the cobwebs that have accumulated on this site; I&#8217;ve been busy over the past few months dealing with moving back to the Bay Area from Detroit :) </i>]</div>
<p>A couple things on it which could be of use &#8230;</p>
<p><span id="more-20"></span></p>
<p>(A) To find out where a moving particle hits a polygon boils down to asking the question, &#8220;Where does a ray intersects a plane?&#8221; One or two Google searches will give you some math and some code examples&#8230; The gist is that the particle plus its velocity vector gives you the &#8220;ray&#8221; in question; the plane that it does or does not intersect is the one created by the triangle of the polygon you&#8217;re testing against. </p>
<p>In this case, with the polygon which makes up the &#8216;terrain&#8217;, the triangles are set at regular intervals on the X/Z plane (in the parlance of Papervision3D, an instance of &#8220;Plane3D&#8221;), so it was relatively straightforward to find the right triangle to do a &#8220;hit test&#8221; on. If it&#8217;s a more irregularly shaped polygon, you&#8217;ll have to iterate thru all the triangles testing for the occurrence of an intersection, or find clever ways of minimizing the number of tests you have to perform on the polygon). </p>
<p>(B) When a collision has been detected, you have to figure out the direction of the bounce. The solution I arrived at comes from asking the question, &#8220;How do you rotate a point or vector around an arbitrary axis?&#8221; (Again, Google is your friend). In this case, that arbitrary axis is the normal of the triangle that the particle has hit. The velocity vector of the particle is reversed (since, after all, the particle has to &#8220;bounce&#8221;) and rotated 180 degrees. The result of this is that the angle between the new vector and the triangle normal equals the angle between the original vector and the triangle normal. I&#8217;m not sure if this makes sense in terms of real physics but it seems to make intuitive sense to me, and &#8220;looks&#8221; correct enough&#8230; If someone can comment on this, I&#8217;d appreciate it.</p>
<p>Source code: <a href="assets_code/ParticleCollisionTest.as.txt">Main class file</a> |  <a href="assets_code/ParticleCollisionTest.zip">Full project (Flex Builder 3)</a> </p>
<p class="creacom" style="font-size:10px;">Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons Attribution 3.0 License</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/collision-detection-between-particles-and-polygons/feed</wfw:commentRss>
		</item>
		<item>
		<title>Particle Field</title>
		<link>http://www.zeropointnine.com/blog/particle-field</link>
		<comments>http://www.zeropointnine.com/blog/particle-field#comments</comments>
		<pubDate>Mon, 24 Sep 2007 14:28:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Flash experiments]]></category>

		<guid isPermaLink="false">http://www.zeropointnine.com/blog/particle-field</guid>
		<description><![CDATA[

A matrix of vectors acting upon a field of particles. Reminiscent of falling water or snow, slightly. Click and drag to &#8216;draw&#8217; vectors on the field to influence the movement of particles.
For me, the idea comes from Charles Forman&#8217;s blog post in Setpixel from 2004, &#8220;Snow is fun.&#8221; Which is incredibly great. And done in [...]]]></description>
			<content:encoded><![CDATA[<div class="paragraph1">
<div class="imageright"><img src="/blog/assets/ParticleField_thumb.gif" onclick="javascript:showBox('ParticleField',600,590,'333333',this);" alt="Thumbnail - Click me" style="cursor: pointer" /></div>
<p>A matrix of vectors acting upon a field of particles. Reminiscent of falling water or snow, slightly. Click and drag to &#8216;draw&#8217; vectors on the field to influence the movement of particles.</p>
<p>For me, the idea comes from Charles Forman&#8217;s blog post in Setpixel from 2004, <a href='http://www.setpixel.com/content/?ID=snow' target='_blank'>&#8220;Snow is fun.&#8221;</a> Which is incredibly great. And done in <a href='http://processing.org/' target='_blank'>Processing</a>.
</div>
<p>Source code:</p>
<p>- <a href="assets_code/ParticleField.as.txt">Actionscript 3 class</a></p>
<p>- <a href="assets_code/ParticleFieldProject.zip">Full project (Flash 9/AS3)</a><br />
<br/></p>
<p class="creacom" style="font-size:10px;">Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/" rel="license" target="_blank">Creative Commons Attribution 3.0 License</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zeropointnine.com/blog/particle-field/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
