<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-919774197530896561</id><updated>2011-08-26T08:40:07.695-07:00</updated><category term='trace'/><title type='text'>Out Of the Page</title><subtitle type='html'>The beginning of everything 3D</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default?start-index=101&amp;max-results=100'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>104</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3114480606132601234</id><published>2011-02-21T13:01:00.000-08:00</published><updated>2011-02-21T13:06:16.741-08:00</updated><title type='text'>Virtual Cityscape</title><content type='html'>I've had the idea for awhile now of a virtual city with buildings of different shapes and sizes that are randomly generated and organically grown by some set of rules.  This is my first success with this idea:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-UbS41ukL9yA/TWLS8wZA2-I/AAAAAAAABok/QPJ7F4Q_v_4/s1600/Picture%2B4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 115px;" src="http://4.bp.blogspot.com/-UbS41ukL9yA/TWLS8wZA2-I/AAAAAAAABok/QPJ7F4Q_v_4/s400/Picture%2B4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5576251229861895138" /&gt;&lt;/a&gt;&lt;br /&gt;I used the code from &lt;a href="http://klein-blue.blogspot.com/2009/08/tetris-tiling.html"&gt;klein blue&lt;/a&gt; along with the following code snippet:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;getGuy[x_, h_] := {Append[graphs[[x]][[2]][[1]], 0], &lt;br /&gt;   Append[graphs[[x]][[2]][[2]], h]};&lt;br /&gt;hh = {graphs[[#]][[1]], Cuboid[getGuy[#, Round[8*Random[] + 1]]]} &amp; /@&lt;br /&gt;   Range[Length[graphs]]; Manipulate[&lt;br /&gt; Graphics3D[{hh[[1 ;; q]]}, Boxed -&gt; False], {q, 1, Length[graphs], &lt;br /&gt;  1}]&lt;/i&gt;&lt;br /&gt;It seems like the possibilities are endless.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-zjj0gvgBMUM/TWLTnHhmpQI/AAAAAAAABos/V8k1nCsURsA/s1600/Picture%2B1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://3.bp.blogspot.com/-zjj0gvgBMUM/TWLTnHhmpQI/AAAAAAAABos/V8k1nCsURsA/s400/Picture%2B1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5576251957626447106" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3114480606132601234?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3114480606132601234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3114480606132601234' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3114480606132601234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3114480606132601234'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2011/02/virtual-cityscape.html' title='Virtual Cityscape'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-UbS41ukL9yA/TWLS8wZA2-I/AAAAAAAABok/QPJ7F4Q_v_4/s72-c/Picture%2B4.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-461490782711211176</id><published>2010-11-28T03:14:00.000-08:00</published><updated>2010-11-28T03:16:24.149-08:00</updated><title type='text'>3D TV</title><content type='html'>Sky TV says it has made a significant step towards bringing 3D television to British viewers. The satellite broadcaster says it has &lt;a href="http://news.bbc.co.uk/2/hi/technology/7788582.stm"&gt;successfully tested the delivery of 3D programming to a domestic television&lt;/a&gt;, via a high-definition set-top box. Sky has been filming a number of events using 3D cameras over recent months. Such broadcasts would require the use of 3D televisions, not yet available in UK stores, and viewers would need to wear 3D polarising glasses. &lt;br /&gt;&lt;br /&gt;With the release of a new set of 3-D video screens next week, Philips Electronics is bringing a sci-fi cinema standby a little closer to everyday use. Philips' WOWvx displays--which allow viewers to perceive high-quality 3-D images without the need for special glasses--are &lt;a href="http://www.technologyreview.com/Infotech/20892/?a=f"&gt;now beginning to appear&lt;/a&gt; in shopping malls, movie-theater lobbies, and theme parks worldwide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-461490782711211176?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/461490782711211176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=461490782711211176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/461490782711211176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/461490782711211176'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2010/11/3d-tv.html' title='3D TV'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2331864531013364145</id><published>2010-09-18T15:01:00.000-07:00</published><updated>2010-09-18T15:05:58.546-07:00</updated><title type='text'>Lookin at the state of 3D.</title><content type='html'>I remember when I first saw Papervision 3D, I thought that was the future.  Nearly 4 years later, and no websites are 3D yet. I currently work for a 2D Casual Flash Gaming platform.  Before that was Slide with Pets and Rock Riot.  Before that was the 3D creature editors in Spore when 3D was alot more exciting, while Spore failed because it was not social.  It seems like 3D will be postponed for awhile as we adjust more to the way we respond to data conditioned on social, time and location (in addition to context).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2331864531013364145?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2331864531013364145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2331864531013364145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2331864531013364145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2331864531013364145'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2010/09/lookin-at-state-of-3d.html' title='Lookin at the state of 3D.'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8998932701058511681</id><published>2010-09-18T14:59:00.000-07:00</published><updated>2010-09-18T15:01:02.618-07:00</updated><title type='text'>View With Old School 3D Glasses</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/TJU2aP7ChDI/AAAAAAAABgE/iPp-0Jwr07Q/s1600/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 31px;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/TJU2aP7ChDI/AAAAAAAABgE/iPp-0Jwr07Q/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5518376742991070258" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8998932701058511681?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8998932701058511681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8998932701058511681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8998932701058511681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8998932701058511681'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2010/09/view-with-old-school-3d-glasses.html' title='View With Old School 3D Glasses'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/TJU2aP7ChDI/AAAAAAAABgE/iPp-0Jwr07Q/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3001774896962594917</id><published>2010-05-11T23:32:00.002-07:00</published><updated>2010-05-11T23:33:11.340-07:00</updated><title type='text'>3D Video Games!</title><content type='html'>&lt;object width="400" height="302"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2265061&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2265061&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/2265061"&gt;Fireflies Trailer&lt;/a&gt; from &lt;a href="http://vimeo.com/user298478"&gt;Lee Byron&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3001774896962594917?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3001774896962594917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3001774896962594917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3001774896962594917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3001774896962594917'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2010/05/3d-video-games_11.html' title='3D Video Games!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2330532116275555049</id><published>2010-01-17T22:02:00.000-08:00</published><updated>2010-01-17T22:03:08.086-08:00</updated><title type='text'>Avatar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/S1P5bsZjk5I/AAAAAAAABQc/jljqgMQHIPI/s1600-h/zz7c491fa4.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 202px;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/S1P5bsZjk5I/AAAAAAAABQc/jljqgMQHIPI/s400/zz7c491fa4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5427956230081713042" /&gt;&lt;/a&gt;&lt;br /&gt;Will be remembered as the first great film in a new genre of 3D movies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2330532116275555049?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2330532116275555049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2330532116275555049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2330532116275555049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2330532116275555049'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2010/01/avatar.html' title='Avatar'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/S1P5bsZjk5I/AAAAAAAABQc/jljqgMQHIPI/s72-c/zz7c491fa4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-6146333847947118803</id><published>2009-08-08T09:20:00.001-07:00</published><updated>2009-08-08T09:22:36.293-07:00</updated><title type='text'>Alice: 3D Graphics for Kids</title><content type='html'>&lt;object width="400" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Nm7bv4wduTI&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Nm7bv4wduTI&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="344"&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/919774197530896561-6146333847947118803?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/6146333847947118803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=6146333847947118803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6146333847947118803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6146333847947118803'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/08/alice.html' title='Alice: 3D Graphics for Kids'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3824990129516534055</id><published>2009-07-20T00:04:00.000-07:00</published><updated>2009-07-20T00:05:58.829-07:00</updated><title type='text'>Javascript Web Graphics Route</title><content type='html'>I'm not headed this way, but it is nice to know about it:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm"&gt;here&lt;/a&gt;, &lt;a href="http://www.davidbetz.net/graphics/"&gt;here&lt;/a&gt; and &lt;a href="http://www.wxs.ca/js3d/"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3824990129516534055?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3824990129516534055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3824990129516534055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3824990129516534055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3824990129516534055'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/07/javascript-web-graphics-route.html' title='Javascript Web Graphics Route'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-992171620834454826</id><published>2009-07-11T16:18:00.000-07:00</published><updated>2009-07-11T16:20:22.054-07:00</updated><title type='text'>The History of Video Cards</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/Slkd_ukgURI/AAAAAAAABEc/rU_BIPJjB0U/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 325px;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/Slkd_ukgURI/AAAAAAAABEc/rU_BIPJjB0U/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5357346212404023570" /&gt;&lt;/a&gt;&lt;br /&gt;Too much info for me here, but a nice reference, nonetheless.  Shown in the image is the Rage 3D (32-bit memory bus, and a max memory of just 2MB) from 1995.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-992171620834454826?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/992171620834454826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=992171620834454826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/992171620834454826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/992171620834454826'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/07/history-of-video-cards.html' title='The History of Video Cards'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/Slkd_ukgURI/AAAAAAAABEc/rU_BIPJjB0U/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1425595359893328804</id><published>2009-07-06T21:14:00.000-07:00</published><updated>2009-07-06T21:20:45.203-07:00</updated><title type='text'>Interactive Color Coded Grids</title><content type='html'>What I want to do is make visualizations of grids (for churn, etc) that are interactive.  This was a nice start tonight but flash development still goes so slow for me...&lt;br /&gt;&lt;object width="600" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="nacountry.swf"&gt;&lt;br /&gt;&lt;embed src="http://www.thevioletpiece.com/data/swf/Blueray.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;i&gt;public function Blueray()&lt;br /&gt;{&lt;br /&gt;for(var i:int = 0; i &lt; 5; i++){&lt;br /&gt;for(var j:int = 0; j &lt; 5; j++){&lt;br /&gt;var a:Sprite = new Sprite();     a.graphics.beginFill(0xFF0000);    &lt;br /&gt;a.graphics.drawRect(50*i, 50*j, 50, 50);     &lt;br /&gt;this.addChild(a);&lt;br /&gt;a.transform.colorTransform =new ColorTransform(1, 1, 1, 1, -50*i, 0, 50*j, 0);&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_DOWN, drag);&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_UP, stopdrag);&lt;br /&gt;    }&lt;br /&gt;   } &lt;br /&gt;  }&lt;br /&gt;private function drag(event:MouseEvent):void {&lt;br /&gt;  event.target.startDrag();&lt;br /&gt;}&lt;br /&gt;private function stopdrag(event:MouseEvent):void {&lt;br /&gt;  event.target.stopDrag();&lt;br /&gt;} &lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1425595359893328804?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1425595359893328804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1425595359893328804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1425595359893328804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1425595359893328804'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/07/interactive-color-coded-grids.html' title='Interactive Color Coded Grids'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8378983438337067166</id><published>2009-06-07T16:54:00.000-07:00</published><updated>2009-07-10T23:56:34.429-07:00</updated><title type='text'>Drawing Sprites in a Flex Application</title><content type='html'>Pretty useful code to draw Sprites from within a Flex application:&lt;br /&gt;&lt;i&gt;&lt;?xml version="1.0"?&gt;&lt;br /&gt;&lt;!-- logging/CheckDebugger.mxml --&gt;&lt;br /&gt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"&gt;&lt;br /&gt;    mx:Script&gt;![CDATA[&lt;br /&gt;        import flash.display.Sprite;&lt;br /&gt;      &lt;br /&gt;  public function drawRectTest(nX:Number, nY:Number, nWidth:Number, nHeight:Number):void {&lt;br /&gt;    var testrect:Sprite = new Sprite();  &lt;br /&gt;         testrect.graphics.beginFill(0xFF0000, 1);&lt;br /&gt;  testrect.graphics.drawRect(nX, nY, nWidth, nHeight);&lt;br /&gt;  testrect.graphics.endFill();&lt;br /&gt;  myPanel.rawChildren.addChild(testrect);&lt;br /&gt;     }&lt;br /&gt;    ]]&gt;/mx:Script&gt;&lt;br /&gt;    mx:Panel id="myPanel"&lt;br /&gt;        paddingTop="10"&lt;br /&gt;        paddingBottom="10"&lt;br /&gt;        paddingLeft="10"&lt;br /&gt;        paddingRight="10"&lt;br /&gt;        height="200"&lt;br /&gt;        width="200"        &lt;br /&gt;    &gt;&lt;br /&gt;        mx:Button click="drawRectTest(75,75,50,100)" x="10" y="10" label="Draw" id="btnDrawRectangle"/&gt;&lt;br /&gt;    /mx:Panel&gt;&lt;br /&gt;/mx:Application&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Its all about the rawchild.  Now I just need to figure out how to do this "onload".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8378983438337067166?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8378983438337067166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8378983438337067166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8378983438337067166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8378983438337067166'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/06/drawing-sprites-in-flex-application.html' title='Drawing Sprites in a Flex Application'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8353695660412004684</id><published>2009-06-04T15:43:00.000-07:00</published><updated>2009-06-04T15:44:56.481-07:00</updated><title type='text'>3D Television</title><content type='html'>With the release of a new set of 3-D video screens next week, Philips Electronics is &lt;a href="http://www.technologyreview.com/Infotech/20892/?a=f"&gt;bringing a sci-fi cinema standby a little closer to everyday use&lt;/a&gt;. Philips' WOWvx displays--which allow viewers to perceive high-quality 3-D images without the need for special glasses--are now beginning to appear in shopping malls, movie-theater lobbies, and theme parks worldwide. &lt;br /&gt;&lt;br /&gt;Sky TV says it has made a &lt;a href="http://news.bbc.co.uk/2/hi/technology/7788582.stm"&gt;significant step&lt;/a&gt; towards bringing 3D television to British viewers. The satellite broadcaster says it has successfully tested the delivery of 3D programming to a domestic television, via a high-definition set-top box. Sky has been filming a number of events using 3D cameras over recent months. Such broadcasts would require the use of 3D televisions, not yet available in UK stores, and viewers would need to wear 3D polarising glasses. &lt;br /&gt;&lt;br /&gt;http://news.bbc.co.uk/2/hi/technology/7788582.stm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8353695660412004684?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8353695660412004684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8353695660412004684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8353695660412004684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8353695660412004684'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/06/3d-television.html' title='3D Television'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5587095795297972237</id><published>2009-05-19T14:07:00.001-07:00</published><updated>2009-05-19T14:10:36.833-07:00</updated><title type='text'></title><content type='html'>Some good progress today but have gotten sleepy.  I built two classes: one for creating pieces of text on a page (TextFields) and one for drawing graphics (Sprites) such as circle on a page.  I was then able to add an event listener to one of the sprite, read in the resulting word, string split the word and display the first element of the word. &lt;br /&gt;&lt;i&gt;package {&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; import flash.events.*;&lt;br /&gt; import flash.text.*; &lt;br /&gt; public class ParseString extends Sprite&lt;br /&gt; {&lt;br /&gt;     public var theTextField:TextField = new TextField();&lt;br /&gt;  &lt;br /&gt;  public function ParseString()&lt;br /&gt;  {   &lt;br /&gt;   var sT:ShowText = new ShowText();&lt;br /&gt;   theTextField = sT.makeInputText( 10, 10, 20, 400, true, true );&lt;br /&gt;   this.addChild(theTextField);&lt;br /&gt;   var s:ShowCircle = new ShowCircle(50, 150,  15);&lt;br /&gt;   s.addEventListener(MouseEvent.CLICK, showText);&lt;br /&gt;   this.addChild(s); &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public function showText(e:Event):void&lt;br /&gt;  {&lt;br /&gt;   var sT:ShowText = new ShowText();&lt;br /&gt;   var um:String = theTextField.text.toString();&lt;br /&gt;   var guy:Array = um.split(" ");  &lt;br /&gt;   var result:TextField = sT.makeDynamicText( guy[0], 10, 50, 20, 400, false, true );&lt;br /&gt;   this.addChild(result);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/ShMgD57Z4DI/AAAAAAAABA0/viBYVKqUJWI/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 358px; height: 400px;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/ShMgD57Z4DI/AAAAAAAABA0/viBYVKqUJWI/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5337645234825846834" /&gt;&lt;/a&gt;&lt;br /&gt;Sweetness.  From here I need to count all the words and how many times each one is used.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5587095795297972237?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5587095795297972237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5587095795297972237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5587095795297972237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5587095795297972237'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/05/some-good-progress-today-but-have.html' title=''/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/ShMgD57Z4DI/AAAAAAAABA0/viBYVKqUJWI/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3786846117243774986</id><published>2009-05-18T13:50:00.000-07:00</published><updated>2009-05-18T13:52:34.696-07:00</updated><title type='text'>TextFieldType.INPUT;</title><content type='html'>A nice way to collect input from a user and then do what you want with it (i.e. use it for Twitter Search).  The key is TextFieldType.INPUT  &lt;br /&gt;&lt;i&gt;  public function Twitter()&lt;br /&gt;  {&lt;br /&gt;   mText.x= 240;&lt;br /&gt;   mText.y= 0;&lt;br /&gt;   mText.width = 200;&lt;br /&gt;   mText.text = "Your momma and stuff";&lt;br /&gt;   this.addChild(mText);&lt;br /&gt;&lt;br /&gt;   theTextField.type = TextFieldType.INPUT;&lt;br /&gt;   theTextField.border = true;&lt;br /&gt;   theTextField.x = 10;&lt;br /&gt;   theTextField.y = 10;&lt;br /&gt;   theTextField.multiline = true;&lt;br /&gt;   theTextField.wordWrap = true;&lt;br /&gt;   addChild(theTextField);&lt;br /&gt;   &lt;br /&gt;   var sprite:Sprite = new Sprite();&lt;br /&gt;   sprite.graphics.beginFill(0xcccccc, 0.5);&lt;br /&gt;   sprite.graphics.lineStyle(1, 0x000000);&lt;br /&gt;   sprite.graphics.drawCircle(0, 0, 30);&lt;br /&gt;   sprite.x = 50;&lt;br /&gt;   sprite.y = 150;&lt;br /&gt;   sprite.addEventListener(MouseEvent.CLICK, showText);&lt;br /&gt;   this.addChild(sprite);&lt;br /&gt;  }  &lt;br /&gt;  public function showText(e:Event):void&lt;br /&gt;  {&lt;br /&gt;   mText.text = theTextField.text;&lt;br /&gt;  }&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3786846117243774986?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3786846117243774986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3786846117243774986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3786846117243774986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3786846117243774986'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/05/nice-way-to-collect-input-from-user-and.html' title='TextFieldType.INPUT;'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2551174085832434459</id><published>2009-05-15T16:47:00.000-07:00</published><updated>2009-05-17T01:10:24.575-07:00</updated><title type='text'>Dragging Images in Actionscript</title><content type='html'>Ugh.  Been trying all afternoon to load in an image and then make it draggable, interactive (in any way possible, draggable, clickable).  If I add that image (the loader actually) as a child of a Sprite, the Sprite is not interactive (and I cannot add anything else to the Sprite, other shapes, etc.).  If I dont add the image and I add other things (circles, etc.) then the Sprite is interactive.  I don't know wtf!  Hmf.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.actionscript.org/forums/archive/index.php3/t-146541.html"&gt;Link&lt;/a&gt; doesn't help either.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2551174085832434459?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2551174085832434459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2551174085832434459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2551174085832434459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2551174085832434459'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/05/dragging-images-in-actionscript.html' title='Dragging Images in Actionscript'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-6861399456828958250</id><published>2009-04-21T14:18:00.001-07:00</published><updated>2009-04-21T14:21:01.608-07:00</updated><title type='text'>GetChildByName</title><content type='html'>This is nice.  If you have "parts" (children) of a movie clip that you want to show as the result of some event (mouse overs, mouse clicks, button clicks), then you need to give the children of the movie clips names.  i.e. :&lt;br /&gt;&lt;br /&gt;&lt;i&gt;private function createCircle(x:Number, y:Number, r:Number):Sprite&lt;br /&gt;        {&lt;br /&gt;            var sprite:Sprite = new Sprite();&lt;br /&gt;            sprite.graphics.beginFill(0xcccccc, 0.5);&lt;br /&gt;            sprite.graphics.lineStyle(1, 0x000000);&lt;br /&gt;            sprite.graphics.drawCircle(0, 0, r);&lt;br /&gt;            sprite.x = x;&lt;br /&gt;            sprite.y = y;&lt;br /&gt;            var textField:TextField = new TextField();&lt;br /&gt;            var textFormat:TextFormat = new TextFormat();&lt;br /&gt;     textFormat.color = 0xFF0000;&lt;br /&gt;     textFormat.size = 12;&lt;br /&gt;     textField.name = "Larry";&lt;br /&gt;     textField.visible = false;&lt;br /&gt;     textField.text = "[" + x.toString() + ", " + y.toString() + "]";&lt;br /&gt;     textField.y=-50;&lt;br /&gt;     textField.setTextFormat(textFormat);&lt;br /&gt;     sprite.addChild(textField);&lt;br /&gt;            sprite.addEventListener(MouseEvent.MOUSE_OVER, showText);&lt;br /&gt;            sprite.addEventListener(MouseEvent.MOUSE_OUT, noText);&lt;br /&gt;            return sprite;&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;private function showText(event:MouseEvent):void {     &lt;br /&gt;     event.target.getChildByName("Larry").visible =true; }&lt;br /&gt;  &lt;br /&gt;private function noText(event:MouseEvent):void {&lt;br /&gt;     event.target.getChildByName("Larry").visible = false; }&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-6861399456828958250?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/6861399456828958250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=6861399456828958250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6861399456828958250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6861399456828958250'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/getchildbyname.html' title='GetChildByName'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-961952788986794420</id><published>2009-04-20T21:42:00.001-07:00</published><updated>2009-04-20T21:44:24.816-07:00</updated><title type='text'>Drawing in Flex Actionscript World,</title><content type='html'>Its amazing how much this little piece of code has helped me out in life!  Simply create a new actionscript project (call it something like tutorial) and write this code in a default Tutorial.as file.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;package {&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; [SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="30")]&lt;br /&gt;&lt;br /&gt;    public class Tutorial extends Sprite&lt;br /&gt;    {&lt;br /&gt;        public function Tutorial()&lt;br /&gt;        {&lt;br /&gt;            var sprite:Sprite = new Sprite();&lt;br /&gt;            sprite.graphics.beginFill(0xcccccc, 0.5);&lt;br /&gt;            sprite.graphics.lineStyle(1, 0x000000);&lt;br /&gt;            sprite.graphics.drawCircle(0, 0, 10);&lt;br /&gt;            this.addChild(sprite);&lt;br /&gt;            sprite.x = 50;&lt;br /&gt;            sprite.y = 50;&lt;br /&gt;            trace("our sprite is at: "+sprite.x+", "+sprite.y);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-961952788986794420?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/961952788986794420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=961952788986794420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/961952788986794420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/961952788986794420'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/drawing-in-flex-actionscript-world.html' title='Drawing in Flex Actionscript World,'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3273612914043921818</id><published>2009-04-17T15:57:00.000-07:00</published><updated>2009-04-17T15:58:47.391-07:00</updated><title type='text'>Flex Data Grids</title><content type='html'>Very nice way to display xml in a readable form (with little effort!)&lt;br /&gt;&lt;i&gt;&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;`mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#27148A" &lt;br /&gt;  backgroundGradientColors="[#1D4184, #020000]"&lt;br /&gt;  creationComplete="init()"&lt;br /&gt;  initialize="stats.send()"&lt;br /&gt;  width="730" height="600"&gt;&lt;br /&gt;&lt;`mx:Script&gt;&lt;br /&gt; &lt;`![`CDATA[&lt;br /&gt; &lt;br /&gt; import mx.collections.ArrayCollection;&lt;br /&gt; import mx.rpc.events.ResultEvent;&lt;br /&gt; &lt;br /&gt; [Bindable]&lt;br /&gt; private var datars:ArrayCollection;&lt;br /&gt; &lt;br /&gt; private function resultHandler(event:ResultEvent):void{&lt;br /&gt;  datars = event.result.assets.asset;&lt;br /&gt; }&lt;br /&gt; ]]&gt;&lt;br /&gt;&lt;/mx:Script&gt;&lt;br /&gt;&lt;`mx:HTTPService id="stats" url="http://www.spore.com/rest/assets/search/TOP_RATED/0/100"  result="resultHandler(event)"/&gt;&lt;br /&gt;&lt;`mx:DataGrid dataProvider="{datars}" x="30"  y="20" height="500"&gt;&lt;br /&gt;&lt;`mx:columns&gt;&lt;br /&gt; &lt;`mx:DataGridColumn dataField="name" headerText="Name" width ="120" /&gt;&lt;br /&gt; &lt;`mx:DataGridColumn dataField="rating" headerText="Rating" width ="50" /&gt;&lt;br /&gt; &lt;`mx:DataGridColumn dataField="description" headerText="Description" width = "500" /&gt;&lt;br /&gt;&lt;/mx:columns&gt;&lt;br /&gt;&lt;/mx:DataGrid&gt;&lt;br /&gt;&lt;/mx:Application&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3273612914043921818?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3273612914043921818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3273612914043921818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3273612914043921818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3273612914043921818'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/flex-data-grids.html' title='Flex Data Grids'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8382298665382005350</id><published>2009-04-17T15:34:00.001-07:00</published><updated>2009-04-17T15:35:40.979-07:00</updated><title type='text'>HTTPService in Flex</title><content type='html'>Awesome way to use TextInput to display live web data in xml format:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;br /&gt;&lt;`mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" color="#27148A" &lt;br /&gt;  backgroundGradientColors="[#1D4184, #020000]"&lt;br /&gt;  creationComplete="init()"&lt;br /&gt;  initialize="stats.send()"&lt;br /&gt;  &gt;&lt;br /&gt;&lt;`mx:Script&gt;&lt;br /&gt; &lt;`![`CDATA[&lt;br /&gt; import mx.rpc.events.ResultEvent;&lt;br /&gt; private function resultHandler(event:ResultEvent):void{&lt;br /&gt;  Uploads.text = event.result.stats.totalUploads;&lt;br /&gt;  Users.text = event.result.stats.totalUsers;&lt;br /&gt;  RecentUploads.text = event.result.stats.dayUploads;&lt;br /&gt;  RecentUsers.text = event.result.stats.dayUsers;&lt;br /&gt; }&lt;br /&gt; ]]&gt;&lt;br /&gt;&lt;/mx:Script&gt;&lt;br /&gt;&lt;`mx:HTTPService id="stats" url="http://www.spore.com/rest/stats"  result="resultHandler(event)"/&gt;&lt;br /&gt;&lt;`mx:TextInput id="Uploads" &lt;br /&gt; x="100" y="100" /&gt;&lt;br /&gt;&lt;`mx:TextInput id="Users" &lt;br /&gt; x="100" y="150" /&gt;&lt;br /&gt;&lt;`mx:TextInput id="RecentUploads" &lt;br /&gt;  x="100" y="200" /&gt;&lt;br /&gt;&lt;`mx:TextInput id="RecentUsers" &lt;br /&gt; x="100" y="250" /&gt;&lt;br /&gt;&lt;/mx:Application&gt;&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8382298665382005350?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8382298665382005350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8382298665382005350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8382298665382005350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8382298665382005350'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/httpservice-in-flex.html' title='HTTPService in Flex'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8866287918115453215</id><published>2009-04-17T14:38:00.000-07:00</published><updated>2009-04-17T14:42:17.707-07:00</updated><title type='text'>Changing the Color of A Movieclip (Again)</title><content type='html'>If you create an movieclip in Flash, add it to the stage and call it shape.  Then you add a button and provide these actions for the button:&lt;br /&gt;&lt;i&gt;on (rollOver) {&lt;br /&gt; var colorful = new Color("_root.shapes");&lt;br /&gt; colorful.setRGB(0x003366);&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;the color is changed.  Cool!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8866287918115453215?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8866287918115453215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8866287918115453215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8866287918115453215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8866287918115453215'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/changing-color-of-movieclip-again.html' title='Changing the Color of A Movieclip (Again)'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2690087485514800229</id><published>2009-04-16T09:56:00.000-07:00</published><updated>2009-04-16T09:58:54.013-07:00</updated><title type='text'>Data Binding in Flex</title><content type='html'>&lt;`mx:TextInput id="Home"&lt;br /&gt; x="100" y="100" /&gt;&lt;br /&gt;&lt;mx:TextInput id="Away"&lt;br /&gt; x="300" y="100"&lt;br /&gt; text="{Home.text}" /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SedjeYyGJwI/AAAAAAAAA9U/ronniI_leSs/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 87px;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SedjeYyGJwI/AAAAAAAAA9U/ronniI_leSs/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5325334458088695554" /&gt;&lt;/a&gt;&lt;br /&gt;Yeah!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2690087485514800229?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2690087485514800229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2690087485514800229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2690087485514800229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2690087485514800229'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/data-binding-in-flex.html' title='Data Binding in Flex'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SedjeYyGJwI/AAAAAAAAA9U/ronniI_leSs/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1259239474119594762</id><published>2009-04-14T10:12:00.000-07:00</published><updated>2009-04-14T10:42:04.345-07:00</updated><title type='text'>Top Creators in Spore</title><content type='html'>I've been wanting to do this for awhile.  This Flash app reads in data from &lt;a href=""&gt;here&lt;/a&gt; and displays the top ten of those creators.  Each creator element has an image, a rectangle sprite and some text filled in.  That element is a movieclip with an event listener added to it: &lt;i&gt;mHolder.addEventListener(MouseEvent.CLICK, goToSpore);&lt;/i&gt; to send the user to a webpage.  Each movie clip is then added to the main stage.&lt;br /&gt;&lt;object width="400" height="900"&gt;&lt;br /&gt;&lt;param name="movie" value="Achievements.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Achievements.swf" width="400" height="900"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;I had trouble morphing the color from one shade to another as you transcend the list, it seems to have something to do with sprite.transform.colorTransform.  Also, I am still struggling with how to add particular elements to a movie clip without displaying that info, and then when the user clicks on a movie clip we are able to extract certain info about it.  How to do?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1259239474119594762?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1259239474119594762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1259239474119594762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1259239474119594762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1259239474119594762'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/top-creators.html' title='Top Creators in Spore'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-912711405535752306</id><published>2009-04-14T10:08:00.000-07:00</published><updated>2009-04-14T10:10:06.938-07:00</updated><title type='text'>Programatically Formatting Text in Actionscript</title><content type='html'>Create a text format object first and then add it to a text field with "setTextFormat".&lt;br /&gt;&lt;i&gt;var textFormat:TextFormat = new TextFormat();&lt;br /&gt;textFormat.color = 0xFF0000;&lt;br /&gt;textFormat.size = 32;&lt;br /&gt;var textField:TextField = new TextField();&lt;br /&gt;textField.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;textField.wordWrap = true;&lt;br /&gt;textField.text = "The quick brown fox ";&lt;br /&gt;textField.width = 500;&lt;br /&gt;textField.x = 25;&lt;br /&gt;textField.y = 25;&lt;br /&gt;textField.setTextFormat(textFormat);&lt;br /&gt;addChild(textField);&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-912711405535752306?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/912711405535752306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=912711405535752306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/912711405535752306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/912711405535752306'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/programatically-formatting-text-in.html' title='Programatically Formatting Text in Actionscript'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5565305980920705307</id><published>2009-04-09T13:22:00.000-07:00</published><updated>2009-04-09T13:23:08.696-07:00</updated><title type='text'>Interactive Graphics Progress!</title><content type='html'>&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/droptarget2.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;i&gt;import flash.display.Sprite;&lt;br /&gt;import flash.events.MouseEvent;&lt;br /&gt;for(i = 1; i&lt; 50; i++)&lt;br /&gt;{&lt;br /&gt;var mc1:MovieClip = new MovieClip();&lt;br /&gt;var circle1:Sprite = new Sprite();&lt;br /&gt;circle1.graphics.beginFill(Math.random() *0xFF0000);&lt;br /&gt;circle1.graphics.drawCircle(0, 0, 30*Math.random()+20);&lt;br /&gt;mc1.addEventListener(MouseEvent.MOUSE_DOWN, drag);&lt;br /&gt;mc1.addEventListener(MouseEvent.MOUSE_UP, stopdrag);&lt;br /&gt;mc1.y = 380*Math.random()+10;&lt;br /&gt;mc1.x = 600*Math.random()+15;&lt;br /&gt;mc1.buttonMode = true;&lt;br /&gt;mc1.addChild(circle1);&lt;br /&gt;this.addChild(mc1);&lt;br /&gt;}&lt;br /&gt;function drag(event:MouseEvent):void {&lt;br /&gt;    event.target.startDrag();&lt;br /&gt;}&lt;br /&gt;function stopdrag(event:MouseEvent):void {&lt;br /&gt;    event.target.stopDrag();&lt;br /&gt;}&lt;br /&gt;function click(event:MouseEvent):void {&lt;br /&gt;    mc2.x += 5;&lt;br /&gt;}&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5565305980920705307?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5565305980920705307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5565305980920705307' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5565305980920705307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5565305980920705307'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/interactive-graphics-progress.html' title='Interactive Graphics Progress!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7288215112581268098</id><published>2009-04-08T08:04:00.001-07:00</published><updated>2009-04-08T08:09:25.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='trace'/><title type='text'>Figuring out which button is pushed</title><content type='html'>A simple one.  Suppose we create two buttons: one called offButton with a label value of "off" and another one onButton with a label value of "on".&lt;br /&gt;&lt;br /&gt;Then, if we add event listeners to both:&lt;br /&gt;&lt;i&gt;onButton.addEventListener("click", buttonPushed);&lt;br /&gt;offButton.addEventListener("click", buttonPushed);&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;we can tell which one we pushed with this function:&lt;br /&gt;&lt;br /&gt;function buttonPushed(evt:Object):Void{&lt;br /&gt;var label:String = evt.target.label;&lt;br /&gt;if(label == "off")&lt;br /&gt;{&lt;br /&gt;     trace("You pushed the off button");&lt;br /&gt;}else if(label == "off")&lt;br /&gt;{&lt;br /&gt;     trace("You pushed the on button");&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7288215112581268098?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7288215112581268098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7288215112581268098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7288215112581268098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7288215112581268098'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/figuring-out-which-button-is-pushed.html' title='Figuring out which button is pushed'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2958307517373298530</id><published>2009-04-08T08:01:00.001-07:00</published><updated>2009-04-08T08:02:29.899-07:00</updated><title type='text'>Changing the Color of A Movieclip</title><content type='html'>Code to change the color of a movie clip to red.&lt;br /&gt;&lt;i&gt;import flash.geom.ColorTransform;&lt;br /&gt;var mc:MovieClip;&lt;br /&gt;var ct:ColorTransform = new ColorTransform();&lt;br /&gt;ct.rgb = 0xFF0000;&lt;br /&gt;mc.transform.colorTransform = ct;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2958307517373298530?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2958307517373298530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2958307517373298530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2958307517373298530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2958307517373298530'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/changing-color-of-movieclip.html' title='Changing the Color of A Movieclip'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1578446358402052292</id><published>2009-04-08T07:41:00.000-07:00</published><updated>2009-04-08T07:44:00.830-07:00</updated><title type='text'>Collision Detection too.</title><content type='html'>A little more progress.  I'm able to move movie clips individually and I've also added collision detection:&lt;br /&gt;&lt;i&gt;mc_1.onPress = mc_2.onPress = &lt;br /&gt;function():Void {&lt;br /&gt; this.startDrag(false);&lt;br /&gt; this.onMouseMove = this._parent.checkHit;&lt;br /&gt;};&lt;br /&gt;mc_1.onRelease = mc_2.onRelease =&lt;br /&gt;function():Void {&lt;br /&gt; this.stopDrag();&lt;br /&gt;&lt;br /&gt;};&lt;br /&gt;function checkHit():Void {&lt;br /&gt; for(var instanceName in this._parent){&lt;br /&gt;  var obj:Object = this._parent[instanceName];&lt;br /&gt;    if(obj instanceof MovieClip &amp;&amp; obj != this){&lt;br /&gt;        if(this.hitTest(obj)){&lt;br /&gt;    chuck.text = "collision occuring";&lt;br /&gt;   }else{&lt;br /&gt;    chuck.text = "no collision yet";&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;/i&gt;&lt;br /&gt;Wondering what the difference is between adding event listeners and these "onPress" "onRelease" characteristics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1578446358402052292?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1578446358402052292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1578446358402052292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1578446358402052292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1578446358402052292'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/collision-detection-too.html' title='Collision Detection too.'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3465485883924295835</id><published>2009-04-08T07:01:00.000-07:00</published><updated>2009-04-08T07:02:53.963-07:00</updated><title type='text'></title><content type='html'>A little confused.  I'd like to be able to "draw something" and then have it be interactive: dragable, clickable, whatever.  Here's the code I have, but I cannot drag the movie clip:&lt;br /&gt;&lt;i&gt;var a:MovieClip = new MovieClip();&lt;br /&gt;var child:Shape = new Shape();&lt;br /&gt;child.graphics.beginFill(0xFF0000);&lt;br /&gt;child.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;child.graphics.endFill();&lt;br /&gt;a.addChild(child);&lt;br /&gt;this.addChild(a);&lt;br /&gt;a.x=100;&lt;br /&gt;a.y=100;&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_DOWN,keyPressHandler);&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_DOWN,keyReleaseHandler);&lt;br /&gt;function keyPressHandler(event:MouseEvent):void&lt;br /&gt;  {&lt;br /&gt;   a.startDrag();&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;function keyReleaseHandler(event:MouseEvent):void&lt;br /&gt;  {&lt;br /&gt;   a.stopDrag();&lt;br /&gt;  }&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3465485883924295835?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3465485883924295835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3465485883924295835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3465485883924295835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3465485883924295835'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/little-confused.html' title=''/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-326173883021532697</id><published>2009-04-07T15:21:00.000-07:00</published><updated>2009-04-07T15:24:10.952-07:00</updated><title type='text'>Drag and Drop</title><content type='html'>The only objects that can be moved with a mouse are Movie Clip instances.   So if you want a drawing of a triangle to be moveable by the user , you first have to put that triangle into a movie clip and then place a named instance of that movie clip onto the stage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-326173883021532697?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/326173883021532697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=326173883021532697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/326173883021532697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/326173883021532697'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/drag-and-drop.html' title='Drag and Drop'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8168155560423106303</id><published>2009-04-06T22:54:00.000-07:00</published><updated>2009-04-06T22:55:26.168-07:00</updated><title type='text'>Clicking on buttons to display text</title><content type='html'>Ah, the joys of programming.  I created a dynamic text box called "hector" and three instances of a button called susi, mary and jocylen.  Three functions to handle when the user clicks on each button.&lt;br /&gt;&lt;i&gt;hector.text = "Hello";&lt;br /&gt;susi.addEventListener(MouseEvent.MOUSE_DOWN,sue);&lt;br /&gt;mary.addEventListener(MouseEvent.MOUSE_DOWN,mair);&lt;br /&gt;jocylen.addEventListener(MouseEvent.MOUSE_DOWN,joy);&lt;br /&gt;function sue(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; hector.text = "susie";&lt;br /&gt;}&lt;br /&gt;function mair(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; hector.text = "mary";&lt;br /&gt;}&lt;br /&gt;function joy(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; hector.text = "jocylen";&lt;br /&gt;}&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8168155560423106303?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8168155560423106303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8168155560423106303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8168155560423106303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8168155560423106303'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/clicking-on-buttons-to-display-text.html' title='Clicking on buttons to display text'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4707339837058020788</id><published>2009-04-06T22:21:00.000-07:00</published><updated>2009-04-06T22:22:13.767-07:00</updated><title type='text'>Get URL in AS 3.0</title><content type='html'>&lt;a href="http://scriptplayground.com/tutorials/as/getURL-in-Actionscript-3/"&gt;Here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4707339837058020788?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4707339837058020788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4707339837058020788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4707339837058020788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4707339837058020788'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/get-url-in-as-30.html' title='Get URL in AS 3.0'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5480108579883835663</id><published>2009-04-06T22:11:00.001-07:00</published><updated>2009-04-06T22:26:01.839-07:00</updated><title type='text'>Displaying Text in Flash</title><content type='html'>Ok, so suppose you want to populate your swf with some data that you read in from an xml source.  If you create a dynamic text box on your stage and call in mTexticle, then in your package (can only be done in a package) define a TextHolder:&lt;br /&gt;&lt;i&gt;public var mTextHolder:TextHolder;&lt;br /&gt;public var mTextField:TextField;&lt;/i&gt;&lt;br /&gt;Then you just need to do something weird like:&lt;br /&gt;&lt;i&gt;mTextField = mTextHolder.getChildByName("mTextField") as TextField;&lt;br /&gt;mTextField.text = "Hello world" ;&lt;br /&gt;addChild(mTextHolder);&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;*******&lt;br /&gt;&lt;br /&gt;Ah, nevermind.  Not that complicated.  Suppose you create a dynamic text box in your app and it is called "coolTextThing".   Then in your actionscript you can simply write:&lt;br /&gt;&lt;i&gt;coolTextThing.text = "Hello Senor";&lt;/i&gt;  &lt;br /&gt;Much easier...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5480108579883835663?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5480108579883835663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5480108579883835663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5480108579883835663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5480108579883835663'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/displaying-text-in-flash.html' title='Displaying Text in Flash'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3577017230695339229</id><published>2009-04-06T15:34:00.001-07:00</published><updated>2009-04-06T15:35:59.679-07:00</updated><title type='text'>Simple Event Listeners in Flash</title><content type='html'>Just get reminded of the simple stuff in Flash.  Suppose you have an object and you want to do something like change its width (height, position, color, whatever).  We will need some buttons, call them longer and shorter.  If the object we are talking about is called Luis, then the most basic code is simply:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;var luis:MovieClip;&lt;br /&gt;longer.addEventListener(MouseEvent.MOUSE_DOWN,longener);&lt;br /&gt;shorter.addEventListener(MouseEvent.MOUSE_DOWN,shortener);&lt;br /&gt;function longener(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; luis.scaleX +=.3;&lt;br /&gt;}  &lt;br /&gt;function shortener(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; luis.scaleX -=.3;&lt;br /&gt;}&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3577017230695339229?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3577017230695339229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3577017230695339229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3577017230695339229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3577017230695339229'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/simple-event-listeners-in-flash.html' title='Simple Event Listeners in Flash'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3741525470367019898</id><published>2009-04-06T14:54:00.000-07:00</published><updated>2009-04-06T14:57:30.396-07:00</updated><title type='text'>Drawing and Manipulating in Flash</title><content type='html'>I found out how to "draw something" in Flash and then be able to move it around using event listeners.  &lt;i&gt;&lt;br /&gt;var a:Sprite = new Sprite();&lt;br /&gt;a.graphics.beginFill(0xFF00FF);&lt;br /&gt;a.graphics.drawRect(200,0,100,100);&lt;br /&gt;a.graphics.endFill();&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_DOWN, mousedown);&lt;br /&gt;a.addEventListener(MouseEvent.MOUSE_UP, mouseup);&lt;br /&gt;addChild(a);&lt;br /&gt;&lt;br /&gt;function mousedown(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; this.startDrag();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function mouseup(event:MouseEvent):void&lt;br /&gt;{&lt;br /&gt; this.stopDrag();&lt;br /&gt;}&lt;/i&gt; &lt;br /&gt;Now my task is to generate a whole bunch of sprites (or shapes) and be able to individually move around each one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3741525470367019898?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3741525470367019898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3741525470367019898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3741525470367019898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3741525470367019898'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/04/drawing-and-manipulating-in-flash.html' title='Drawing and Manipulating in Flash'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-9024278282287852745</id><published>2009-03-31T20:47:00.001-07:00</published><updated>2009-03-31T20:47:35.323-07:00</updated><title type='text'>How to load an image on to the Stage</title><content type='html'>var pictLdr:Loader = new Loader();&lt;br /&gt;var pictURL:String = "http://www.spore.com/static/image/500/308/917/500308917068_lrg.png";&lt;br /&gt;var pictURLReq:URLRequest = new URLRequest(pictURL);&lt;br /&gt;pictLdr.load(pictURLReq);&lt;br /&gt;pictLdr.x = 200;&lt;br /&gt;addChild(pictLdr);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-9024278282287852745?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/9024278282287852745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=9024278282287852745' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9024278282287852745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9024278282287852745'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/03/how-to-load-image-on-to-stage.html' title='How to load an image on to the Stage'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3750961028632472527</id><published>2009-03-04T09:40:00.000-08:00</published><updated>2009-03-04T09:47:52.495-08:00</updated><title type='text'>Spore Visualizations</title><content type='html'>Some recent work of prototype applications for new ways of looking at Spore content.  &lt;br /&gt;&lt;br /&gt;The first one takes the top few creatures (either top rated of all time or top rated from today) and attempts to compare different data about them via bar charts.  The three bar charts are for ratings, comments and complexity.  When you mouse over one of the creatures it shows the exact data for that creature.&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_EoeJoW0-oN8/Sa69VJRkd1I/AAAAAAAAA5I/zyE2p6ok1lo/s1600-h/5creatures.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 282px;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/Sa69VJRkd1I/AAAAAAAAA5I/zyE2p6ok1lo/s400/5creatures.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5309389181680908114" /&gt;&lt;/a&gt;&lt;br /&gt;The second application is a creature comparer.  It takes the data from two different creatures (stats, rigblocks, colors, ratings, etc.) and puts them head to head with diagrams, bars, etc. &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_EoeJoW0-oN8/Sa69Q8ijkGI/AAAAAAAAA5A/4MsCmqrtt54/s1600-h/creaturecommparer.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 328px;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/Sa69Q8ijkGI/AAAAAAAAA5A/4MsCmqrtt54/s400/creaturecommparer.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5309389109543014498" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3750961028632472527?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3750961028632472527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3750961028632472527' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3750961028632472527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3750961028632472527'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/03/spore-visualizations.html' title='Spore Visualizations'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/Sa69VJRkd1I/AAAAAAAAA5I/zyE2p6ok1lo/s72-c/5creatures.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-9042919380472839098</id><published>2009-01-31T00:47:00.000-08:00</published><updated>2009-01-31T00:48:32.121-08:00</updated><title type='text'>Recent Work in Processing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SYQQTP8mUeI/AAAAAAAAA00/xIUYVs9NZ1E/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 334px;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SYQQTP8mUeI/AAAAAAAAA00/xIUYVs9NZ1E/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5297376984578806242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SYQQPNqcJ1I/AAAAAAAAA0s/SPcySw01zpI/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 395px; height: 394px;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SYQQPNqcJ1I/AAAAAAAAA0s/SPcySw01zpI/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5297376915246294866" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-9042919380472839098?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/9042919380472839098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=9042919380472839098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9042919380472839098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9042919380472839098'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/01/recent-work-in-processing.html' title='Recent Work in Processing'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SYQQTP8mUeI/AAAAAAAAA00/xIUYVs9NZ1E/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3927885792157134652</id><published>2009-01-04T13:07:00.001-08:00</published><updated>2009-01-04T13:09:17.468-08:00</updated><title type='text'>More Work With Processing</title><content type='html'>I've spent Christmas vacation learning the Java based processing language.  Things have been slow but still overwhelming interesting for the power and diversity of the visualizations you can make with it.&lt;br /&gt;&lt;br /&gt;Here is just a "mouse over circle", very early start of some great things:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SWElFivN0LI/AAAAAAAAAzI/D3eYnNif41Y/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 131px;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SWElFivN0LI/AAAAAAAAAzI/D3eYnNif41Y/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5287548214664089778" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-3927885792157134652?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3927885792157134652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3927885792157134652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3927885792157134652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3927885792157134652'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2009/01/more-work-with-processing.html' title='More Work With Processing'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SWElFivN0LI/AAAAAAAAAzI/D3eYnNif41Y/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-202880457743372516</id><published>2008-12-23T11:48:00.001-08:00</published><updated>2008-12-23T12:02:10.324-08:00</updated><title type='text'></title><content type='html'>&lt;iframe src ="http://ml-latest.spore.rws.ad.ea.com/flash/buddyBrowser/BuddyBrowser.swf" width="100%" height="500px"&gt;&lt;br /&gt;  &lt;p&gt;Your browser does not support iframes.&lt;/p&gt;&lt;br /&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-202880457743372516?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/202880457743372516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=202880457743372516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/202880457743372516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/202880457743372516'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/12/blog-post.html' title=''/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4146378985183407310</id><published>2008-12-19T18:52:00.000-08:00</published><updated>2008-12-19T18:53:58.216-08:00</updated><title type='text'></title><content type='html'>My first processing work can be found &lt;a href="http://www.catherinetwardos.com/process/index.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;i&gt;void setup(){&lt;br /&gt;  size(400,400);&lt;br /&gt;  stroke(255);&lt;br /&gt;}&lt;br /&gt;void draw(){&lt;br /&gt;  line(150, 25, mouseX, mouseY);&lt;br /&gt;}&lt;br /&gt;void mousePressed(){&lt;br /&gt;    background(0, 0, 250);&lt;br /&gt;}&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4146378985183407310?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4146378985183407310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4146378985183407310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4146378985183407310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4146378985183407310'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/12/my-first-processing-work-can-be-found.html' title=''/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8634077184544505534</id><published>2008-12-19T18:49:00.000-08:00</published><updated>2008-12-19T18:50:34.855-08:00</updated><title type='text'>What does GPU acceleration mean?</title><content type='html'>&lt;a href="http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.kaourantin.net/2008/05/what-does-gpu-acceleration-mean.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8634077184544505534?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8634077184544505534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8634077184544505534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8634077184544505534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8634077184544505534'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/12/what-does-gpu-acceleration-mean.html' title='What does GPU acceleration mean?'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8024562028399873516</id><published>2008-12-19T18:33:00.001-08:00</published><updated>2008-12-19T18:33:37.840-08:00</updated><title type='text'>Ralph Hauwert</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/teDy0Ty_OX8&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/teDy0Ty_OX8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&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/919774197530896561-8024562028399873516?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8024562028399873516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8024562028399873516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8024562028399873516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8024562028399873516'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/12/ralph-hauwert.html' title='Ralph Hauwert'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5215839782075972657</id><published>2008-11-25T21:04:00.001-08:00</published><updated>2009-01-04T13:10:02.628-08:00</updated><title type='text'>Flare</title><content type='html'>Data visualization for the web, get it &lt;a href="http://flare.prefuse.org/apps/index"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5215839782075972657?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5215839782075972657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5215839782075972657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5215839782075972657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5215839782075972657'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/flare.html' title='Flare'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1347434202312248041</id><published>2008-11-25T20:47:00.001-08:00</published><updated>2008-11-25T20:48:03.453-08:00</updated><title type='text'>Amazon's Windowshopping</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SSzU5dyCoNI/AAAAAAAAAus/w3r_BSwK6F8/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SSzU5dyCoNI/AAAAAAAAAus/w3r_BSwK6F8/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5272823347456155858" /&gt;&lt;/a&gt;&lt;br /&gt;Check it out &lt;a href="http://www.windowshop.com/"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1347434202312248041?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1347434202312248041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1347434202312248041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1347434202312248041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1347434202312248041'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/amazons-windowshopping.html' title='Amazon&apos;s Windowshopping'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/SSzU5dyCoNI/AAAAAAAAAus/w3r_BSwK6F8/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2005563933395693195</id><published>2008-11-24T21:45:00.000-08:00</published><updated>2008-11-24T21:47:47.849-08:00</updated><title type='text'>Too Much Flash!</title><content type='html'>&lt;a href="http://blog.andre-michelle.com/"&gt;Andre-Michelle&lt;/a&gt;&lt;br /&gt;&lt;a href="http://away3d.com/tutorials"&gt;Away3D tutorials&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.joa-ebert.com/"&gt;Joa Ebert&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lab.polygonal.de/"&gt;Polygonal&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drawlogic.com/"&gt;Drawlogic&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What to do with all of this stuff?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2005563933395693195?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2005563933395693195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2005563933395693195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2005563933395693195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2005563933395693195'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/too-much-flash.html' title='Too Much Flash!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-151657219944780851</id><published>2008-11-05T20:54:00.000-08:00</published><updated>2008-11-05T20:55:32.862-08:00</updated><title type='text'>Processing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SRJ4k9YK2fI/AAAAAAAAAsE/GWrrIeTToSE/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 399px;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SRJ4k9YK2fI/AAAAAAAAAsE/GWrrIeTToSE/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265403490696092146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;i&gt;void setup() {&lt;br /&gt;  size(400, 400);&lt;br /&gt;  background(000000);&lt;br /&gt;  smooth();&lt;br /&gt;  noLoop();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void draw() {&lt;br /&gt;  vine(33,17, 24);&lt;br /&gt;  vine(133,17, 24);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void vine(int x, int numLeaves, int leafSize) {&lt;br /&gt;  stroke(255);&lt;br /&gt;  line(x, 0, x, height);&lt;br /&gt;  noStroke();&lt;br /&gt;  int gap = height / numLeaves;&lt;br /&gt;  int direction = 1;&lt;br /&gt;  for (int i = 0; i &lt; numLeaves; i++) {&lt;br /&gt;    int r = int(random(gap));&lt;br /&gt;    leaf(x, gap*i+r, leafSize, direction);&lt;br /&gt;    direction = -direction;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void leaf(int x, int y, int size, int dir) {&lt;br /&gt;  pushMatrix();&lt;br /&gt;  translate(x,y);&lt;br /&gt;  scale(size);&lt;br /&gt;  beginShape();&lt;br /&gt;  vertex(1.0*dir, -0.7);&lt;br /&gt;  bezierVertex(1.0*dir, -0.7, 0.4*dir, -1.0, 0.0, 0.0);&lt;br /&gt;  bezierVertex(0.0, 0.0, 1.0*dir, 0.4, 1.0*dir, -0.7);&lt;br /&gt;  endShape();&lt;br /&gt;  popMatrix();&lt;br /&gt;}&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-151657219944780851?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/151657219944780851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=151657219944780851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/151657219944780851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/151657219944780851'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/processing.html' title='Processing'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/SRJ4k9YK2fI/AAAAAAAAAsE/GWrrIeTToSE/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5970473068982554823</id><published>2008-11-05T14:56:00.000-08:00</published><updated>2008-11-05T19:31:32.541-08:00</updated><title type='text'>Learning DirectX</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SRJlDj0aziI/AAAAAAAAAr0/_0buC8mbiko/s1600-h/Picture+7.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 149px; height: 224px;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SRJlDj0aziI/AAAAAAAAAr0/_0buC8mbiko/s400/Picture+7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265382026178645538" /&gt;&lt;/a&gt;&lt;br /&gt;This &lt;a href="http://www.amazon.com/Introduction-Game-Programming-Direct-9-0c/dp/1598220160"&gt;book&lt;/a&gt; was recommended to me as the place to go to learn the DirectX API.  We'll see about that...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5970473068982554823?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5970473068982554823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5970473068982554823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5970473068982554823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5970473068982554823'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/learning-directx.html' title='Learning DirectX'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SRJlDj0aziI/AAAAAAAAAr0/_0buC8mbiko/s72-c/Picture+7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2484089229735418330</id><published>2008-11-05T14:46:00.000-08:00</published><updated>2008-11-05T14:47:04.562-08:00</updated><title type='text'>Holograms!</title><content type='html'>&lt;object width="400" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/js6b31_p5cc&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/js6b31_p5cc&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="344"&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/919774197530896561-2484089229735418330?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2484089229735418330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2484089229735418330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2484089229735418330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2484089229735418330'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/holograms.html' title='Holograms!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7228488304852574846</id><published>2008-11-05T14:42:00.000-08:00</published><updated>2008-11-05T19:32:01.132-08:00</updated><title type='text'>Autodesk Project Showroom</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EoeJoW0-oN8/SRJlKcMe_0I/AAAAAAAAAr8/YVmAMd_gc6c/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 199px;" src="http://4.bp.blogspot.com/_EoeJoW0-oN8/SRJlKcMe_0I/AAAAAAAAAr8/YVmAMd_gc6c/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5265382144391184194" /&gt;&lt;/a&gt;&lt;br /&gt;A pretty cool &lt;a href="http://showroom.labs.autodesk.com/#ctpDetailPane=h&amp;ctpSceneViewer=s_1F75CE4B929339ED-h_0560f2cf9b91c080aa0d99d65aa0f654-c_P0"&gt;way to explore interior design options&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7228488304852574846?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7228488304852574846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7228488304852574846' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7228488304852574846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7228488304852574846'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/11/autodesk-project-showroom.html' title='Autodesk Project Showroom'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_EoeJoW0-oN8/SRJlKcMe_0I/AAAAAAAAAr8/YVmAMd_gc6c/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4338555714045013491</id><published>2008-10-28T09:17:00.001-07:00</published><updated>2008-10-28T09:17:28.484-07:00</updated><title type='text'>3D Sketch</title><content type='html'>&lt;object width="400" height="302"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1669862&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" /&gt; &lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=1669862&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/1669862?pg=embed&amp;amp;sec=1669862"&gt;ILoveSketch&lt;/a&gt; from &lt;a href="http://vimeo.com/user725648?pg=embed&amp;amp;sec=1669862"&gt;Seok-Hyung Bae&lt;/a&gt; on &lt;a href="http://vimeo.com?pg=embed&amp;amp;sec=1669862"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4338555714045013491?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4338555714045013491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4338555714045013491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4338555714045013491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4338555714045013491'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/3d-sketch.html' title='3D Sketch'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1310717908063670277</id><published>2008-10-22T21:18:00.001-07:00</published><updated>2008-10-22T21:24:29.619-07:00</updated><title type='text'>Four Ways</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SP_7ExNIsrI/AAAAAAAAArY/uEW6lviejC4/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 292px;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SP_7ExNIsrI/AAAAAAAAArY/uEW6lviejC4/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5260198949138510514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With this method (which we can call the blanket method) it looks like we have four ways of creating 3D objects: Luc's CSG, sketch extensions and parameterized curve definitions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1310717908063670277?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1310717908063670277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1310717908063670277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1310717908063670277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1310717908063670277'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/four-ways.html' title='Four Ways'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SP_7ExNIsrI/AAAAAAAAArY/uEW6lviejC4/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8504981654655741514</id><published>2008-10-21T20:37:00.000-07:00</published><updated>2008-10-21T20:48:49.552-07:00</updated><title type='text'>The Graphics Pipeline, Shaders and Virtual Lighting</title><content type='html'>The four major functions of a traditional &lt;a href="http://www.coniserver.net/wiki/index.php/Main_Page"&gt;graphics pipeline&lt;/a&gt;: geometry processing, fragment generation, hidden surface removal and framebuffer display. The most complicated step in this process is fragment generation that determines how light interacts with the 3D objects in the scene. Not only is the given angle of the local area of the object in relation to all of the light sources important, but texturing determines the color of the light, amount of reflectance and scattering, bumps, transparency and shadows!   Designing shaders that realistically portray these graphical effects is the name of the game in computer graphics.  Most common shaders such as Phong  and Gouraud rely on the &lt;a href="http://en.wikipedia.org/wiki/Bidirectional_Reflectance_Distribution_Function&lt;br /&gt;"&gt;Bidirectional Reflectance Distribution Function&lt;/a&gt;. The &lt;a href="http://en.wikipedia.org/wiki/Oren-Nayar_diffuse_model"&gt;Oren Nayer diffuse model&lt;/a&gt;  is a reflectance model for diffuse reflection from rough surfaces. It has been shown to accurately predict the appearance of a wide range of natural surfaces, such as concrete, plaster, sand, etc.  Many of these shaders rely on the multithread capacity of the graphics card to &lt;a href="http://www.neatware.com/lbstudio/web/hlsl.html"&gt;process each vertex and fragment as a stream&lt;/a&gt;.  What is the way to think about how we translate this over to the web in the form of Flash and Javascript 3D rendering capacity?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8504981654655741514?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8504981654655741514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8504981654655741514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8504981654655741514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8504981654655741514'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/graphics-pipeline-shaders-and-virtual.html' title='The Graphics Pipeline, Shaders and Virtual Lighting'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8449966901264661061</id><published>2008-10-20T17:04:00.001-07:00</published><updated>2008-10-20T17:05:04.381-07:00</updated><title type='text'>Nice</title><content type='html'>A very nice &lt;a href="http://www.sitepoint.com/article/create-3d-product-viewer-flex-3/"&gt;article&lt;/a&gt; on importing a design into papervision and manipulating its color.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8449966901264661061?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8449966901264661061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8449966901264661061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8449966901264661061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8449966901264661061'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/nice.html' title='Nice'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8729607449159650584</id><published>2008-10-16T08:16:00.000-07:00</published><updated>2008-10-16T08:22:26.608-07:00</updated><title type='text'>Mission Accomplished</title><content type='html'>Cool, so a bunch of things are accomplished here.  I am able to start with a fully connected "picture" (list of marked pixels) and sequentially index them into a drawing.  I can then take that drawing a turn it into an N sided polygon by skipping every M points along the drawing.  Finally, I can extrude that polygon into the third dimension (third dimensionalize the 2D object) of arbitrary length.  What I am really doing is using the polygon as the "left view" of the object and using a width to be a representation of a rectangle on the front view.  The challenge is to now use more complex (interesting) front views.  I guess the first next step is a triangle front view.  The next is to export this process into Flash (Papervision).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SPda-q1r2PI/AAAAAAAAArA/BtzSMd8UMUg/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SPda-q1r2PI/AAAAAAAAArA/BtzSMd8UMUg/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5257771122676193522" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8729607449159650584?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8729607449159650584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8729607449159650584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8729607449159650584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8729607449159650584'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/mission-accomplished.html' title='Mission Accomplished'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SPda-q1r2PI/AAAAAAAAArA/BtzSMd8UMUg/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-9084454434595550661</id><published>2008-10-13T21:47:00.000-07:00</published><updated>2008-10-13T21:52:22.012-07:00</updated><title type='text'>New Thought!</title><content type='html'>The idea came to me, we can create any 3D object if we have two perpendicular views of that object.  If we have two perpendicular views, then all we need to do is parameterize the drawn shape and then triangulate it.  Creating a 3D object from two perpendicular views, parameterizing a shape and triangulating a draw are three separate problems and I will attack them one at a time.  The long term goal would be the attempt to turn any image seen on the web into a 3D object.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SPQkpGguxdI/AAAAAAAAAqw/OzI4za0RiaI/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SPQkpGguxdI/AAAAAAAAAqw/OzI4za0RiaI/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5256866953589343698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-9084454434595550661?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/9084454434595550661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=9084454434595550661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9084454434595550661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/9084454434595550661'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/new-thought.html' title='New Thought!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SPQkpGguxdI/AAAAAAAAAqw/OzI4za0RiaI/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4653064559829569565</id><published>2008-10-09T11:17:00.000-07:00</published><updated>2008-10-09T11:38:49.379-07:00</updated><title type='text'>Flash 10</title><content type='html'>The newest version of Flash, &lt;a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.html"&gt;v10&lt;/a&gt;, code-named "Astro," introduces new expressive features and visual performance improvements.  This version is &lt;a href="http://flashenabledblog.com/2008/05/15/flash-player-10-good-news-to-3d-engines/"&gt;good news&lt;/a&gt; to existing 3De engines such as Papervision and Away3D. In addition, developers can tweak parts of curves, change styling, replace parts, and use custom filters and effects, delivering improved performance, creative control, and developer productivity. The enhancements extend the current drawing API to allow for read/write rendering and triangle drawing with UV coordinates, while adding memory and performance improvements that allow developers to create shapes using ActionScript that can be modified at runtime without re-drawing.  Finally, &lt;a href="http://www.flashmagazine.com/news/detail/flash_player_10_feature_pixel_bender/"&gt;Pixel Bender&lt;/a&gt; is a high performance image processing language that takes the pain out of writing custom, multithreaded effects and filters that can be added to web applications without any Flash Player update.  Custom filters and effects can be combined with existing native Flash Player filters and applied to all display objects, including vectors, bitmaps, and video while retaining full interactivity. &lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SO5POYj1DrI/AAAAAAAAAqo/9snLJgogiek/s1600-h/2710886072_d75b88c31e.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SO5POYj1DrI/AAAAAAAAAqo/9snLJgogiek/s400/2710886072_d75b88c31e.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5255224923717439154" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4653064559829569565?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4653064559829569565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4653064559829569565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4653064559829569565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4653064559829569565'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/flash-10.html' title='Flash 10'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SO5POYj1DrI/AAAAAAAAAqo/9snLJgogiek/s72-c/2710886072_d75b88c31e.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5223649493978951065</id><published>2008-10-09T11:13:00.000-07:00</published><updated>2008-10-09T11:16:45.754-07:00</updated><title type='text'>Flash Graphics</title><content type='html'>I've been investigating for awhile how graphics happen in flash, before I found &lt;a href="http://livedocs.adobe.com/flex/2/langref/flash/display/Graphics.html"&gt;this class&lt;/a&gt;.  Besides some obvious primitive type methods such as drawCircle() and drawRect(), there are also more basic drawing operations such as lineTo() and fill(). Display objects that support drawing include Sprite and Shape objects. You cannot create a Graphics object directly from ActionScript code. If you call new Graphics(), an exception is thrown&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5223649493978951065?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5223649493978951065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5223649493978951065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5223649493978951065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5223649493978951065'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/flash-graphics.html' title='Flash Graphics'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1250004006184507880</id><published>2008-10-06T16:16:00.000-07:00</published><updated>2008-10-06T16:17:07.118-07:00</updated><title type='text'>Autodesk's Project Draw</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OXz3hK6FDWI&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/OXz3hK6FDWI&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&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/919774197530896561-1250004006184507880?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1250004006184507880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1250004006184507880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1250004006184507880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1250004006184507880'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/autodesks-project-draw.html' title='Autodesk&apos;s Project Draw'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1342024640719839129</id><published>2008-10-06T15:53:00.000-07:00</published><updated>2008-10-06T16:02:48.021-07:00</updated><title type='text'>BitmapEffectLayer</title><content type='html'>Putting "effects" on papervision objects is a little bit awkward.&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/EffectsIDE.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;In the example shown here, basically what we are doing is defining a BitmapEffectLayer called bfx, adding bfx to the viewport and then effect effects to bfx, just like you would any other bitmap.  We also need to set the render layer of the object to display its effects.  In this case, I was only able to add effects to a collada file I imported, not any old primitive...&lt;br /&gt;&lt;i&gt;var bfx:BitmapEffectLayer = new BitmapEffectLayer(350, 600, true, 0, BitmapClearMode.CLEAR_PRE, true, false);&lt;br /&gt;view.viewport.addRenderLayer(bfx);&lt;br /&gt;bfx.addEffect(new BitmapLayerEffect(new BlurFilter(2, 2, 4)));&lt;br /&gt;dae.setRenderLayer(bfx);&lt;/i&gt;&lt;br /&gt;Much of the tutorial can be found &lt;a href="http://www.iamseeker.com/?p=69"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1342024640719839129?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1342024640719839129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1342024640719839129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1342024640719839129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1342024640719839129'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/bitmapeffectlayer.html' title='BitmapEffectLayer'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5866279891571788616</id><published>2008-10-06T13:19:00.000-07:00</published><updated>2008-10-06T13:22:47.723-07:00</updated><title type='text'>Applying Flash Filters in Papervision</title><content type='html'>...is rather easy.&lt;br /&gt;&lt;br /&gt;Simply import your &lt;i&gt;import flash.filters.*&lt;/i&gt; and extend your class from a sprite. Then you are actually applying it to the viewport via:&lt;br /&gt;&lt;i&gt;public var filter:SomeKindOfFilter = new SomeKindOfFilter(0xFF0000, 1, 10, 10, 2, 1);&lt;br /&gt;viewport.filters = [filter];&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Possible "someKindOfFilter"s include:&lt;br /&gt;&lt;i&gt;GlowFilter(0xFF0000, 1, 10, 10, 2, 1);&lt;br /&gt;BevelFilter(8, 45, 0xAAAAAA, 1, 0x000000, 1, 4, 4, 1, 1, "inner");&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;with other info &lt;a href="http://www.madvertices.com/2008/03/viewport-filters-ix.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5866279891571788616?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5866279891571788616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5866279891571788616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5866279891571788616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5866279891571788616'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/applying-flash-filters-in-papervision.html' title='Applying Flash Filters in Papervision'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7853300948240872485</id><published>2008-10-06T11:36:00.000-07:00</published><updated>2008-10-06T11:45:15.269-07:00</updated><title type='text'>Papervision Shaders</title><content type='html'>In this example I use the material.shader class of the Papervision library to explore some of the 3D lighting techniques available in Flash.   The top Earth primitive uses a Phong shader which provides a slightly more focused (realistic) version of lighting than the Gouraug shader shown on the bottom.  The lighting sources for these two objects are different for a contrast in perspective.&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Shader.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;To achieve a lighting effect like this, we first need to define a PointLight3D object and add it to the scene.:&lt;br /&gt;&lt;i&gt;light = new PointLight3D();&lt;br /&gt;view.scene.addChild(light);&lt;/i&gt;&lt;br /&gt;Next we need to define a bitMapMaterial and a shader using that light source.  We then add those together to create a ShadedMaterial.&lt;br /&gt;&lt;i&gt;var bitmapMaterial:BitmapMaterial = new BitmapMaterial(new earthMaterial(0,0),true);&lt;br /&gt;var shader:GouraudShader = new GouraudShader(light, 0xFFFFFF, 0x303030);&lt;br /&gt;var shadeMat:ShadedMaterial = new ShadedMaterial(bitmapMaterial, shader);&lt;/i&gt;&lt;br /&gt;Finally, we simply create a sphere primitive and add it to the scene:&lt;br /&gt;&lt;i&gt;new var planet:Sphere = new Sphere(shadeMat, 50, 10, 10);&lt;br /&gt;view.scene.addChild(planet);&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7853300948240872485?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7853300948240872485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7853300948240872485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7853300948240872485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7853300948240872485'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/10/papervision-shaders.html' title='Papervision Shaders'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8710813941958953217</id><published>2008-09-29T16:49:00.001-07:00</published><updated>2008-09-29T16:53:22.684-07:00</updated><title type='text'>Moving the Camera</title><content type='html'>When you have your 3D objects that you want to manipulate, I've been exploring how/when its better to move the camera around and when its better to manipulate the object.  In this case I create 5 primitive objects (four spheres and 1 plane) and place them around the camera.  &lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/FreeCamera_simpleOrbit.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;Using a FreeCamera3D object, I simply rotate the camera via:&lt;br /&gt;&lt;i&gt;camera.rotationY = mouseX*360/(600) ;&lt;br /&gt;camera.rotationX = mouseY*360/(600) ;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8710813941958953217?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8710813941958953217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8710813941958953217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8710813941958953217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8710813941958953217'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/moving-camera.html' title='Moving the Camera'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4331209181888010285</id><published>2008-09-26T21:32:00.001-07:00</published><updated>2008-09-28T22:53:36.283-07:00</updated><title type='text'>Homework for the Week</title><content type='html'>&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/3_Graphics.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4331209181888010285?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4331209181888010285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4331209181888010285' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4331209181888010285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4331209181888010285'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/homework-for-week.html' title='Homework for the Week'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4055017219928432717</id><published>2008-09-23T21:35:00.001-07:00</published><updated>2008-09-23T21:35:56.439-07:00</updated><title type='text'>Autodesk's Project Draw</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ZN60Ob5x7f0&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ZN60Ob5x7f0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&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/919774197530896561-4055017219928432717?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4055017219928432717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4055017219928432717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4055017219928432717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4055017219928432717'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/autodesks-project-draw.html' title='Autodesk&apos;s Project Draw'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8608258613252791994</id><published>2008-09-18T16:49:00.001-07:00</published><updated>2008-09-18T17:32:10.284-07:00</updated><title type='text'>The First Web Based Surfboard Editor!</title><content type='html'>&lt;object width="400" height="300"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Scaler.swf" width="400" height="300"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;Using the code:&lt;br /&gt;&lt;i&gt;var incrButton:Button;&lt;br /&gt;var decrButton:Button;&lt;br /&gt;var incrButton2:Button;&lt;br /&gt;var decrButton2:Button;&lt;br /&gt;var circle:MovieClip;&lt;br /&gt;&lt;br /&gt;decrButton2.onRelease = function():Void{&lt;br /&gt; with(circle){&lt;br /&gt;  _yscale -= 4;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;incrButton2.onRelease = function():Void{&lt;br /&gt; with(circle){&lt;br /&gt;  _yscale += 4;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;incrButton.onRelease = function():Void{&lt;br /&gt; with(circle){&lt;br /&gt;  _xscale += 2;&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;decrButton.onRelease = function():Void{&lt;br /&gt; with(circle){&lt;br /&gt;  _xscale -= 2;  &lt;br /&gt; }&lt;br /&gt;};&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8608258613252791994?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8608258613252791994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8608258613252791994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8608258613252791994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8608258613252791994'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/first-web-based-surfboard-editor.html' title='The First Web Based Surfboard Editor!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-18556541730855372</id><published>2008-09-18T16:49:00.000-07:00</published><updated>2008-09-18T17:31:11.231-07:00</updated><title type='text'>Quick Flash Tutorial</title><content type='html'>&lt;object width="300" height="200"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Tracker.swf" width="250" height="200"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;Using the code:&lt;br /&gt;&lt;i&gt;&lt;br /&gt;var tracker:MovieClip;&lt;br /&gt;&lt;br /&gt; tracker.onMouseMove = function () {&lt;br /&gt;  this._x = _root._xmouse;&lt;br /&gt;  this._y = _root._ymouse;&lt;br /&gt;  updateAfterEvent();&lt;br /&gt; };&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-18556541730855372?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/18556541730855372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=18556541730855372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/18556541730855372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/18556541730855372'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/using-code-var-trackermovieclip-tracker.html' title='Quick Flash Tutorial'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8047824986157392570</id><published>2008-09-18T10:18:00.000-07:00</published><updated>2008-09-18T10:24:28.556-07:00</updated><title type='text'>Flash Tooltips</title><content type='html'>&lt;object width="300" height="200"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/ToolTipClassExample.swf" width="250" height="200"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;Done using this code:&lt;br /&gt;&lt;i&gt;// import class for mouse events&lt;br /&gt;import flash.events.MouseEvent;&lt;br /&gt;// import class for ActionScript-only instance tooltip type&lt;br /&gt;import com.afcomponents.tooltip.ContentType&lt;br /&gt;// set tooltip content&lt;br /&gt;myTooltip.type = ContentType.INSTANCE;&lt;br /&gt;myTooltip.content = NeatoAFC;&lt;br /&gt;// mouse is over an item (e.target)&lt;br /&gt;function overHandler(e:MouseEvent) { &lt;br /&gt; // show tooltip&lt;br /&gt; myTooltip.show();&lt;br /&gt;}&lt;br /&gt;// mouse out&lt;br /&gt;function outHandler(e:MouseEvent) {&lt;br /&gt; // hide tooltip&lt;br /&gt; myTooltip.hide();&lt;br /&gt;}&lt;br /&gt;// add event listeners to items on stage&lt;br /&gt;image_mc.addEventListener(MouseEvent.ROLL_OVER, overHandler);&lt;br /&gt;image_mc.addEventListener(MouseEvent.ROLL_OUT, outHandler);&lt;br /&gt;&lt;br /&gt;btn.addEventListener(MouseEvent.ROLL_OVER, overHandler);&lt;br /&gt;btn.addEventListener(MouseEvent.ROLL_OUT, outHandler);&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8047824986157392570?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8047824986157392570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8047824986157392570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8047824986157392570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8047824986157392570'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/flash-tooltips.html' title='Flash Tooltips'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7303950996583795736</id><published>2008-09-07T22:32:00.000-07:00</published><updated>2008-09-07T22:34:13.745-07:00</updated><title type='text'>Adobe's Flex</title><content type='html'>There are alot of good examples of Flex functionality shown &lt;a href="http://examples.adobe.com/flex3/componentexplorer/explorer.html"&gt;here&lt;/a&gt;.  Recently, I've been following the &lt;a href="http://www.adobe.com/devnet/flex/videotraining/?sdid=DKBJA"&gt;Flex tutorials&lt;/a&gt; for learning how to build application based on data binding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7303950996583795736?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7303950996583795736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7303950996583795736' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7303950996583795736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7303950996583795736'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/adobes-flex.html' title='Adobe&apos;s Flex'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2620351106913863558</id><published>2008-09-05T21:23:00.000-07:00</published><updated>2008-09-05T21:30:16.028-07:00</updated><title type='text'>A Surfboard Editor</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SMIF-JJSsDI/AAAAAAAAAeU/CdwMsFX4SqM/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SMIF-JJSsDI/AAAAAAAAAeU/CdwMsFX4SqM/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5242759481377599538" /&gt;&lt;/a&gt;&lt;br /&gt;I've been thinking about easier ways to create an object and edit shapes ala a Spore drag and drop approach. I've made some decent strides in managing a curve fitting to a list of points that corresponds to the shape of a 3D object in the adjacent screen.  Next steps are probably to actually transition this to two dimensions for faster editing and transferring a basic form into flash.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2620351106913863558?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2620351106913863558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2620351106913863558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2620351106913863558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2620351106913863558'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/09/surfboard-editor.html' title='A Surfboard Editor'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SMIF-JJSsDI/AAAAAAAAAeU/CdwMsFX4SqM/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4224010080686401632</id><published>2008-08-22T21:26:00.000-07:00</published><updated>2008-09-26T11:26:01.084-07:00</updated><title type='text'>Differentiating Between Spore Rigblocks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SK-Rgqfu4qI/AAAAAAAAAeE/gnQZnLdR-ls/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SK-Rgqfu4qI/AAAAAAAAAeE/gnQZnLdR-ls/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5237564882004402850" /&gt;&lt;/a&gt;&lt;br /&gt;Spore rigblocks are of a certain type: vertabrate, arms, legs, feet, eyes, mouths.  Doing color coded differentiation between those types paints a different picture.  Importing this into Papervision and manipulating it in 3D is the next step...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4224010080686401632?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4224010080686401632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4224010080686401632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4224010080686401632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4224010080686401632'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/differentiating-between-spore-rigblocks.html' title='Differentiating Between Spore Rigblocks'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/SK-Rgqfu4qI/AAAAAAAAAeE/gnQZnLdR-ls/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1258126762235409506</id><published>2008-08-22T21:19:00.001-07:00</published><updated>2008-08-22T21:30:48.170-07:00</updated><title type='text'>Surfboard Progress</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SK-SZDE_FHI/AAAAAAAAAeM/7qN424jGI_Q/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SK-SZDE_FHI/AAAAAAAAAeM/7qN424jGI_Q/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5237565850675778674" /&gt;&lt;/a&gt;&lt;br /&gt;I've managed to create a surfboard with an arbitrary cross section an iterate that along its length, providing function that indicates width and thickness.  Next step is to smooth a structure between two different cross sections.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SK-QAK6R9OI/AAAAAAAAAd8/177Qza-iDzg/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SK-QAK6R9OI/AAAAAAAAAd8/177Qza-iDzg/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5237563224258376930" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1258126762235409506?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1258126762235409506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1258126762235409506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1258126762235409506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1258126762235409506'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/surfboard-progress.html' title='Surfboard Progress'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SK-SZDE_FHI/AAAAAAAAAeM/7qN424jGI_Q/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3888250397301907164</id><published>2008-08-17T20:33:00.000-07:00</published><updated>2008-08-17T20:34:12.757-07:00</updated><title type='text'>Perceptive Pixel</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ysEVYwa-vHM&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ysEVYwa-vHM&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&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/919774197530896561-3888250397301907164?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3888250397301907164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3888250397301907164' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3888250397301907164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3888250397301907164'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/perceptive-pixel.html' title='Perceptive Pixel'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-199703614434034953</id><published>2008-08-16T00:20:00.000-07:00</published><updated>2008-08-16T00:30:32.838-07:00</updated><title type='text'>Spore Creature Files</title><content type='html'>The construction of Spore creatures are completely defined by the "crt" files that describe the position, orientation and scaling of the "rigblocks" (such as arms, feet and vertabrae) that make up the creature.  The crt files for each creature are available by a url, such as &lt;a href="http://www.spore.com/static/model/500/005/649/500005649853.xml"&gt;here&lt;/a&gt;.  One can parse these xml files and display the 3D construction of any of the creatures.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SKaB_UwfSFI/AAAAAAAAAdk/CTj52S1p28k/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SKaB_UwfSFI/AAAAAAAAAdk/CTj52S1p28k/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5235014541768607826" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-199703614434034953?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/199703614434034953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=199703614434034953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/199703614434034953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/199703614434034953'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/spore-creature-files.html' title='Spore Creature Files'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SKaB_UwfSFI/AAAAAAAAAdk/CTj52S1p28k/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-6261857480582405433</id><published>2008-08-13T20:51:00.000-07:00</published><updated>2008-08-13T20:57:12.484-07:00</updated><title type='text'>Physics</title><content type='html'>I'm working on doing some physics, to follow of the footsteps of &lt;a href="http://www.cs.princeton.edu/~traer/physics/"&gt;traer&lt;/a&gt; who is simply awesome.&lt;br /&gt;I started with some simple force balancing equations with local spring interactions, endpoints fixed.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SKOsu0kAQWI/AAAAAAAAAdc/WNMclPek8j8/s1600-h/Picture+5.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SKOsu0kAQWI/AAAAAAAAAdc/WNMclPek8j8/s400/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5234217112318263650" /&gt;&lt;/a&gt;&lt;br /&gt;Sweet.  Next step is to bend a surfboard!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-6261857480582405433?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/6261857480582405433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=6261857480582405433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6261857480582405433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6261857480582405433'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/physics.html' title='Physics'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SKOsu0kAQWI/AAAAAAAAAdc/WNMclPek8j8/s72-c/Picture+5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-5083472585800929971</id><published>2008-08-12T17:44:00.001-07:00</published><updated>2008-08-12T17:44:51.714-07:00</updated><title type='text'>The Greatest Game Ever</title><content type='html'>&lt;object width="250" height="200"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Pirate.swf" width="250" height="200"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-5083472585800929971?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/5083472585800929971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=5083472585800929971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5083472585800929971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/5083472585800929971'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/greatest-game-ever.html' title='The Greatest Game Ever'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-6037975176523891117</id><published>2008-08-12T17:40:00.000-07:00</published><updated>2008-08-12T17:41:53.053-07:00</updated><title type='text'>Second Flash Project</title><content type='html'>&lt;object width="250" height="200"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/MouseDrag.swf" width="250" height="200"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;If we define an instance of a movie clip called "ball1" then we just need the actions:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;ball1.addEventListener("mouseDown", pieceMove);&lt;br /&gt;ball1.addEventListener("mouseUp", pieceMove);&lt;br /&gt;&lt;br /&gt;function pieceMove(evt:Event):void {&lt;br /&gt; if(evt.type == "mouseDown") {&lt;br /&gt;  evt.target.startDrag();&lt;br /&gt; }&lt;br /&gt; else if(evt.type == "mouseUp"){&lt;br /&gt;  evt.target.stopDrag();&lt;br /&gt; }&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-6037975176523891117?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/6037975176523891117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=6037975176523891117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6037975176523891117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/6037975176523891117'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/second-flash-project.html' title='Second Flash Project'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7173817757011272590</id><published>2008-08-09T22:02:00.001-07:00</published><updated>2008-08-09T22:08:10.770-07:00</updated><title type='text'>Bending Things</title><content type='html'>As part of some of the physics and UI stuff I've been thinking about lately, I made two little leaps.  The first involves a simple mathematical way to represent the bending of an object for small distances as a quadratic or sine wave.  Changing the sign of the amplitude can make an object appear to bend:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SJ52a93NV6I/AAAAAAAAAdM/jHMlRsRKSRU/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SJ52a93NV6I/AAAAAAAAAdM/jHMlRsRKSRU/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5232750022705895330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ala spore creature creator, I've been thinking of a way to move around parts of an object and have the rest of the object correspond appropriately by adjusting their position in proportion that they are from the moved point.  I started with a flat object that I moved the end position far off and then applied the function to allow the rest of the system to relax.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SJ52eYm8ptI/AAAAAAAAAdU/pHs9w2LmglI/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SJ52eYm8ptI/AAAAAAAAAdU/pHs9w2LmglI/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5232750081425057490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My next task will be to allow the flexing of an already curved object...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7173817757011272590?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7173817757011272590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7173817757011272590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7173817757011272590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7173817757011272590'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/bending-things.html' title='Bending Things'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_EoeJoW0-oN8/SJ52a93NV6I/AAAAAAAAAdM/jHMlRsRKSRU/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8490153609632382542</id><published>2008-08-03T09:20:00.000-07:00</published><updated>2008-08-03T09:24:37.074-07:00</updated><title type='text'>Surfboard: User Interface</title><content type='html'>Going is slow in the editing tools / user interface in Mathematica.  I've made a mockup interface where the user can adjust the width, thickness and rocker, view their shape and determine the total volume of the board.  Not really that friendly to play with, but a decent start.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SJXbYh5SQEI/AAAAAAAAAcs/529iARjPiBg/s1600-h/Picture+5.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SJXbYh5SQEI/AAAAAAAAAcs/529iARjPiBg/s400/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5230327756722683970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I need to take a serious step back and start doing some of these same operations in Flash.  At the same time, I'd like to dive a little deeper into flow over curved surfaces.  More later...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8490153609632382542?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8490153609632382542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8490153609632382542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8490153609632382542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8490153609632382542'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/08/surfboard-user-interface.html' title='Surfboard: User Interface'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_EoeJoW0-oN8/SJXbYh5SQEI/AAAAAAAAAcs/529iARjPiBg/s72-c/Picture+5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7792527247898076453</id><published>2008-07-20T19:54:00.001-07:00</published><updated>2008-07-20T19:59:16.853-07:00</updated><title type='text'>Some Physics (At Last!)</title><content type='html'>Not much (again), but another landmark.  Since our surfboard is now mathematically described we can start to do all sorts of things like measure the thickness from any given perspective.  Here is the thickness of my surfboard from a top view and a side view:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_EoeJoW0-oN8/SIP6jvOBCEI/AAAAAAAAAcE/CJbYoFfV1nQ/s1600-h/Picture+5.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_EoeJoW0-oN8/SIP6jvOBCEI/AAAAAAAAAcE/CJbYoFfV1nQ/s400/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5225295484557527106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SIP6eCXuTHI/AAAAAAAAAb8/QDOyk6brEpU/s1600-h/Picture+7.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SIP6eCXuTHI/AAAAAAAAAb8/QDOyk6brEpU/s400/Picture+7.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5225295386619300978" /&gt;&lt;/a&gt;&lt;br /&gt;Isn't this stuff you always wanted to know?  Like "Where is the thickest part of my board?" or "At what point does the thickness of my tail exceed one inch?".  Simple questions and simple ways to see the answers.  This data has implications for more important things such a bending modes in the board, flex and strength.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7792527247898076453?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7792527247898076453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7792527247898076453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7792527247898076453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7792527247898076453'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/some-physics-at-last.html' title='Some Physics (At Last!)'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_EoeJoW0-oN8/SIP6jvOBCEI/AAAAAAAAAcE/CJbYoFfV1nQ/s72-c/Picture+5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8293652967967458487</id><published>2008-07-16T21:26:00.000-07:00</published><updated>2008-07-16T21:32:13.381-07:00</updated><title type='text'>Now We Are Talking</title><content type='html'>I've been thinking of a ways to simplify our 1 million atomed surfboards.  Here's a solution: have an automated way to take segments, choose points on those cross sections and create polygons based on those points.  Here's the quick and dirty solution.  Still described by three mathematical functions: width, thickness and rocker as a function of length on the board.  Again, the resolution can be modified to what ever degree one chooses.  Shown here: 6 sets of 14 points each for a total of 84.  Much less than 1 million, at least. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_EoeJoW0-oN8/SH7KFDKiq3I/AAAAAAAAAbs/ed13M_RCEa4/s1600-h/Picture+14.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_EoeJoW0-oN8/SH7KFDKiq3I/AAAAAAAAAbs/ed13M_RCEa4/s400/Picture+14.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5223834805894032242" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8293652967967458487?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8293652967967458487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8293652967967458487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8293652967967458487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8293652967967458487'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/now-we-are-talking.html' title='Now We Are Talking'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_EoeJoW0-oN8/SH7KFDKiq3I/AAAAAAAAAbs/ed13M_RCEa4/s72-c/Picture+14.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-202900423330546211</id><published>2008-07-15T09:12:00.000-07:00</published><updated>2008-07-15T09:13:01.082-07:00</updated><title type='text'>Next</title><content type='html'>Next mission accomplished.  This board was created by using a series of elliptical cross sections that determine the width, thickness and rocker of the board.  It is a fully smooth, organically curved board constructed by a few smooth functions.  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_EoeJoW0-oN8/SHzJwqXcFjI/AAAAAAAAAbc/OaZFhTcUiD0/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_EoeJoW0-oN8/SHzJwqXcFjI/AAAAAAAAAbc/OaZFhTcUiD0/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5223271505686435378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes the resolution is horrible again, but having this low of resolution enables me to work quickly to test things, etc.  Just to show that 1 inch resolution is not the end, here is the top 3 inches of the same board created at 0.1 inch res.  Alot smoother, eh?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SHzJ3Y68OKI/AAAAAAAAAbk/SD-Mav76yDo/s1600-h/Picture+8.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SHzJ3Y68OKI/AAAAAAAAAbk/SD-Mav76yDo/s400/Picture+8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5223271621262588066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The problem here is that the entire surfboard is created out of hundreds of thousands of atoms, making calculations slow and rendering inefficient even though the description of the board is the same as the 1 inch resolution.  Next I'm trying to think of a way to to dicretely represent the object so that we can do physics on it, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-202900423330546211?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/202900423330546211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=202900423330546211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/202900423330546211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/202900423330546211'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/next.html' title='Next'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_EoeJoW0-oN8/SHzJwqXcFjI/AAAAAAAAAbc/OaZFhTcUiD0/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8216952675984525952</id><published>2008-07-13T23:22:00.000-07:00</published><updated>2008-07-14T05:17:19.604-07:00</updated><title type='text'>We've got rails!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_EoeJoW0-oN8/SHrw2pgWUlI/AAAAAAAAAa8/rrORaI2RetM/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_EoeJoW0-oN8/SHrw2pgWUlI/AAAAAAAAAa8/rrORaI2RetM/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5222751539534647890" /&gt;&lt;/a&gt;&lt;br /&gt;Just need to put together all the pieces now.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_EoeJoW0-oN8/SHtCpVkskeI/AAAAAAAAAbM/RlK5tPzw-Ok/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_EoeJoW0-oN8/SHtCpVkskeI/AAAAAAAAAbM/RlK5tPzw-Ok/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5222841470799352290" /&gt;&lt;/a&gt;&lt;br /&gt;Update: slight change of plans.  I realize that creating unique functions for the top of the board, the bottom and then the rails and getting each function to match up is a challenge.  Instead, a surfboard is made of a set of ellipses (for now, more general shapes later).  All one need to do is define the  major axis (width), minor axis (thickness) and y position (rocker) as you traverse down the stringer.  As in my previous post, for each of these variables, one needs a small set of points (~5) along the length of the board, and a nice interpolating function to smooth things along...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8216952675984525952?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8216952675984525952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8216952675984525952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8216952675984525952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8216952675984525952'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/weve-got-rails.html' title='We&apos;ve got rails!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_EoeJoW0-oN8/SHrw2pgWUlI/AAAAAAAAAa8/rrORaI2RetM/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1678918157797195254</id><published>2008-07-10T22:32:00.000-07:00</published><updated>2008-07-10T22:40:32.830-07:00</updated><title type='text'>The Least Glorious Post About Surfboards Yet!</title><content type='html'>Okay, some progress this week, but meager at best.  I'm trying to improve the tools that a user has access to to modify the shapes, curves that make up a board.  This first demo shows a slider for width and length of a board and the resultant quadralateral, er, surfboard, on the right.   &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_EoeJoW0-oN8/SHbxFb8ECUI/AAAAAAAAAak/qyLnGnW13DI/s1600-h/Picture+5.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_EoeJoW0-oN8/SHbxFb8ECUI/AAAAAAAAAak/qyLnGnW13DI/s400/Picture+5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5221625893683988802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basic tools to create basic objects.  How can we take this further? In the second example, I show a set of points that can be moved around that we then fit a curve to.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SHbxYVaOWFI/AAAAAAAAAas/SxS2FmYot3M/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SHbxYVaOWFI/AAAAAAAAAas/SxS2FmYot3M/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5221626218348959826" /&gt;&lt;/a&gt;&lt;br /&gt;In this case, the user can play with different placements of the a points and different resulting curves.  Given a set of points that determine a curve, particular board can be chosen that we can build into a 3D object that we can then do some physics on, measure fluid flow around, etc.  First, I need to be able to constrain how the points move and then I'll need to reflect the points to create the other half.  All in good time...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1678918157797195254?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1678918157797195254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1678918157797195254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1678918157797195254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1678918157797195254'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/least-glorious-post-about-surfboards.html' title='The Least Glorious Post About Surfboards Yet!'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_EoeJoW0-oN8/SHbxFb8ECUI/AAAAAAAAAak/qyLnGnW13DI/s72-c/Picture+5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1582422455785302897</id><published>2008-07-08T21:29:00.000-07:00</published><updated>2008-07-08T21:35:02.172-07:00</updated><title type='text'>Tirnua's Blender</title><content type='html'>The new virtual world &lt;a href="http://www.tirnua.com/"&gt;Tirnua&lt;/a&gt; has decided that Blender will be it's &lt;a href="http://www.tirnua.com/blog/?p=61"&gt;tool of choice&lt;/a&gt; for open sourcing custom content.  It is still amazing that there is no clear standard in 3D content creation and the learning curve is still so steep!  Oh well, better start learning...&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ozlwcQT-U20&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ozlwcQT-U20&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&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/919774197530896561-1582422455785302897?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1582422455785302897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1582422455785302897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1582422455785302897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1582422455785302897'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/tirnuas-blender.html' title='Tirnua&apos;s Blender'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8671416458984431509</id><published>2008-07-05T19:50:00.000-07:00</published><updated>2008-07-05T19:58:05.522-07:00</updated><title type='text'>Surfboard: Curved in Two Dimensions</title><content type='html'>Cool, I did it.  Not too hard of a task from my previous post, I've created a board built out of about 3000 atoms, shaped by 4 curves.  Here are the atoms:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SHAzeu__kMI/AAAAAAAAAaM/IWQxEJVAPOs/s1600-h/Picture+6.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SHAzeu__kMI/AAAAAAAAAaM/IWQxEJVAPOs/s400/Picture+6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219728571227934914" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and here is the gridded result.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_EoeJoW0-oN8/SHA0AjRue-I/AAAAAAAAAaU/I4fahTo-trY/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_EoeJoW0-oN8/SHA0AjRue-I/AAAAAAAAAaU/I4fahTo-trY/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219729152196639714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yes the grid needs some work, but that's another story. Also, I'd like to create an object with probably about 100x greater resolution (if thats a 6 ft board, then our current resolution is an inch!).  Maybe switch over to Java to make things run faster and figure out another way to view it (Mathematica is too slow!)  Next I'd like to do some simple physics on it (simple ball and spring connections to calculate bend and twist modes) and create a little easier User Interface so I can more easily change the length, thickness and overall shape.  Yes, the rails need some work too...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8671416458984431509?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8671416458984431509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8671416458984431509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8671416458984431509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8671416458984431509'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/surfboard-curved-in-two-dimensions.html' title='Surfboard: Curved in Two Dimensions'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_EoeJoW0-oN8/SHAzeu__kMI/AAAAAAAAAaM/IWQxEJVAPOs/s72-c/Picture+6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4445296018007960050</id><published>2008-07-04T10:14:00.000-07:00</published><updated>2008-07-04T10:29:21.051-07:00</updated><title type='text'>Next Step:  Mapping Atoms to Curves</title><content type='html'>As you can see from this picture, Mathematica doesn't have the greatest tools, (best resolution) for doing 3D contour plots (I don't think this board could turn too well.)  But you get the idea.  This object was created by restraining the material to be within four functions (top, bottom, left and right).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_EoeJoW0-oN8/SG5a3dl7nYI/AAAAAAAAAZ0/IMsZnlvEKcI/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_EoeJoW0-oN8/SG5a3dl7nYI/AAAAAAAAAZ0/IMsZnlvEKcI/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219208927052012930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So the general idea will be to use mathematical curves to map the gridded atoms.  First, we need to determine the curves (say left and right as shown in the picture) that restrict the domain of the grid.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_EoeJoW0-oN8/SG5dZbyIihI/AAAAAAAAAZ8/YOco-2AaBEU/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_EoeJoW0-oN8/SG5dZbyIihI/AAAAAAAAAZ8/YOco-2AaBEU/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219211709705128466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then we will take these points and use another function (top and bottom rocker) to map the domain to a range.  More soon...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4445296018007960050?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4445296018007960050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4445296018007960050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4445296018007960050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4445296018007960050'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/next-step-mapping-atoms-to-curves.html' title='Next Step:  Mapping Atoms to Curves'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_EoeJoW0-oN8/SG5a3dl7nYI/AAAAAAAAAZ0/IMsZnlvEKcI/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1714495068981601371</id><published>2008-07-04T09:57:00.000-07:00</published><updated>2008-07-04T10:12:16.684-07:00</updated><title type='text'>A Brief Detour:  The Way of the Google</title><content type='html'>With the going slow in creating 3D virtual surfboards from scratch, I decided to check out Google's freely downloadable 3D content creator, &lt;a href="http://sketchup.google.com/"&gt;Sketchup&lt;/a&gt;.  For being free, this is an amazing tool that you can use to create all sorts of things as shown in their &lt;a href="http://sketchup.google.com/3dwarehouse/"&gt;Warehouse&lt;/a&gt; of creations  made from Sketchup.   You can even use Sketchup to recreate real life buildings, upload them into Google Earth and fly around them in your virtual airplane.&lt;br /&gt;&lt;br /&gt;So it is easy to make a rectangular blank and then curve off the edges:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_EoeJoW0-oN8/SG5YnhO-eiI/AAAAAAAAAZk/A3UWhKT9Djw/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp0.blogger.com/_EoeJoW0-oN8/SG5YnhO-eiI/AAAAAAAAAZk/A3UWhKT9Djw/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219206454128310818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But when you take to take this blank and put some rocker in it, Sketchup doesn't let you.  Technically, the idea is that you can't extrude a curved surface in one dimension with a curve in another direction.  Bummer.  Back to our previously scheduled program...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_EoeJoW0-oN8/SG5YvNQjlhI/AAAAAAAAAZs/BpUE-3Q7V_Q/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://bp3.blogger.com/_EoeJoW0-oN8/SG5YvNQjlhI/AAAAAAAAAZs/BpUE-3Q7V_Q/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5219206586205181458" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-1714495068981601371?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1714495068981601371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1714495068981601371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1714495068981601371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1714495068981601371'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/07/brief-detour-way-of-google.html' title='A Brief Detour:  The Way of the Google'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_EoeJoW0-oN8/SG5YnhO-eiI/AAAAAAAAAZk/A3UWhKT9Djw/s72-c/Picture+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2055157615408721123</id><published>2008-06-27T22:05:00.000-07:00</published><updated>2008-06-27T22:06:13.606-07:00</updated><title type='text'>Rotating Atoms</title><content type='html'>More progress today.  I was able to rotate these objects by any angle but restricting the atoms to the grid by simply rounding to the nearest grid point.  This method works generally well, but it does turn nice smooth surfaces to these strange, jaggedy things. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGXFjAWfegI/AAAAAAAAAYs/OyUQjYTwPA0/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGXFjAWfegI/AAAAAAAAAYs/OyUQjYTwPA0/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5216792948559018498" /&gt;&lt;/a&gt;&lt;br /&gt;As I rotated the object, I also did a measurement of the distance between the two furthest points in the object and the number of unique points (i.e. the volume) both as a ratio to the non-rotated object.  As shown as the two numbers in the picture, the distance between the furthest points drops only as low as 0.98, but the volume could actually drop below 0.8 at points.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGXGZjI8geI/AAAAAAAAAY0/a94MWVIqTuM/s1600-h/Picture+9.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGXGZjI8geI/AAAAAAAAAY0/a94MWVIqTuM/s400/Picture+9.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5216793885610377698" /&gt;&lt;/a&gt;&lt;br /&gt;Should this be a problem?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2055157615408721123?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2055157615408721123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2055157615408721123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2055157615408721123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2055157615408721123'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/06/rotating-atoms.html' title='Rotating Atoms'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SGXFjAWfegI/AAAAAAAAAYs/OyUQjYTwPA0/s72-c/Picture+4.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-913151137748989534</id><published>2008-06-26T20:24:00.000-07:00</published><updated>2008-06-26T20:39:04.111-07:00</updated><title type='text'>More Thoughts on Atoms</title><content type='html'>Lately, I've been thinking more about a new method of content creation that includes keeping track of tiny particles that live on a 3 dimensional grid.  One thing I was wondering was how to take a object described by a long list of particles and define its surface, its inside and its outside.  I figured out an algorithm to do this and then use that list of particles to create a 3D grid of points but defining a points nearest neighbors in each direction, x, y and z.  The algorithm isn't perfect yet (its hard to perfectly define a contour) but you get the idea.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGRdi7iRPII/AAAAAAAAAYU/OLileO5D7cw/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGRdi7iRPII/AAAAAAAAAYU/OLileO5D7cw/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5216397123080240258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The next thing I wanted to do was "create complex structures by the simple operation of combining more simple objects" just like I did for my previous method of creating 3D structures.   The operation wound up being simple, its simply Boolean operations on lists.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGRdpryaYrI/AAAAAAAAAYc/JnWOk5lIGHs/s1600-h/Picture+1.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_EoeJoW0-oN8/SGRdpryaYrI/AAAAAAAAAYc/JnWOk5lIGHs/s400/Picture+1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5216397239112065714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Overall, progress is going well.  I think the next thing to do is attempt to rotate objects and have them still adhere to the grid.  We would do something like keep the entire list of atoms, then we simply might round the atom to the nearestgrid point.  Each atom should have a unique name, a specific coordinate system (one where the center of the object is at the origin) and a general coordinate system (to allow for translations and rotations).&lt;br /&gt;&lt;br /&gt;Could this approach be useful for defining a simple, universal method of building 3D objects.  It seems like this approach requires computers to have more memory than vast computational skills.  Could an entire virtual world be built out of a collection of virtual atoms?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-913151137748989534?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/913151137748989534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=913151137748989534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/913151137748989534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/913151137748989534'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/06/more-thoughts-on-atoms.html' title='More Thoughts on Atoms'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_EoeJoW0-oN8/SGRdi7iRPII/AAAAAAAAAYU/OLileO5D7cw/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-4559497534954887474</id><published>2008-06-23T14:01:00.000-07:00</published><updated>2008-07-05T20:02:04.175-07:00</updated><title type='text'>3D Geometry: A New Approach</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGAQRoX5uII/AAAAAAAAAX8/ViLytJU-6EM/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGAQRoX5uII/AAAAAAAAAX8/ViLytJU-6EM/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5215186263576524930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My brute force constructive solid geometry stuff has been going okay, but I feel like I've been hitting a wall with creating really complex objects with this approach.  For something as simple as a &lt;a href="http://out-of-the-page.blogspot.com/2008/04/rotating-surfboard.html"&gt;surfboard&lt;/a&gt; requires lots of triangles and very awkward ways of adjusting the shape.&lt;br /&gt;&lt;br /&gt;What is the limit in doing 3D content creation using particles?  Then the problem is reduced to adding and subtracting particles the the object.  It will also be easier to do physics calculations such as determining the strength (or weak points) and finding the total volume of the object and doing other discrete simulations such as heat flow, vibrational modes, etc.  The thing to figure out is which particles are on the surface and redefine the surface as you add and subtract particle, or is this even necessary?&lt;br /&gt;&lt;br /&gt;Now you can even do things like shape objects with arbitrary curved surface!&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGAZB9iEpaI/AAAAAAAAAYE/YRuQCoBAfHc/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SGAZB9iEpaI/AAAAAAAAAYE/YRuQCoBAfHc/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5215195889983071650" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-4559497534954887474?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/4559497534954887474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=4559497534954887474' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4559497534954887474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/4559497534954887474'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/06/3d-geometry-new-approach.html' title='3D Geometry: A New Approach'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/SGAQRoX5uII/AAAAAAAAAX8/ViLytJU-6EM/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2576502817628093837</id><published>2008-06-15T12:35:00.001-07:00</published><updated>2008-06-15T12:35:48.886-07:00</updated><title type='text'>Disneyland in Google Earth</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_wmdCeFUQH4&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/_wmdCeFUQH4&amp;hl=en" type="application/x-shockwave-flash" width="425" height="344"&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/919774197530896561-2576502817628093837?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2576502817628093837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2576502817628093837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2576502817628093837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2576502817628093837'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/06/disneyland-in-google-earth.html' title='Disneyland in Google Earth'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2649890617484501725</id><published>2008-06-11T23:10:00.000-07:00</published><updated>2008-06-11T23:11:15.519-07:00</updated><title type='text'>The Most Powerful Content Creator Ever Produced</title><content type='html'>Coming soon to an internet near you!&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Ub8kYq99mHw&amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Ub8kYq99mHw&amp;hl=en" type="application/x-shockwave-flash" width="425" height="344"&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/919774197530896561-2649890617484501725?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2649890617484501725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2649890617484501725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2649890617484501725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2649890617484501725'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/06/most-powerful-content-creator-ever.html' title='The Most Powerful Content Creator Ever Produced'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-8764467637119259961</id><published>2008-05-24T12:42:00.000-07:00</published><updated>2008-05-24T12:43:43.551-07:00</updated><title type='text'>Random Stuff</title><content type='html'>Hmm... getting bored.  Thinking about Spore creature creator, sharing objects via web services, virtual worlds built completely in Flash.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="340"&gt;&lt;br /&gt;&lt;param name="movie" value="MaterialsDemo.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/Balls.swf" width="480" height="340"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-8764467637119259961?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/8764467637119259961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=8764467637119259961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8764467637119259961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/8764467637119259961'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/05/random-stuff.html' title='Random Stuff'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-3324032122354758211</id><published>2008-05-22T19:41:00.000-07:00</published><updated>2008-05-22T19:42:06.247-07:00</updated><title type='text'>The Virtusphere</title><content type='html'>&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/OKSodRhEvA8&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/OKSodRhEvA8&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/919774197530896561-3324032122354758211?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/3324032122354758211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=3324032122354758211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3324032122354758211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/3324032122354758211'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/05/virtusphere.html' title='The Virtusphere'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-1246375815282223100</id><published>2008-05-02T21:40:00.001-07:00</published><updated>2008-05-02T21:40:38.197-07:00</updated><title type='text'>Introducing BumpTop</title><content type='html'>This is what I am talking about!&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/M0ODskdEPnQ&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/M0ODskdEPnQ&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/919774197530896561-1246375815282223100?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/1246375815282223100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=1246375815282223100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1246375815282223100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/1246375815282223100'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/05/introducing-bumptop.html' title='Introducing BumpTop'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7901619668391368828</id><published>2008-04-24T23:43:00.000-07:00</published><updated>2008-04-24T23:45:42.140-07:00</updated><title type='text'>Wii Flash</title><content type='html'>This is excellent.  You can get read some more documentation &lt;a href="http://code.google.com/p/wiiflash/"&gt;here&lt;/a&gt; and &lt;a href="http://www.wiiflash.org/"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8WTZEnvIuD8&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/8WTZEnvIuD8&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/919774197530896561-7901619668391368828?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7901619668391368828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7901619668391368828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7901619668391368828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7901619668391368828'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/04/wii-flash.html' title='Wii Flash'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2802853161054872885</id><published>2008-04-24T09:06:00.000-07:00</published><updated>2008-04-24T09:13:22.583-07:00</updated><title type='text'>The Evolution of a 3D Interface</title><content type='html'>A few posts ago, I talked about how the internet is becoming more 3D with tools like papervision and more webservice connectivity to virtual worlds like Second Life.  Before the internet becomes 3D, I think the desktop will evolve more 3D capabilities as we have already seen from Apple.  Using directory structure as an example, one can see how we moved from lists to widgets to a 3D interface.  The 3D interface is definitely cool and user friendly, but I must admit, I still have am used to using the 2D interface more.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_EoeJoW0-oN8/SBCwWn5piQI/AAAAAAAAAT0/L41fTghr8t0/s1600-h/Picture+2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_EoeJoW0-oN8/SBCwWn5piQI/AAAAAAAAAT0/L41fTghr8t0/s400/Picture+2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5192844273072572674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_EoeJoW0-oN8/SBCwmH5piSI/AAAAAAAAAUA/uWLWEHkN0Ls/s1600-h/Picture+3.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_EoeJoW0-oN8/SBCwmH5piSI/AAAAAAAAAUA/uWLWEHkN0Ls/s400/Picture+3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5192844539360545058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_EoeJoW0-oN8/SBCwyX5piTI/AAAAAAAAAUI/3ExghaeUrss/s1600-h/Picture+4.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_EoeJoW0-oN8/SBCwyX5piTI/AAAAAAAAAUI/3ExghaeUrss/s400/Picture+4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5192844749813942578" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2802853161054872885?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2802853161054872885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2802853161054872885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2802853161054872885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2802853161054872885'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/04/evolution-of-3d-interface.html' title='The Evolution of a 3D Interface'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_EoeJoW0-oN8/SBCwWn5piQI/AAAAAAAAAT0/L41fTghr8t0/s72-c/Picture+2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-7579721067452673427</id><published>2008-04-21T08:53:00.001-07:00</published><updated>2008-04-21T08:53:32.071-07:00</updated><title type='text'>Rotating Surfboard</title><content type='html'>&lt;object width="480" height="340"&gt;&lt;br /&gt;&lt;param name="movie" value="MaterialsDemo.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/manipulate2.swf" width="480" height="340"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-7579721067452673427?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/7579721067452673427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=7579721067452673427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7579721067452673427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/7579721067452673427'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/04/rotating-surfboard.html' title='Rotating Surfboard'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2017897533191139257</id><published>2008-04-18T18:05:00.000-07:00</published><updated>2008-04-18T18:07:33.089-07:00</updated><title type='text'>Papervision Materials</title><content type='html'>&lt;object width="480" height="340"&gt;&lt;br /&gt;&lt;param name="movie" value="MaterialsDemo.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/MaterialsDemo.swf" width="480" height="340"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2017897533191139257?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2017897533191139257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2017897533191139257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2017897533191139257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2017897533191139257'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/04/papervision-materials.html' title='Papervision Materials'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-919774197530896561.post-2167695397062862759</id><published>2008-04-18T17:51:00.001-07:00</published><updated>2008-04-18T17:57:51.777-07:00</updated><title type='text'>First Flash Project</title><content type='html'>&lt;object width="250" height="200"&gt;&lt;br /&gt;&lt;param name="movie" value="FlowerSunrise.swf"&gt;&lt;br /&gt;&lt;embed src="http://miketwardos.googlepages.com/FlowerSunrise.swf" width="250" height="200"&gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/919774197530896561-2167695397062862759?l=out-of-the-page.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://out-of-the-page.blogspot.com/feeds/2167695397062862759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=919774197530896561&amp;postID=2167695397062862759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2167695397062862759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/919774197530896561/posts/default/2167695397062862759'/><link rel='alternate' type='text/html' href='http://out-of-the-page.blogspot.com/2008/04/first-flash.html' title='First Flash Project'/><author><name>Michael Twardos</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='28' src='http://2.bp.blogspot.com/-EDe6d_XGj20/Tkgo3bTCzVI/AAAAAAAAB5Q/Bc4NgPW_phc/s220/Picture%2B28.png'/></author><thr:total>0</thr:total></entry></feed>
