<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>The Lab Category: Geek</title>
    <link>http://www.mediamolecule.com/lab/</link>
    <description />
    <dc:language>en</dc:language>
    <dc:creator>ChrisC</dc:creator>
    <dc:rights>Copyright Media Molecule Ltd 2011</dc:rights>
    <pubDate>Tue, 30 Aug 2011 12:09:55 GMT</pubDate>
    
     <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MmLabCategoryGeek" /><feedburner:info uri="mmlabcategorygeek" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
    <title>Tetris on the ceiling: chapter 1</title>
    <link>http://feedproxy.google.com/~r/MmLabCategoryGeek/~3/uxBviuIrjRk/</link>
    <guid isPermaLink="false">http://www.mediamolecule.com/lab/article/tetris_on_the_ceiling_chapter_1/#id:2002#date:14:29</guid>
    <description>&lt;p&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/the-shining-sequel_thumb.jpg" alt="Oooooh!" width="230" height="340" class="floatleft"/&gt;Mm is excited to be moving towers soon, to a new shiny office inside a new shiny tower… and in the new tower, for reasons too pedestrian to recount here, the boring standard office ceiling tiles are being replaced with clear acrylic ones. This, of course, is awesome. But in what particular way? &lt;/p&gt;

&lt;p&gt;Over a few cocktails and glasses of champagne at Guildford’s entirely un-legendary and slightly creepy The-Shining-esque hotel-bar-blue-light-travelling-salesman-horror-venue ‘The Mandolay’, the Molecules put their heads together. ‘What’, slurred Paul ‘Aggie’ Davis, ‘about adding coloured lights above the tiles?’&lt;br /&gt;
 &lt;br /&gt;
What indeed! I feel a lab project coming on&amp;#8230;&lt;/p&gt;

&lt;p&gt;A little drunken 3 am googling session later, whilst contemplating how one might wire up and control 2000 ceiling tiles with coloured lights, I discovered this rather wonderful chip: &lt;a href="http://www.allegromicro.com/en/Products/Part_Numbers/6281/6281.pdf"&gt;the Allegro A6281&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Are all my dreams answered?
&lt;/p&gt;&lt;p&gt; 
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;PWM brightness controller with constant current LED output stage? CHECK. &lt;/li&gt;
&lt;li&gt;Serial input of data to reduce number of wires? CHECK. &lt;/li&gt;
&lt;li&gt;Really simple to wire up because I’ve forgotten all my electronics? CHECK. &lt;/li&gt;
&lt;li&gt;Easy to solder&amp;#8230;. oh wait its surface mount only.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Never mind! It was late, I was drunk, details like circuit boards et al can be sourced later. Next: LEDs! Oh wait, no-body seems to want to supply LEDs to me in Europe, much less tell me which of the bewildering LED selection available on the whole of the internet’s six billion pages to order. Curses.&lt;br /&gt;
 &lt;br /&gt;
But then&amp;#8230; America saved my ass. Specifically Macetech and their oh-my-god-it-was-made-for-me-surely-this-is-too-good-to-be-true, &lt;a href="http://www.macetech.com/blog/node/54"&gt;shiftbrite product&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Basically, shiftbrite is a cute little, 1 inch by 1inch, mini prefabricated circuit board with a little RGB LED and one of those Allegro chips all wired up and ready to go. On two of its edges are six pins, just like the ones you plug PC cpu fans into on your motherboard, to allow you to chain them together like fairy lights. Then you plug one end into a COMPUTER MACHINE, some JUICY FAT POWER, and it can control all the lights to be any colour you want. Witness 81 one of them gaffer taped to an ikea coffee table. so much win, we had to have them.&lt;/p&gt;

&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/C7aUaMiqoIE&amp;amp;hl=en_GB&amp;amp;fs=1&amp;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/C7aUaMiqoIE&amp;amp;hl=en_GB&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;
 &lt;br /&gt;
At this point, excitement was brewing. Ideas were flowing. If we could light all 2000 tiles of our ceiling under computer control, we’d essentially have a huge crazy RGB display on the ceiling… we could animate it in any way we wanted, we could run movies on it… we could play games on it… tetris or pong across the ceiling.&amp;nbsp; If someone broke the build, we could put a red light explosion above their desk. What else could we do?&lt;br /&gt;
 &lt;br /&gt;
An order for eight was made, and duly despatched. Maplin was raided for parallel port bits, my dodgy soldering iron was dug up, and this entirely safe monstrosity was created:&lt;br /&gt;
 &lt;br /&gt;
