<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-9047719918321872893</id><updated>2009-10-16T18:32:05.359-07:00</updated><title type='text'>When Picasso Meets His Bull</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-3813261477024998855</id><published>2008-04-11T02:21:00.000-07:00</published><updated>2008-04-11T02:27:53.396-07:00</updated><title type='text'>wii hacks</title><content type='html'>&lt;!--cut and paste--&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="432" height="285" id="VE_Player" align="middle"&gt;&lt;param name="movie" value="http://static.videoegg.com/ted2/flash/loader.swf"&gt;&lt;PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/JOHNNYLEE-2008_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="scale" value="noscale"&gt;&lt;param name="wmode" value="window"&gt;&lt;embed src="http://static.videoegg.com/ted2/flash/loader.swf" FlashVars="bgColor=FFFFFF&amp;file=http://static.videoegg.com/ted/movies/JOHNNYLEE-2008_high.flv&amp;autoPlay=false&amp;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&amp;forcePlay=false&amp;logo=&amp;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="432" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-3813261477024998855?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/3813261477024998855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=3813261477024998855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3813261477024998855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3813261477024998855'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/04/wii-hacks.html' title='wii hacks'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-3935497210955138501</id><published>2008-03-21T08:23:00.000-07:00</published><updated>2008-03-21T08:29:24.988-07:00</updated><title type='text'>video</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cnYH3Jwsk6w&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cnYH3Jwsk6w&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/lqavb0TfuEs&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/lqavb0TfuEs&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-3935497210955138501?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/3935497210955138501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=3935497210955138501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3935497210955138501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3935497210955138501'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/blog-post.html' title='video'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-4374431605991990059</id><published>2008-03-21T07:34:00.000-07:00</published><updated>2008-03-21T08:07:06.124-07:00</updated><title type='text'>example of using behaviors for Graphics</title><content type='html'>I made a master to demonstrate how to create some of the graphic effects &lt;span style="color:#666666;"&gt;(used by the flight404 project)&lt;/span&gt; using behaviors.&lt;br /&gt;&lt;br /&gt;please update your code from the repository, and go to the &lt;span style="color:#339999;"&gt;initialize()&lt;/span&gt; mathod of &lt;span style="color:#339999;"&gt;GraphicEffects.java&lt;/span&gt; in the &lt;span style="color:#339999;"&gt;master&lt;/span&gt; package.&lt;br /&gt;&lt;br /&gt;within this methos is a demonstration of how to subscribe behaviors to wetObjects. There is no limit to the number of behaviors you can subscribe, try to understand how they are used, and write your own wetObjects and behaviors.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mit.edu/~seah/cap5.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;For those of you don't code, I make some screen shots of graphic affects that we have right now, I would suggest to make a wish list, stating any geometric forms, or graphics effects or dynamics that you wish to create.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.mit.edu/~seah/cap6.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-4374431605991990059?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/4374431605991990059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=4374431605991990059' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4374431605991990059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4374431605991990059'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/example-of-using-behaviors-for-graphics.html' title='example of using behaviors for Graphics'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-2112080693473399454</id><published>2008-03-18T17:23:00.001-07:00</published><updated>2008-03-20T17:05:02.653-07:00</updated><title type='text'>Interactive Particle Stuff UCLA</title><content type='html'>&lt;a href="http://bodytag.org/fluid_bodies/"&gt;http://bodytag.org/fluid_bodies/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-2112080693473399454?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/2112080693473399454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=2112080693473399454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2112080693473399454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2112080693473399454'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/interactive-particle-stuff-ucla_18.html' title='Interactive Particle Stuff UCLA'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-4795363722986301105</id><published>2008-03-18T16:14:00.001-07:00</published><updated>2008-03-18T16:33:02.405-07:00</updated><title type='text'>Get the Code(updated)!!!</title><content type='html'>This guide is only for people who use Eclipse. For those of you who use something else, you will have to find directions of how to add a cvs repository to your workspace. If you need help, just email me. I've tested this on a mac (leopard), windows (vista), ubuntu (gutsy gibbon).&lt;br /&gt;&lt;br /&gt;1. Make sure you have Eclipse installed (&lt;a class="moz-txt-link-abbreviated" href="http://www.eclipse.org/"&gt;http://www.eclipse.org&lt;/a&gt;)&lt;br /&gt;2. Make sure you have at least JDK 5.0 installed on your computer. (&lt;a class="moz-txt-link-freetext" href="http://java.sun.com/javase/"&gt;http://java.sun.com/javase/&lt;/a&gt;)&lt;br /&gt;3. In Eclipse, File-&gt;Import... Then choose CVS-&gt;Projects from CVS. Click next.&lt;br /&gt;4. A screen may show up that lets you choose to create a new repository or use an existing one if you have one already. Choose to create a new one. Click next.&lt;br /&gt;5. Fill in the form with the following information:&lt;br /&gt;&lt;br /&gt;host: fathead.mit.edu&lt;br /&gt;Repository Path: /school&lt;br /&gt;User: &amp;lt;athena-user-name&amp;gt;&lt;athena-user-name&gt;&lt;your&gt;&lt;br /&gt;Password: &lt;/your&gt;&lt;/athena-user-name&gt;&amp;lt;athena-user-name&amp;gt;&lt;athena-user-name&gt;&lt;your&gt;&lt;your&gt; &lt;athena-user-name&gt;(this can be changed if you want it to, just let me know)&lt;br /&gt;Connection type: pserver&lt;br /&gt;Use Default port should be selected&lt;br /&gt;&lt;br /&gt;Once filled in, click next.&lt;br /&gt;&lt;br /&gt;6. Select "Use an existing module".  Select picasso and select finish.&lt;br /&gt;&lt;br /&gt;You should now have a project in your workspace called picasso There should be no errors in the project but maybe some warnings.&lt;br /&gt;&lt;br /&gt;Now you can run the application. I like using the view Package Explorer (Window-&gt;Show View-&gt;Package Explorer). Navigate to active-&gt;application-&gt;RunMe. Right click it and select Run As-&gt;Java Application.&lt;br /&gt;&lt;br /&gt;There should be a pop up window that asks you use which? and num windows.  If not, then something went wrong, so email me.&lt;br /&gt;&lt;br /&gt;&lt;/athena-user-name&gt;&lt;/your&gt;&lt;/your&gt;&lt;/athena-user-name&gt;Another note.  Si and I will be working on the core of the system and will be updating the system as the term continues.   So because of this, you're going to want to "update" the code on your computer to reflect our changes as well as  "commit" your changes to be reflected on other peoples computers.  When you are done working on something and are ready  to put it on the system, do the following:&lt;br /&gt;&lt;br /&gt;1. In the Package Explorer view, right click on the project (picasso)-&gt;Team-&gt;Update.  This should update your  code on your computer with the changes that others have made.&lt;br /&gt;&lt;br /&gt;To "commit" your code so that it is reflected on the server:&lt;br /&gt;1. In the Package Explorer view, right click on what you want to add to the server-&gt;Team-&gt;Commit.  Follow the  instructions.  This should add the changes you made to the server.&lt;br /&gt;&lt;br /&gt;&lt;athena-user-name&gt;&lt;your&gt;&lt;your&gt;&lt;athena-user-name&gt;Anyways, enjoy. If you have any problems getting it running, let me know and I'll try to help you out. Si and I will be posting tutorials as we get them written.&lt;br /&gt;Important Notice:&lt;br /&gt;Please do not change the files in the "dev" folder.  These are changed daily by Si and I.  Most of everyones contribution will be in the "active" folder.&lt;br /&gt;&lt;/athena-user-name&gt;&lt;/your&gt;&lt;/your&gt;&lt;/athena-user-name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-4795363722986301105?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/4795363722986301105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=4795363722986301105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4795363722986301105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4795363722986301105'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/get-codeupdated.html' title='Get the Code(updated)!!!'/><author><name>MIKEY-SAN</name><uri>http://www.blogger.com/profile/10758466263033044075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01735069759735431566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-369765251430850716</id><published>2008-03-18T15:34:00.000-07:00</published><updated>2008-03-18T15:35:04.664-07:00</updated><title type='text'>B005-Change the Look</title><content type='html'>Tutorial on changing only appearance of a wetObject.&lt;br /&gt;link:&lt;br /&gt;&lt;a href="http://www.mit.edu/~seah/changeLook.html"&gt;http://www.mit.edu/~seah/changeLook.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-369765251430850716?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/369765251430850716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=369765251430850716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/369765251430850716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/369765251430850716'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/b005-change-look.html' title='B005-Change the Look'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-1252500901654454861</id><published>2008-03-18T12:48:00.001-07:00</published><updated>2008-03-18T13:04:57.385-07:00</updated><title type='text'>Neat processing tricks...and some ideas</title><content type='html'>&lt;a href="http://flight404.com/blog"&gt;flight404&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a blog of the videos posted by Kaustuv.  I've been reading through them and have come up with some ideas we can implement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To create the beat ones, he would play the song through and manually hit the punches (assigning keys to different percussion instruments such as bass drum, snare, etc.).  We can do this in real time and have the audience try to use a wii to play the beat while the music is playing.  Every button is an instrument and each instrument would be certain visual effects (behaviors) in the system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, another point I want to make about graphics and cool effects is textures.  You can use textures(images) to make the graphics in the system.  Instead of coding an awesome fire particle, you would use a texture that looks like an awesome fire particle in the system along with smaller graphics functions.  So for those visual artists in you, this is your calling.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-1252500901654454861?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/1252500901654454861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=1252500901654454861' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1252500901654454861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1252500901654454861'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/neat-processing-tricksand-some-ideas.html' title='Neat processing tricks...and some ideas'/><author><name>MIKEY-SAN</name><uri>http://www.blogger.com/profile/10758466263033044075</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01735069759735431566'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-8846398290699783999</id><published>2008-03-17T18:40:00.000-07:00</published><updated>2008-03-17T18:41:41.837-07:00</updated><title type='text'>Robert Hodgin - Magnetic Ink (Processing again!)</title><content type='html'>&lt;object type="application/x-shockwave-flash" width="400" height="300" data="http://www.vimeo.com/moogaloop.swf?clip_id=615344&amp;amp;server=www.vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color="&gt; &lt;param name="quality" value="best" /&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="scale" value="showAll" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=615344&amp;amp;server=www.vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/615344/l:embed_615344"&gt;Magnetic Ink, Process video&lt;/a&gt; from &lt;a href="http://www.vimeo.com/flight404/l:embed_615344"&gt;flight404&lt;/a&gt; on &lt;a href="http://vimeo.com/l:embed_615344"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-8846398290699783999?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/8846398290699783999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=8846398290699783999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/8846398290699783999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/8846398290699783999'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/robert-hodgin-magnetic-ink-processing.html' title='Robert Hodgin - Magnetic Ink (Processing again!)'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-2998370394847844759</id><published>2008-03-17T18:37:00.000-07:00</published><updated>2008-03-17T18:39:54.118-07:00</updated><title type='text'>Robert Hodgin - Solar with lyrics (Processing with Sonia)</title><content type='html'>&lt;object type="application/x-shockwave-flash" width="400" height="300" data="http://www.vimeo.com/moogaloop.swf?clip_id=658158&amp;amp;server=www.vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color="&gt; &lt;param name="quality" value="best" /&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="scale" value="showAll" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=658158&amp;amp;server=www.vimeo.com&amp;amp;fullscreen=1&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/658158/l:embed_658158"&gt;Solar, with lyrics.&lt;/a&gt; from &lt;a href="http://www.vimeo.com/flight404/l:embed_658158"&gt;flight404&lt;/a&gt; on &lt;a href="http://vimeo.com/l:embed_658158"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-2998370394847844759?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/2998370394847844759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=2998370394847844759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2998370394847844759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2998370394847844759'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/robert-hodgin-solar-with-lyrics.html' title='Robert Hodgin - Solar with lyrics (Processing with Sonia)'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-5610702419438142863</id><published>2008-03-17T18:33:00.000-07:00</published><updated>2008-03-17T18:35:38.767-07:00</updated><title type='text'>cellular soundscape!</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rYjevNIJztw&amp;hl=en"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rYjevNIJztw&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-5610702419438142863?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/5610702419438142863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=5610702419438142863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/5610702419438142863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/5610702419438142863'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/cellular-soundscape.html' title='cellular soundscape!'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-1334634529989065753</id><published>2008-03-17T12:39:00.000-07:00</published><updated>2008-03-17T12:52:24.141-07:00</updated><title type='text'>B004-Writing a Behavior</title><content type='html'>the e blog does read HTML very well and destroys all my line format, so please go to the following link:&lt;br /&gt;&lt;a href="http://www.mit.edu/~seah/writingBehavior.html"&gt;http://www.mit.edu/~seah/writingBehavior.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-1334634529989065753?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/1334634529989065753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=1334634529989065753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1334634529989065753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1334634529989065753'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/b004-writing-behavior.html' title='B004-Writing a Behavior'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-4534223786635129279</id><published>2008-03-16T18:25:00.000-07:00</published><updated>2008-03-16T18:33:13.365-07:00</updated><title type='text'>B003-Making your first WetObject and give it a behavior</title><content type='html'>This tutorial lets you get started with wetObject and behaviors.&lt;br /&gt;&lt;br /&gt;After this tutorial you should know:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#669933;"&gt;1. How to create WetObject&lt;br /&gt;&lt;br /&gt;2. How to alter the behavior of a wetObject by assigning behavior scripts to it&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Before you continue any further, I assume you have read Mikey’s email&lt;br /&gt;instruction about obtaining the code, and have downloaded the code from the&lt;br /&gt;CVS repository. Also I assume you have used eclipse and java.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If you run the active_picaso project, you should see a popup window allows&lt;br /&gt;you to choose different master. We will use “levitation” master&lt;br /&gt;for this tutorial.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;When you run with “levitation” selected as option, you should see&lt;br /&gt;two boxes, one circulates around and the other looks at the moving box as it&lt;br /&gt;circulates.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;We are now going to look at the code of these.&lt;br /&gt;&lt;br /&gt;1. Go to a package named “masters” and find levitation&lt;br /&gt;&lt;br /&gt;2. Go to the method called “initialize()”&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Within this method you are going to create a new box, and let this new box&lt;br /&gt;also look at the circulating box.&lt;br /&gt;&lt;br /&gt;1. create a new wetObject&lt;br /&gt;&lt;br /&gt;(WetObject by default draws itself as a box, in this tutorial I am not going&lt;br /&gt;to show how to change the appearance of wetObjects. Lets do that in another&lt;br /&gt;tutorial.)&lt;br /&gt;&lt;br /&gt;Within this method, At the end of all existing lines, add the following:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;// This line creates a new WetObject instance called&lt;br /&gt;o3.&lt;br /&gt;&lt;br /&gt;WetObject o3=new WetObject();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//now add this to the scene&lt;br /&gt;&lt;br /&gt;//the create() method adds any&lt;br /&gt;&lt;br /&gt;//WetObjects or childrens of Wetobject into our world&lt;br /&gt;&lt;br /&gt;o3.create();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//set the position of this wetObject&lt;br /&gt;&lt;br /&gt;//by default it creates at (0,0,0)&lt;br /&gt;&lt;br /&gt;o3.setPos(20,20,20);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;if you run the application now, you should see three boxes instead of two.&lt;br /&gt;If so, you have successfully created a wetObject&lt;/p&gt;&lt;br /&gt;&lt;p&gt;2. Make the new box look at the circulating box&lt;br /&gt;&lt;br /&gt;We have make some simple behaviors in the package called “behaviors”.&lt;br /&gt;If you are writing behaviors later on, you will be adding them to the behaviors&lt;br /&gt;package.&lt;br /&gt;&lt;br /&gt;Now we are going to assign one of the behaviors to the new box&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Add this line:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;o3.subscribe(new LookAtWetObject(o3,o));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;if you run the application again, the new box will have a behavior which looks&lt;br /&gt;at the circulating box. Don’t worry about what the arguments are at this&lt;br /&gt;point.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The idea is, you are going to write different behaviors, we can subscribe multiple&lt;br /&gt;behaviors to an object using the subscribe() method. And those behaviors are&lt;br /&gt;what provides us different visual effects and particle dynamics&lt;/p&gt;&lt;br /&gt;&lt;p&gt;When you run you application, If you see three boxes, one circulates around&lt;br /&gt;and the other two looks at it, you have completed this tutorial.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The next one is “&lt;strong&gt;Understand the Core of WetObject and Write a Behavior&lt;/strong&gt;”&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-4534223786635129279?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/4534223786635129279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=4534223786635129279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4534223786635129279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/4534223786635129279'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/making-your-first-wetobject-and-give-it.html' title='B003-Making your first WetObject and give it a behavior'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-3436170683238909887</id><published>2008-03-16T17:56:00.000-07:00</published><updated>2008-03-16T18:32:55.127-07:00</updated><title type='text'>B002-A brief explanation of the system</title><content type='html'>Our system has relies on using different behaviors on particles to create visual affect&lt;br /&gt;&lt;br /&gt;mostly everyone is going to contribute to behaviors for wetObjects. we will go over this in more detail tutorial, here is a overview of the tree kinds of scripts you will be writting.&lt;br /&gt;&lt;br /&gt;dowload ppt from here:&lt;a href="http://www.mit.edu/~seah/WetExplain.ppt"&gt;http://www.mit.edu/~seah/WetExplain.ppt&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-3436170683238909887?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/3436170683238909887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=3436170683238909887' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3436170683238909887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/3436170683238909887'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/brief-explanation-of-system.html' title='B002-A brief explanation of the system'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-1309461388113315040</id><published>2008-03-16T16:23:00.000-07:00</published><updated>2008-03-16T18:31:44.422-07:00</updated><title type='text'>B001-moving things in 3D using the Vector3F class</title><content type='html'>Why do you need this tutorial?&lt;br /&gt;&lt;br /&gt;This tutorial tells you how to move things in 3d using some basic vector math,&lt;br /&gt;and introduce you to our Vector3F class. You can skip to the Vecto3F documentation&lt;br /&gt;if you know vector math.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#6699cc;"&gt;&lt;strong&gt;This tutorial includes:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A Concepts:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A1. What is vector?&lt;br /&gt;&lt;br /&gt;A2. Normalizing vectors&lt;br /&gt;&lt;br /&gt;A3. Adding vectors&lt;br /&gt;&lt;br /&gt;A4. Subtracting vectors&lt;br /&gt;&lt;br /&gt;A5. Scaling vectors&lt;br /&gt;&lt;br /&gt;A6. Dot product&lt;br /&gt;&lt;br /&gt;A7. Cross products&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;B HowTo:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;B1. How to move a point from point A to point B?&lt;br /&gt;&lt;br /&gt;B2. How to animate a point moving from A to B in N steps?&lt;br /&gt;&lt;br /&gt;B3. How to find a normal of a plane?&lt;br /&gt;&lt;br /&gt;B4. How to find a line perpendicular to a given line?&lt;br /&gt;&lt;br /&gt;B5. How to scale a group of point with a base point?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A1. What is vector?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Vector&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#cc9900;"&gt;&lt;em&gt;"vector, is a geometric object which has both&lt;br /&gt;a magnitude and a direction"(&lt;a href="http://en.wikipedia.org/wiki/Vector_%28spatial%29" target="_blank"&gt;Wikipedia&lt;/a&gt;)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;A vector can be seen as point in space, it can be represented by three numeric&lt;br /&gt;values, such as (x,y,z), that indicated the distance from this point to the&lt;br /&gt;origin(0,0,0)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;in our Vector3F class you can create a vector by calling:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;Vector3F myPoint=new Vector3F(3,5,10);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;this line creates a vector called&lt;span style="color:#0099cc;"&gt; myPoint &lt;/span&gt;at the&lt;br /&gt;location x=3, y=5,z=10.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Direction&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;the direction from 0,0,0 to the point(x,y,z) is the direction of the vector.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Magnitude&lt;/strong&gt;&lt;br /&gt;the magnitude of this vector is the distance between (0,0,0) and (x,yz)&lt;br /&gt;in our Vector3F class, you can find the magnitude of the vector by calling&lt;br /&gt;the mag() method. For example:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//v is a vector&lt;br /&gt;&lt;br /&gt;Vector3F v;&lt;br /&gt;&lt;br /&gt;//get magnitude of v&lt;br /&gt;&lt;br /&gt;Float magnitude = v.mag();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A2. Normalizing vectors&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Normalizing a vector is to make the magnitude of a vector equals 1. This is&lt;br /&gt;usually when we do different kinds of calculations such as scaling a vector&lt;br /&gt;to a desire length or calculate angles&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In out Vector3F class, you can use the normalize() method&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F v=new vecto3F(0,5,0);&lt;br /&gt;&lt;br /&gt;v.normalize();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;the result is, v become (0,1,0);&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A3. Adding vector&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;is best illustrated in this diagram&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://hyperphysics.phy-astr.gsu.edu/hbase/imgmec/vec7a.gif" /&gt;&lt;a href="http://hyperphysics.phy-astr.gsu.edu/hbase/vect.html#veccon"&gt;(hyperphysics)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;in our Vector3F class, there are two ways to do this.&lt;br /&gt;&lt;br /&gt;Assume we have two instances vector3F called A and B.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F A=new Vector(1,2,3);&lt;br /&gt;&lt;br /&gt;Vector3F B=new Vector(2,3,4);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Case 1, we want to add B to A, so that&lt;br /&gt;&lt;br /&gt;A=A+B&lt;br /&gt;&lt;br /&gt;In this case, we can do:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;A.add(B);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result is A becomes (3,4,7)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Case 2, we want do want to change the values of A and B, we want to add them&lt;br /&gt;to a new Vector called C such as C=A+B&lt;br /&gt;&lt;br /&gt;In this case we do&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F C=Vector3F.add(A,B);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result is A and B are un changed, but C becomes (3,4,7)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;See documentation for &lt;span style="color:#0099cc;"&gt;Vector3F.add(Vector3F)&lt;/span&gt; and&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;vector3F.add(Vector3F,Vector3F)&lt;/span&gt; for detail&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A4. Subtracting vectors&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;vector subtraction can be described by this diagram:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://pear.math.pitt.edu/calculus/week2/vecsub.eps.gif" /&gt;&lt;a href="http://pear.math.pitt.edu/calculus/week2/2_1li8.html"&gt;(pearMath)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Simmular to addition, there are two ways to do subtractions:&lt;br /&gt;&lt;br /&gt;Assume we have two instances vector3F called A and B.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F A=new Vector(1,2,3);&lt;br /&gt;&lt;br /&gt;Vector3F B=new Vector(2,3,4);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Case 1, we want to subtract B from A, so that&lt;br /&gt;&lt;br /&gt;A=A-B&lt;br /&gt;&lt;br /&gt;In this case, we can do:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;A.sub(B);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result is A becomes (-1,-1,-1)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Case 2, we want do want to change the values of A and B, we want to subtract&lt;br /&gt;them to a new Vector called C such that C=A-B&lt;br /&gt;&lt;br /&gt;In this case we do&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F C=Vector3F.subtract(A,B);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The result is A and B are un changed, but C becomes (-1,-1,-1)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;See documentation for &lt;span style="color:#0099cc;"&gt;Vector3F.sub(Vector3F)&lt;/span&gt; and&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;vector3F.subtract(Vector3F,Vector3F) &lt;/span&gt;for detail&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A5. Scaling vectors&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;scale a vector is to scale the magnitude of a vector by a number. in Vecto3F,&lt;br /&gt;we can do this by:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector v=new Vector(0,3,0);&lt;br /&gt;&lt;br /&gt;v.scale(4);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;the result is v become (0,12,0)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;A6. Dot product &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc9900;"&gt;"dot product, also known as the scalar product, is&lt;br /&gt;an operation which takes two vectors over the real numbers R and returns a real-valued&lt;br /&gt;scalar quantity. It is the standard inner product of the Euclidean space.&lt;/span&gt;"(&lt;a href="http://en.wikipedia.org/wiki/Dot_product"&gt;see&lt;br /&gt;wikipedia for more detail&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;you may not need to use this, but the way to do it in Vector3F is:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;First assume we have two vectors as such:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F A=new Vector(1,2,3);&lt;br /&gt;&lt;br /&gt;Vector3F B=new Vector(2,3,4);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Case 1: A=A dot B&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;A.dot(B);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Case2: C=A dot B&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F C=Vector3F.dot(A,B)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;A7. Cross products&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc9900;"&gt;&lt;em&gt;"the cross product is a binary operation on two&lt;br /&gt;vectors in a three-dimensional Euclidean space that results in another vector&lt;br /&gt;which is perpendicular to the two input vectors.&lt;/em&gt;&lt;/span&gt;"(&lt;a href="http://en.wikipedia.org/wiki/Cross_product"&gt;see&lt;br /&gt;wikipedia for more detail&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;You may need to do a cross product very often when you a scripting sptial transformations.&lt;br /&gt;In Vector3F, there are two ways to do it. First assume we have two vectors as&lt;br /&gt;such:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F A=new Vector(1,2,3);&lt;br /&gt;&lt;br /&gt;Vector3F B=new Vector(2,3,4);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Case 1: A=A cross B&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;A.cross(B);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Case2: C=A cross B&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F C=Vector3F.cross(A,B)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;B1. How to move a point from point A to point B?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Moving a point from A to B is changing the x,y,z value of point A into corresponding&lt;br /&gt;values from point B.&lt;br /&gt;&lt;br /&gt;Here is an example using Vector3F.&lt;br /&gt;&lt;br /&gt;let say PointA and PointB are both instances of Vector3F.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;PointA.set(PointB) &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;this line makes each of the x,y,z value of PointA equals to each of the x,y,z&lt;br /&gt;values of PointB.&lt;br /&gt;&lt;br /&gt;see Vector3F.set(Vector3F) method &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;B2. How to animate a point moving in space?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If you wan to animate a point moving from PointA to PointB in the duration of&lt;br /&gt;10 frames, here are the things you may want to do:&lt;br /&gt;&lt;br /&gt;1. find the distance between PointA and PointB&lt;br /&gt;&lt;br /&gt;2. Divide the distance by 10 to get the length that the point wants to move&lt;br /&gt;each frame&lt;br /&gt;&lt;br /&gt;3. Using the move direction and move length to find the vector that indicates&lt;br /&gt;the change of position in a single frame.&lt;br /&gt;&lt;br /&gt;4. move the point.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;here is the Vector3F version:&lt;br /&gt;&lt;br /&gt;Assume the Point that is being animate is an instance of Vector3F called myPoint,&lt;br /&gt;and Point A and B are also instance of Vector3F called PointA and PointB.&lt;br /&gt;&lt;br /&gt;Initially myPoint is at PointA, we want to move it to PointB in 10 steps&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#6699cc;"&gt;//1. find the distance D between PointA and PointB&lt;br /&gt;&lt;br /&gt;double distance = PointA.distanceTo(PointB);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#3399cc;"&gt;//2. Divide the distance by 10&lt;br /&gt;&lt;br /&gt;//to get the distance that the point&lt;br /&gt;&lt;br /&gt;//wants to move each frame&lt;br /&gt;&lt;br /&gt;double moveDist=distance/10;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#3399cc;"&gt;//3. first fine the direction that the point&lt;br /&gt;&lt;br /&gt;//moves towards&lt;br /&gt;&lt;br /&gt;Vector3F direction=Vector3F.subtract(PointB, PointA);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#3399cc;"&gt;//normalize the vector&lt;br /&gt;&lt;br /&gt;direction.normalize();&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#3399cc;"&gt;//scale the direction vector with the distance you want&lt;br /&gt;to move&lt;br /&gt;&lt;br /&gt;direction.scale(moveDist);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#3399cc;"&gt;//4. move the point in a single frame&lt;br /&gt;&lt;br /&gt;myPoint.add(direction);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Because the behaviors are being called every frame, therefore you only have&lt;br /&gt;script the movement in a single frame, and this action will be carried out every&lt;br /&gt;frame automatically by the system. So how do you make it stop moving? Simply&lt;br /&gt;check to see if myPoint has moved to PointB. The code is:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;if ( myPoint.equals(PointB)) //than stop moving&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, it's better to put tolerance into our code to avoid bugs, so we change&lt;br /&gt;above condition to :&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;if (myPoint.distanceTo(PointB)&amp;lt;0.001) //then stop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The "0.001" in the code is the tolerance. No need to explain this&lt;br /&gt;line right?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;We can look at the entire animation structure as:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//if the myPoint is not at PointB&lt;br /&gt;&lt;br /&gt;//( pay attention to the negate sign "!" in the logical expression&lt;br /&gt;&lt;br /&gt;if( ! myPoint.distanceTo(PointB)&lt;0.001)&gt;&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//move the point one step&lt;br /&gt;&lt;br /&gt;//put your code here:&lt;br /&gt;&lt;br /&gt;double distance = PointA.distanceTo(PointB);&lt;br /&gt;&lt;br /&gt;double moveDist=distance/10;&lt;br /&gt;&lt;br /&gt;Vector3F direction=Vector3F.subtract(PointB, PointA);&lt;br /&gt;&lt;br /&gt;direction.normalize();&lt;br /&gt;&lt;br /&gt;direction.scale(moveDist);&lt;br /&gt;&lt;br /&gt;myPoint.add(direction);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;this illustration shows a movement in constant speed, however there are many&lt;br /&gt;ways to move a point from A to B, such as:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;if( ! myPoint.distanceTo(PointB)&gt;0.001)&lt;br /&gt;&lt;br /&gt;{&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;double distance = myPoint.distanceTo(PointB);&lt;br /&gt;&lt;br /&gt;double moveDist=distance/10;&lt;br /&gt;&lt;br /&gt;Vector3F direction=Vector3F.subtract(PointB, myPoint);&lt;br /&gt;&lt;br /&gt;direction.normalize();&lt;br /&gt;&lt;br /&gt;direction.scale(moveDist);&lt;br /&gt;&lt;br /&gt;myPoint.add(direction);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this case, the movement will slow down as it get closer to PointB exponentially,&lt;br /&gt;and it will take forever to complete the movement if you don't set a tolerance.&lt;br /&gt;&lt;br /&gt;you can come up with your own way of animating movements.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;B3. How to find a normal of a plane?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The normal to plane is the cross product of two vectors on the plane&lt;br /&gt;&lt;br /&gt;You make want to take note on the following scenarios:&lt;br /&gt;&lt;br /&gt;1. when the plane is defined by 3 points:&lt;br /&gt;&lt;br /&gt;let say there are point A,B,C on the plane, the math is:&lt;br /&gt;&lt;br /&gt;normal=(A-B) cross (C-B)&lt;br /&gt;&lt;br /&gt;the Vector3F version is:&lt;br /&gt;&lt;br /&gt;Assume point A,B,C are expressed as instances of Vector3F.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F normal= Vector3F.cross( Vector3F.subtract(A,B),&lt;br /&gt;Vector3F.subtract(C,B) ) ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I know is not very readable, so you can also write it as:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;// let value1=A-B&lt;br /&gt;&lt;br /&gt;Vector3F value1=Vector3F.subtract(A,B);&lt;br /&gt;&lt;br /&gt;//let value 2=C-B&lt;br /&gt;&lt;br /&gt;Vector3F value2=Vector3F.subtract(C,B);&lt;br /&gt;&lt;br /&gt;//let normal = value1 cross value2&lt;br /&gt;&lt;br /&gt;Vector3F normal=Vector3F.cross(value1, value2);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;let's just consider this case for the time being &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;B4. How to find a line perpendicular to a given line?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A normal of a plane is always perpendicular to any lines on that plane. Knowing&lt;br /&gt;this will help us find lines perpendicular to a given line.&lt;br /&gt;&lt;br /&gt;For example we want to find a line perpendicular to line A-B, and line A-B is&lt;br /&gt;expressed as two endpoints A and B. A and B are instances of Vector3F.&lt;br /&gt;&lt;br /&gt;We first assume line A-B exist in an arbitrary plane.&lt;br /&gt;&lt;br /&gt;remember plane can be defined by three points, so we will make an arbitrary&lt;br /&gt;point C.&lt;br /&gt;&lt;br /&gt;C can be any thing, but if you want to have more control over where C is relative&lt;br /&gt;to A, you can create C using an offset&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#0099cc;"&gt;//this offset tells you C is right above B at one unit.&lt;br /&gt;&lt;br /&gt;Vector3F offset=new Vecto3F(0,0,1);&lt;br /&gt;&lt;br /&gt;//let C=B+offset&lt;br /&gt;&lt;br /&gt;Vector3F C=Vector3F.add(B, new Vector3F(0,0,1));&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;now you have a plane, the name thing is to find the normal.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F value1=Vector3F.subtract(A,B)&lt;br /&gt;&lt;br /&gt;Vector3F value2=Vector3F.subtract(C,B)&lt;br /&gt;&lt;br /&gt;Vector3F normal=Vector3F.cross(value1, value2);&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;this normal is perpendicular to lineA-B, you can move it anywhere like:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F D = Vector3F.add(normal,B)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;this line will create a point D where line D-B is perpendicular to line A-B&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;B5. How to scale a group of point with a base point?&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;If we have to scale a group of points base on a given base point that is not&lt;br /&gt;(0,0,0), there are basically three steps:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;1. we have to translate all points to new position so that are based on (0,0,0)&lt;br /&gt;&lt;br /&gt;2. scale all the points&lt;br /&gt;&lt;br /&gt;3. undo the translate we have done in part 1&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Vector3F version is:&lt;br /&gt;&lt;br /&gt;Assume the base Point is a Vector3F called basePoint.&lt;br /&gt;&lt;br /&gt;We want to scale 3 times in size&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Foreach point P(which is a Vector3F) in our points:&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#0099cc;"&gt;Vector3F offset=Vector3F(basePoint-new Vector3F(0,0,0));&lt;br /&gt;&lt;br /&gt;//translate to a 0,0,0 base coordinate system&lt;br /&gt;&lt;br /&gt;P.sub(offset);&lt;br /&gt;&lt;br /&gt;//scale the vector&lt;br /&gt;&lt;br /&gt;P.scale(3);&lt;br /&gt;&lt;br /&gt;//undo the translation&lt;br /&gt;&lt;br /&gt;P.add(offset);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-1309461388113315040?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/1309461388113315040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=1309461388113315040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1309461388113315040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/1309461388113315040'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/03/moving-things-in-3d-using-vector3f.html' title='B001-moving things in 3D using the Vector3F class'/><author><name>Seah</name><uri>http://www.blogger.com/profile/16114226808236733847</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='04157475864310602606'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-6476965868899370522</id><published>2008-02-29T16:39:00.000-08:00</published><updated>2008-02-29T16:43:32.419-08:00</updated><title type='text'>computation</title><content type='html'>http://mitcomputation.blogspot.com/&lt;br /&gt;&lt;br /&gt;hi  this blog is for collecting  those stuff about  computation for our computation group&lt;br /&gt;might be helpful for us&lt;a href="javascript:void(0)" tabindex="10" onclick="return false;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-6476965868899370522?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/6476965868899370522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=6476965868899370522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/6476965868899370522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/6476965868899370522'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/02/computation.html' title='computation'/><author><name>evil vampire 's world</name><uri>http://www.blogger.com/profile/02572907211809427200</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01461467791659193980'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-2999718603540015542</id><published>2008-02-29T14:39:00.000-08:00</published><updated>2008-02-29T14:42:06.365-08:00</updated><title type='text'>Biacs</title><content type='html'>Here's a useful piece of information I found at:&lt;br /&gt;&lt;a href="http://www.fundacionbiacs.com/fundacion/index.php"&gt;http://www.fundacionbiacs.com/fundacion/index.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;download it here:&lt;br /&gt;&lt;a href="http://www.fundacionbiacs.com/fundacion/manager/contenidos/descargas/208894ARCO08_-_Documents.pdf"&gt;http://www.fundacionbiacs.com/fundacion/manager/contenidos/descargas/208894ARCO08_-_Documents.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-2999718603540015542?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/2999718603540015542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=2999718603540015542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2999718603540015542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2999718603540015542'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/02/biacs.html' title='Biacs'/><author><name>Junno and Gila</name><uri>http://www.blogger.com/profile/10329440101359636063</uri><email>hubstudio@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16367536164370989986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-7902090660766078633</id><published>2008-02-29T07:27:00.001-08:00</published><updated>2008-02-29T07:27:53.179-08:00</updated><title type='text'>Interactive Architecture</title><content type='html'>&lt;a href="http://www.interactivearchitecture.org/"&gt;http://www.interactivearchitecture.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-7902090660766078633?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/7902090660766078633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=7902090660766078633' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/7902090660766078633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/7902090660766078633'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/02/interactive-architecture.html' title='Interactive Architecture'/><author><name>Junno and Gila</name><uri>http://www.blogger.com/profile/10329440101359636063</uri><email>hubstudio@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16367536164370989986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-5370911675111238172</id><published>2008-02-29T07:18:00.001-08:00</published><updated>2008-02-29T07:18:18.643-08:00</updated><title type='text'>Groups</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-5370911675111238172?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/5370911675111238172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=5370911675111238172' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/5370911675111238172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/5370911675111238172'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/02/groups_29.html' title='Groups'/><author><name>Junno and Gila</name><uri>http://www.blogger.com/profile/10329440101359636063</uri><email>hubstudio@gmail.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16367536164370989986'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9047719918321872893.post-2848515936924090540</id><published>2008-02-27T10:04:00.001-08:00</published><updated>2008-02-27T10:57:35.319-08:00</updated><title type='text'>Remaking the Springy Thingy</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_H_PrQB4m2rw/R8Wp7HPwo5I/AAAAAAAABc8/BA-oy-K1Kj0/s1600-h/05.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_H_PrQB4m2rw/R8Wp7HPwo5I/AAAAAAAABc8/BA-oy-K1Kj0/s320/05.jpg" alt="" id="BLOGGER_PHOTO_ID_5171726580127409042" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt;Classic&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_H_PrQB4m2rw/R8WmLnPwo2I/AAAAAAAABck/GgkXgpGw3-k/s1600-h/01.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_H_PrQB4m2rw/R8WmLnPwo2I/AAAAAAAABck/GgkXgpGw3-k/s320/01.bmp" alt="" id="BLOGGER_PHOTO_ID_5171722465548739426" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt;Birdy-Wirdy&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_H_PrQB4m2rw/R8Wn1nPwo4I/AAAAAAAABc0/EH_53MFnQkw/s1600-h/04.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_H_PrQB4m2rw/R8Wn1nPwo4I/AAAAAAAABc0/EH_53MFnQkw/s320/04.jpg" alt="" id="BLOGGER_PHOTO_ID_5171724286614872962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:lucida grande;"&gt;Megatron&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family:times new roman;"&gt;The Springy-Thingy project started off when Jimmy Shen (M.Arch) came to me in fall'05 and asked me whether we could create a modeling tool which will behave like a pencil - with all the nuances of speed and movement affecting the quality of the sketch model. I was in the middle of some dry Lisp hacking - battling through algorithms, lists and matrices. I wanted to relax and play around a bit then and Jimmy's project came in at an opportune moment. SpringyThingy evolved over three weeks in Studio-5 and then SMarchS studio at 4-331. Jimmy went on to generate his D-Haus using our tool and managed to 3d print his sketch in the Z-Corp. We impressed ourselves with the comprehensiveness of our system - from a simple sketch to physical model in quick time. We realised that we had set foot on something interesting.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WvhXPwo7I/AAAAAAAABdM/ru0oXLBDWdc/s1600-h/Picture1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WvhXPwo7I/AAAAAAAABdM/ru0oXLBDWdc/s320/Picture1.jpg" alt="" id="BLOGGER_PHOTO_ID_5171732734815544242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WvYXPwo6I/AAAAAAAABdE/wGtakcv2dkY/s1600-h/06.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WvYXPwo6I/AAAAAAAABdE/wGtakcv2dkY/s320/06.jpg" alt="" id="BLOGGER_PHOTO_ID_5171732580196721570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WxNXPwo8I/AAAAAAAABdU/fKUvIFhvq1w/s1600-h/Picture5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_H_PrQB4m2rw/R8WxNXPwo8I/AAAAAAAABdU/fKUvIFhvq1w/s320/Picture5.jpg" alt="" id="BLOGGER_PHOTO_ID_5171734590241416130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;We spent another semester working on it further, redoing a lot of things from scratch. We learnt and unlearnt a lot...&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;br /&gt;(will continue on my flight,  getting late)&lt;br /&gt;&lt;br /&gt;PS:&lt;br /&gt;&lt;span style="font-family: times new roman;font-size:100%;" &gt;If you want to play around with the thingy - &lt;a href="http://fathead.mit.edu/springythingy/"&gt;http://fathead.mit.edu/springythingy/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9047719918321872893-2848515936924090540?l=springythingy.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://springythingy.blogspot.com/feeds/2848515936924090540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9047719918321872893&amp;postID=2848515936924090540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2848515936924090540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9047719918321872893/posts/default/2848515936924090540'/><link rel='alternate' type='text/html' href='http://springythingy.blogspot.com/2008/02/remaking-springy-thingy.html' title='Remaking the Springy Thingy'/><author><name>Kaustuv</name><uri>http://www.blogger.com/profile/04934786477583750442</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='09362757401564305302'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_H_PrQB4m2rw/R8Wp7HPwo5I/AAAAAAAABc8/BA-oy-K1Kj0/s72-c/05.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>