<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevLog &#187; gaming</title>
	<atom:link href="http://82.30.70.163/BlueThen/wordpress/tag/gaming/feed/" rel="self" type="application/rss+xml" />
	<link>http://82.30.70.163/BlueThen/wordpress</link>
	<description></description>
	<lastBuildDate>Mon, 06 Sep 2010 15:24:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cursor Glove, Day 11, and 12</title>
		<link>http://82.30.70.163/BlueThen/wordpress/2010/01/cursor-glove-day-11-and-12/</link>
		<comments>http://82.30.70.163/BlueThen/wordpress/2010/01/cursor-glove-day-11-and-12/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 03:07:37 +0000</pubDate>
		<dc:creator>BlueThen</dc:creator>
				<category><![CDATA[Chase Engine]]></category>
		<category><![CDATA[Dev Log]]></category>
		<category><![CDATA[Glove Cursor]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[cam]]></category>
		<category><![CDATA[Chase]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[glove]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[johnny]]></category>
		<category><![CDATA[lee]]></category>
		<category><![CDATA[lens]]></category>
		<category><![CDATA[pointer]]></category>
		<category><![CDATA[sunglass]]></category>
		<category><![CDATA[sunglasses]]></category>
		<category><![CDATA[transformations]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://82.30.70.163/BlueThen/BlueThen/wordpress/?p=198</guid>
		<description><![CDATA[On Sunday of last week, I had a pretty neat idea. I was looking around the internet, and ran into some sort of gaming glove. I thought &#8220;Hey! That&#8217;s pretty cool.&#8221; I had something different in mind, and found that this glove didn&#8217;t have the capabilities I&#8217;d hope for. I was thinking of something like [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/BlueThen/wordpress/wp-content/uploads/2010/01/DSC00272.jpg"><img src="/BlueThen/wordpress/wp-content/uploads/2010/01/DSC00272-300x224.jpg" alt="" title="DSC00272" width="300" height="224" class="alignleft size-medium wp-image-206" /></a>
<p style="text-indent:20pt; line-height:20pt;">On Sunday of last week, I had a pretty neat idea. I was looking around the internet, and ran into some sort of <a href="http://www.engadget.com/2009/12/18/peregrine-gaming-glove-modeled-calibrated-and-demoed-on-video/">gaming glove</a>. I thought &#8220;Hey! That&#8217;s pretty cool.&#8221; I had something different in mind, and found that this glove didn&#8217;t have the capabilities I&#8217;d hope for. I was thinking of something like a <a href="http://kernelreloaded.blog385.com/sadrzaj/wiimote.jpg">wiimote</a> but in the form of a glove.</p>
<p style="text-indent:20pt; line-height:20pt;">I remembered seeing <a href="http://www.youtube.com/user/jcl5m">Johnny Lee&#8217;s videos</a> of his <a href="http://johnnylee.net/projects/wii/">wiimote hacks</a>. He set up his wiimote to receive input from external infrared lights, and to track it while doing several neat things like <a href="http://www.youtube.com/watch?v=Jd3-eiid-Uw">head-tracking</a> or a <a href="http://www.youtube.com/watch?v=5s5EvhHy7eQ">multi-touch projector white-board</a>. This was all very impressive, considering he was using very cheap supplies to accomplish these things. He also made a <a href="http://www.youtube.com/watch?v=0awjPUkBXOU">finger-tracker using an infrared light array (grid of lights), and some reflectors taped onto his fingers</a>. I eventually came to the idea of using an IR light with the webcam. I understood that cameras have a tendency of picking up infrared lights, unlike our human eyes. I grabbed a TV remote, wrote a quick script, and it worked greatly!</p>
<p><span id="more-198"></span></p>
<p style="text-indent:20pt; line-height:20pt;">I went to Radio Shack that evening, picked up an IR light, a battery holder, and a button. I then went to Lowes and got a pair of gardener gloves. When I got home, I taped it all together using some electrical tape, ran the script, and it worked beautifully. The glove wasn&#8217;t perfect yet though. The algorithm takes all the pixels the webcam inputs, finds the brightest ones, then averages them and use that. I actually discovered that sunglass lenses blocks visible light from entering, but NOT infrared light, which was extremely convenient on my part. I popped the 2 lenses out of the glasses, taped them together, and made a little holder so it can slide onto the webcam. This also helped reduce glare, which is another cause of some error in accuracy. Another fall-back was the jitterness that occurs naturally in your hands, and the wide range of brightnesses the infrared light can give off when angled differently. Fixing this was simple, simply load all the calculated positions into an array of 5, 10, or however much and average those out to significantly smooth the cursor.</p>
<p style="text-indent:20pt;">Hopefully I&#8217;ll be able to work on from that. Add another infrared light and add some sort of &#8220;multi-touch&#8221; capabilities, or maybe even attempt something like a virtual tablet, using the same methods as Johnny Lee&#8217;s white-board. The possibilities are endless. Below is a gallery of a bunch of different high-res images involving the cursor glove.</p>
<p style="text-indent:20pt; line-height:20pt;">This doesn&#8217;t mean I&#8217;m letting go of Chase, however. I&#8217;m working on it as much as I can. I worked on it again, and got even closer to a working graphics engine. I&#8217;m currently creating a Scene datatype. It&#8217;ll act much like Adobe Flash Professional&#8217;s scene, but in programming. In my engine, you&#8217;ll plot different models and polygons in a 3D or 2D space in the scene. All 3D coordinates are rendered, but 2D coordinates are kept the same. Using a scene class will make it easy for the developer to rotate, translate, dilate, or do whatever globally to all the coordinates being displayed. </p>
<p style="text-indent:20pt; line-height:20pt;">I got rid of all of the transformation functions (translate, dilate, etc), since they&#8217;re already existent inside Coordinate and Polygon&#8217;s class. Hopefully I can get the Scene class to work pretty soon here, so I can proceed to start adding actual new features and tools to the engine.</p>
<p style="text-indent:20pt; line-height:20pt;">Below is a library of pictures of the cursor glove and webcam filter made out of sunglass lenses:</p>

 <img src="http://82.30.70.163/BlueThen/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=198" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://82.30.70.163/BlueThen/wordpress/2010/01/cursor-glove-day-11-and-12/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