&lt;img src="http://www.mediamolecule.com/images/uploads/ceiling1_thumb.jpg" alt="Oooooh!" width="640" height="480" /&gt;&lt;br /&gt;
 &lt;br /&gt;
(Where Aggy found a pc with a working parallel port in 2010 is another story – but that’s what IT managers do, right? Find stuff that no-one else can find. It’s a kind of genius) The plan was, rather than using a fancy microcontroller as macetech advise, we’d plug eight chains of LEDs into the eight data pins of a linux based pc’s parallel port, and then use all the power of the pc to generate and play ‘awesome stuff’ over the internets.&lt;br /&gt;
 &lt;br /&gt;
A few lines of dodgy C later, we had the first 8 lights up and running:&lt;br /&gt;
 &lt;br /&gt;
&lt;img src="http://www.mediamolecule.com/images/uploads/image001_thumb.jpg" alt="Oooooh!" width="640" height="479" /&gt;&lt;/p&gt;

&lt;p&gt;Tune in next time, when I actually plug in for the first time, the first chain of 100 lights:&lt;br /&gt;
 &lt;br /&gt;
&lt;img src="http://www.mediamolecule.com/images/uploads/ceiling2_thumb.jpg" alt="Oooooh!" width="640" height="480" /&gt;&lt;br /&gt;
 &lt;br /&gt;
(despite epic temptation, unfortunately LBP work has prevented me from having time to try it. But oh, my blog reading friends, you’ll be the first to know when we switch on… well second I guess, we’ll know first!&lt;br /&gt;
 &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=uxBviuIrjRk:lMuW46UuLrE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=uxBviuIrjRk:lMuW46UuLrE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=uxBviuIrjRk:lMuW46UuLrE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=uxBviuIrjRk:lMuW46UuLrE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=uxBviuIrjRk:lMuW46UuLrE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=uxBviuIrjRk:lMuW46UuLrE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=uxBviuIrjRk:lMuW46UuLrE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=uxBviuIrjRk:lMuW46UuLrE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MmLabCategoryGeek/~4/uxBviuIrjRk" height="1" width="1"/&gt;</description>
    
    <category>Geek</category>
    <pubDate>Mon, 19 Apr 2010 14:29 GMT</pubDate>
    <feedburner:origLink>http://www.mediamolecule.com/lab/article/tetris_on_the_ceiling_chapter_1/</feedburner:origLink></item> <item>
    <title>Jesse Schell’s talk on the future of games</title>
    <link>http://feedproxy.google.com/~r/MmLabCategoryGeek/~3/cBNV8BJIxoY/</link>
    <guid isPermaLink="false">http://www.mediamolecule.com/lab/article/jesse_schells_talk_on_the_future_of_games/#id:1964#date:15:59</guid>
    <description>&lt;p&gt;This is the most interesting/entertaining talk by far from DICE (wot Siobhan and I wos at last week)&lt;/p&gt;

&lt;div align="center"&gt;&lt;object classId="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="450" id="VideoPlayerLg44277"&gt;&lt;param name="movie" value="http://g4tv.com/lv3/44277" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://g4tv.com/lv3/44277" type="application/x-shockwave-flash" name="VideoPlayer" width="600" height="450" allowScriptAccess="always" allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=cBNV8BJIxoY:KpkbBiyO4eA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=cBNV8BJIxoY:KpkbBiyO4eA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=cBNV8BJIxoY:KpkbBiyO4eA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=cBNV8BJIxoY:KpkbBiyO4eA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=cBNV8BJIxoY:KpkbBiyO4eA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=cBNV8BJIxoY:KpkbBiyO4eA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=cBNV8BJIxoY:KpkbBiyO4eA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=cBNV8BJIxoY:KpkbBiyO4eA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MmLabCategoryGeek/~4/cBNV8BJIxoY" height="1" width="1"/&gt;</description>
    
    <category>Geek</category>
    <pubDate>Tue, 23 Feb 2010 15:59 GMT</pubDate>
    <feedburner:origLink>http://www.mediamolecule.com/lab/article/jesse_schells_talk_on_the_future_of_games/</feedburner:origLink></item> <item>
    <title>What’s Alex been reading about?</title>
    <link>http://feedproxy.google.com/~r/MmLabCategoryGeek/~3/_dUgNhCh-xQ/</link>
    <guid isPermaLink="false">http://www.mediamolecule.com/lab/article/whats_alex_been_reading_about/#id:1768#date:14:01</guid>
    <description>&lt;p&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/wordpress/2009/10/alex-sticker.png" width="300" height="217" class="floatright" /&gt;&lt;/a&gt;Alex Evans thinks about lots of awesome techie things, always reading, always learning, always geeking out and making weird and awesome things. &lt;/p&gt;

&lt;p&gt;The other day he sent me the text that I now present to you, a collection of thoughts on recent developments in computer graphical hoo-hah. I don&amp;#8217;t really understand half of it, being just a lowly writer, but he was insistent that we publish it at once! So here it is, Alex&amp;#8217;s mini tech blog, enjoy!&lt;/p&gt;

&lt;blockquote&gt;&lt;h3&gt;Arnold Render&lt;/h3&gt;&lt;p&gt;
Arnold render is back! The renderer by Marcos Fajardo, that made those super cute super soft renders back in the 90s and popularised the ‘ambient occlusion&amp;#8217;- is back - &lt;a href="http://www.3dluvr.com/marcosss/morearni"&gt;look here for a blast from the past&lt;/a&gt;! It seems that Sony Pictures Imageworks used a new version of Arnold on &lt;em&gt;Monster House&lt;/em&gt; and also on &lt;em&gt;Cloudy With a Chance of Meatballs&lt;/em&gt;. For graphics geeks, (like Alex) that’s pretty exciting. &lt;/p&gt;

&lt;p&gt;After the keynotes at this years HPG (High Performance Graphics) Conference everyone was talking about how ray tracing was the ‘new’ thing. At last! It’s only taken 30 years&amp;#8230; And the first beta images of &lt;a href="http://www.cgauiwtalk.com/showthread.php?p=75690"&gt;the new Arnold renderer look great&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;h3&gt;Voxels&lt;/h3&gt;&lt;p&gt;
Meanwhile, back into games land – ever since Jon Olick from id (ex Naughty Dog, I believe) gave a talk at Siggraph 2008 about his research on voxels (remember Comanche? Ah, those were the days!) – anyway, yes, voxels on GPU, they seem to be the in thing. &lt;a href="http://www.youtube.com/watch?v=VpEpAFGplnI"&gt;This video is quite cool&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;More recently, &lt;a href="http://artis.imag.fr/Publications/2009/CNLE09/"&gt;Gigavoxels by Cyril Crassin&lt;/a&gt; is a beautiful implementation of a simple idea – volume mip maps stored in a sparse octree – that allows blurring and filtering of voxel scenes. That’s crucial – I hate the blocky look of most voxel renders, which is the equivalent of point sampling of textures – and not intrinsic to voxels at all. Given that my personal graphics manifesto is ‘blur and add noise’ (it solves all problems!) gigavoxels is right up my street. Awesome stuff. &lt;/p&gt;&lt;/blockquote&gt;

&lt;blockquote&gt;&lt;h3&gt;GPU ray marching&lt;/h3&gt;&lt;p&gt;
Demo land: Iñigo Quílez has been hammering on signed distance fields and GPU ray marching – and has got it down to a fine art. &lt;a href="http://iquilezles.org/prods/"&gt;His 4k demos and images&lt;/a&gt; (that’s 4k! Tiny! Amazing! Etc!) are second to none. &lt;a href="http://iquilezles.org/www/material/nvscene2008/rwwtt.pdf"&gt;The technique is super simple&lt;/a&gt; - but in his artistic hands he creates beautiful images. (shameless plug alert).&lt;/p&gt;

&lt;p&gt;I’ve always loved signed distance fields – they mesh neatly with voxels, ray tracing, and blurring-and-adding-noise (see what I did there? :)) – and I gave a talk about it at Siggraph 2006 – “&lt;a href="http://ati.amd.com/developer/techpapers.html"&gt;Fast Approximation for Global Illumination on Dynamic Scenes&lt;/a&gt;” - which includes a rough / unrefined version of the way that Inigo creates the soft shadows in his images. &lt;/p&gt;

&lt;p&gt;That paper also constituted the first time Sackboy was ever seen outside the walls of Mm – and an explanation of how I handle all those little lights in levels - long before LBP was announced! However I put a sphere over his head so that nobody would recognise him. It seems to have worked&amp;#8230;
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Still with me? Anyone understand that? Good, then you&amp;#8217;ll be looking forward to the second part then won&amp;#8217;t you? An update from Mister Johnny Hopper about &lt;a href="http://old.siggraph.org/s2009/"&gt;Siggraph 09&lt;/a&gt; - coming soon!
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=_dUgNhCh-xQ:yzQInIDQrmI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=_dUgNhCh-xQ:yzQInIDQrmI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=_dUgNhCh-xQ:yzQInIDQrmI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=_dUgNhCh-xQ:yzQInIDQrmI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=_dUgNhCh-xQ:yzQInIDQrmI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=_dUgNhCh-xQ:yzQInIDQrmI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=_dUgNhCh-xQ:yzQInIDQrmI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=_dUgNhCh-xQ:yzQInIDQrmI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MmLabCategoryGeek/~4/_dUgNhCh-xQ" height="1" width="1"/&gt;</description>
    
    <category>Geek</category>
    <pubDate>Thu, 01 Oct 2009 14:01 GMT</pubDate>
    <feedburner:origLink>http://www.mediamolecule.com/lab/article/whats_alex_been_reading_about/</feedburner:origLink></item> <item>
    <title>3D scanning update: I love the internets</title>
    <link>http://feedproxy.google.com/~r/MmLabCategoryGeek/~3/m6annYnZE-I/</link>
    <guid isPermaLink="false">http://www.mediamolecule.com/lab/article/3d_scanning_update_i_love_the_internets/#id:1771#date:18:46</guid>
    <description>&lt;div class="aligncenter"&gt;&lt;a href="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/dave_processing21.jpg" title="Dave Processed"&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/dave_processing21.thumbnail.jpg" alt="Dave Processed" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;3d scanning update! after a few more experiments, I uploaded some very ropey (and non-interactive) 3d scanner code to the david-lasercanning forum, along with some mugshots of MM&amp;#8217;s Dave Smith. And, bless him, a chap called Florian from The Internet posted a comment to my previous post here, with a running version of my code &amp;#8211; complete with interactively rotatable 3d scan of Dave! OMG!&amp;nbsp; I hope he&amp;#8217;ll forgive me for reposting the link he put in the comment, in this post: you can get this file &lt;a href="http://bezier.de/exchange/alex_3d_scanner_x02.zip" rel="nofollow"&gt;http://bezier.de/exchange/alex_3d_scanner_x02.zip&lt;/a&gt; and when you run it, you should see a 3d mugshot of MM&amp;#8217;s own dave that&amp;#8217;s rotatable with mouse. If I had a little more skill with processing, I probably could have embedded the java applet version in this page, but, er, I don&amp;#8217;t know how at this late point in the day :)&lt;/p&gt;

&lt;p&gt;But how do you run it then, I hear you ask? it&amp;#8217;s a port of my C++ code to processing, and processing runs on any platform with java. linux, mac, pc, etc. so get thee forthwith to &lt;a href="http://www.processing.org"&gt;http://www.processing.org&lt;/a&gt;, and download the right version for you. then, once you&amp;#8217;ve sussed out the processing interface, load up Florian&amp;#8217;s &amp;#8216;.pde&amp;#8217; file, click &amp;#8216;play&amp;#8217;, and behold the awesome 3d scan-ness. All from 3 simple black and white photos&amp;#8230; hurrah.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=m6annYnZE-I:fYzu-KrQoWo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=m6annYnZE-I:fYzu-KrQoWo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=m6annYnZE-I:fYzu-KrQoWo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=m6annYnZE-I:fYzu-KrQoWo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=m6annYnZE-I:fYzu-KrQoWo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=m6annYnZE-I:fYzu-KrQoWo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=m6annYnZE-I:fYzu-KrQoWo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=m6annYnZE-I:fYzu-KrQoWo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MmLabCategoryGeek/~4/m6annYnZE-I" height="1" width="1"/&gt;</description>
    
    <category>Geek</category>
    <pubDate>Wed, 19 Dec 2007 18:46 GMT</pubDate>
    <feedburner:origLink>http://www.mediamolecule.com/lab/article/3d_scanning_update_i_love_the_internets/</feedburner:origLink></item> <item>
    <title>Homebrew 3D Scanner</title>
    <link>http://feedproxy.google.com/~r/MmLabCategoryGeek/~3/gTrMw58MuHY/</link>
    <guid isPermaLink="false">http://www.mediamolecule.com/lab/article/homebrew_3d_scanner/#id:1770#date:12:56</guid>
    <description>&lt;p&gt;I&amp;#8217;ve always had a passing interest in things like computer vision, 3d scanning and wot-not&amp;#8230; but I don&amp;#8217;t really know much about it. so one sunday a few weeks ago I spent a nice day sitting on the sofa, reading papers on 3d scanning. (I&amp;#8217;m sad like that). I was looking for a &amp;#8216;free-time project&amp;#8217; which I could play with in half-hour chunks &amp;#8211; as a coder with lots to do, I don&amp;#8217;t have the luxury of the immediacy of a sketchbook, nor do I have vast tracts of time to sit down and get stuck into a coding session on anything other than LBP. And, I have never got into &lt;a href="http://www.processing.org"&gt;processing&lt;/a&gt; for some reason&amp;#8230;&lt;/p&gt;&lt;p&gt; 
&lt;/p&gt;&lt;p&gt;Anyway, I stumbled upon a rather cool free laser scanning program, that lets you scan objects (that is, create 3d meshes in the computer that accurately represent a real object, for example, your face) using just a laser pointer, a computer and a webcam. It&amp;#8217;s called the &lt;a href="http://www.david-laserscanner.com"&gt;&amp;#8216;david laserscanner&amp;#8217;&lt;/a&gt;. Not posessing a laser pointer, a nosed around a bit more and decided that I might be able to program a &lt;a href="http://en.wikipedia.org/wiki/3D_scanner#Structured_light"&gt;structured light scanner&lt;/a&gt;. In this technique, you shine a pattern (or patterns) onto your object using a video projector, and photograph the results. by the same sort of triangulation that stereo-image-pair type techniques work (you know, red-green glasses and wot-not), you get a mesh out. only it&amp;#8217;s more robust because one of the cameras is replaced by a projector and the pattern you project allows you to more clearly see the shape of the object. like this:&lt;/p&gt;&lt;p&gt; 
&lt;/p&gt;&lt;div class="aligncenter"&gt;&lt;a href="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/alexballs2128.png" title="j-ho gets striped"&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/alexballs2128.thumbnail.png" alt="j-ho gets striped" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt; 
&lt;/p&gt;&lt;p&gt;A week later I had a plan &amp;#8211; see the &lt;a href="http://www.david-laserscanner.com/forum/viewtopic.php?t=280&amp;amp;start=19"&gt;david forum&lt;/a&gt; for the details!&lt;/p&gt;&lt;p&gt; 
&lt;/p&gt;&lt;div class="aligncenter"&gt;&lt;a href="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/setup.jpg" title="my first stab at a structured light scanner setup"&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/setup.thumbnail.jpg" alt="my first stab at a structured light scanner setup" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt; 
&lt;/p&gt;&lt;p&gt;Another week passed before I managed to snaffle rex&amp;#8217;s HD video camera, and took those pictures of our very own Jonny Hopper (&amp;#8217;J-Ho&amp;#8217;). You can see that all is needed is a program that can measure the &amp;#8216;bendyness&amp;#8217; of the stripes on his face.&lt;/p&gt;
&lt;p&gt;This weekend I spent saturday afternoon trying out different ideas for this. I managed to compensate for the gamma curve of the projector/camera, which was step 1; then I was able to extract the &amp;#8216;phase&amp;#8217; of the stripes, which was step 2. but then I hit a snag &amp;#8211; my &amp;#8216;phase unwrapping&amp;#8217; &amp;#8211; which gives you your output depths, doesn&amp;#8217;t work too well. never mind, I was trying a pretty dumb algorithm, but I&amp;#8217;ve run out of time and it&amp;#8217;ll have to be next week or so before I get a chance to try agian. still, massive noise aside, all of which comes from bugs in my unwrapper, the initial results are promising! the huge errors visible on the left are just due to errors in the phase-unwrap, and hopefully they can be completely got rid of. you can see quite a nice profile, where it works! yay!&lt;/p&gt;
&lt;div class="aligncenter"&gt;&lt;a href="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/attempt1.jpg" title="world’s worst 3d scan"&gt;&lt;img src="http://www.mediamolecule.com/images/uploads/wordpress/2007/12/attempt1.thumbnail.jpg" alt="world’s worst 3d scan" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=gTrMw58MuHY:I0LtDoW5Jm4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=gTrMw58MuHY:I0LtDoW5Jm4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=gTrMw58MuHY:I0LtDoW5Jm4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=gTrMw58MuHY:I0LtDoW5Jm4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=gTrMw58MuHY:I0LtDoW5Jm4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=gTrMw58MuHY:I0LtDoW5Jm4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?a=gTrMw58MuHY:I0LtDoW5Jm4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MmLabCategoryGeek?i=gTrMw58MuHY:I0LtDoW5Jm4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/MmLabCategoryGeek/~4/gTrMw58MuHY" height="1" width="1"/&gt;</description>
    
    <category>Geek</category>
    <pubDate>Mon, 10 Dec 2007 12:56 GMT</pubDate>
    <feedburner:origLink>http://www.mediamolecule.com/lab/article/homebrew_3d_scanner/</feedburner:origLink></item></channel>
</rss>
