<?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>lithium flowers bloom &#187; Week5</title>
	<atom:link href="http://leejayxia.com/blog/tag/week5/feed/" rel="self" type="application/rss+xml" />
	<link>http://leejayxia.com/blog</link>
	<description>the weblog</description>
	<lastBuildDate>Sat, 15 May 2010 20:52:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Pandemonium</title>
		<link>http://leejayxia.com/blog/pandemonium/</link>
		<comments>http://leejayxia.com/blog/pandemonium/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 22:02:11 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Communications Lab]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[panda]]></category>
		<category><![CDATA[pandemonium]]></category>
		<category><![CDATA[stop motion]]></category>
		<category><![CDATA[Week5]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=232</guid>
		<description><![CDATA[Panda Attack!!! Thanks Emily! UPDATE: Story board! UPDATE 2: pandemonium &#124;ˌpandəˈmōnēəm&#124; noun wild and noisy disorder or confusion; uproar : pandemonium broke out. ORIGIN mid 17th cent.: modern Latin (denoting the place of all demons, in Milton&#8217;s Paradise Lost), from pan- [all] + Greek daimōn ‘demon.’ UPDATE 3: tweezers &#124;ˈtwēzərz&#124; plural noun (also a pair [...]]]></description>
			<content:encoded><![CDATA[<p>Panda Attack!!!</p>
<p><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1916537&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1916537&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object></p>
<p>Thanks Emily!</p>
<p>UPDATE: Story board!</p>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/storyboard_pande.jpg" rel="lightbox[232]"><img src="http://leejayxia.com/blog/wp-content/uploads/2008/10/storyboard_pande-300x231.jpg" alt="" title="storyboard pandemonium" width="300" height="231" class="alignnone size-medium wp-image-235" /></a></p>
<p>UPDATE 2:</p>
<p><strong>pandemonium</strong> |ˌpandəˈmōnēəm|<br />
<em>noun</em><br />
wild and noisy disorder or confusion; uproar : pandemonium broke out.</p>
<p>ORIGIN mid 17th cent.: modern Latin (denoting the place of all demons, in Milton&#8217;s <em>Paradise Lost</em>), from pan- [all] + Greek daimōn ‘demon.’</p>
<p>UPDATE 3:</p>
<p><strong>tweezers</strong> |ˈtwēzərz|<br />
<em>plural noun (also a pair of tweezers)</em><br />
a small instrument like a pair of pincers for plucking out hairs and picking up small objects.</p>
<p>ORIGIN mid 17th cent.: extended form of obsolete tweeze [case of surgical instruments,] shortening of etweese, plural of etui .</p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/pandemonium/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PCom: Serial Input in Processing</title>
		<link>http://leejayxia.com/blog/serial-input-in-processing/</link>
		<comments>http://leejayxia.com/blog/serial-input-in-processing/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 15:42:33 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Introduction to Physical Computing]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[force sensor]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[Physical Computing]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[Serial]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[Week5]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=229</guid>
		<description><![CDATA[I do enjoy the force sensor I got in week 5&#8242;s application class so I&#8217;ll definitely use it more in the assignment! First I revisited the processing codes I wrote for week 2, which now seems to be a total mess. I didn&#8217;t know about the serialEvent callback then so I parsed the serial input [...]]]></description>
			<content:encoded><![CDATA[<p>I do enjoy the force sensor I got in week 5&#8242;s application class so I&#8217;ll definitely use it more in the assignment!</p>
<p>First I revisited the processing codes I wrote for <a href="http://leejayxia.com/blog/physical-computing-week-2-analog/" target="_blank">week 2</a>, which now seems to be a total mess. I didn&#8217;t know about the serialEvent callback then so I parsed the serial input in the draw loop, and I didn&#8217;t use BYTE output in the arduino board so I need to parse it as string. It worked pretty well but the revised the version is much better.</p>
<p><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1913389&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1913389&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object></p>
<p>Codes:</p>
<div class="codecolorer-container java dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">processing.serial.*</span><span style="color: #339933;">;</span><br />
<br />
Serial myPort<span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> window <span style="color: #339933;">=</span> <span style="color: #cc66cc;">800</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> values <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> index <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> input <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; size<span style="color: #009900;">&#40;</span>window,window<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; smooth<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">// List all the available serial ports:</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">//println(Serial.list());</span><br />
&nbsp; myPort <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Serial<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>, Serial.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>, <span style="color: #cc66cc;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; values<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> i <span style="color: #339933;">+</span> index<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>j <span style="color: #339933;">&gt;=</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; j <span style="color: #339933;">=</span> j <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">80</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span>, <span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>values<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; point<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; point<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span> <span style="color: #339933;">+</span> i, <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>values<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> serialEvent<span style="color: #009900;">&#40;</span>Serial p<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; input <span style="color: #339933;">=</span> p.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;input:&quot;</span> <span style="color: #339933;">+</span> input<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; values<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> input <span style="color: #339933;">*</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span><br />
&nbsp; index<span style="color: #339933;">++;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>index <span style="color: #339933;">&gt;=</span> window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; index <span style="color: #339933;">=</span> index <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>window <span style="color: #339933;">-</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Then I thought about the nature of the force sensor and really wished I could visualize the &#8220;force&#8221; in the processing. So I adopted the &#8220;string&#8221; example bundled in the processing application and integrated it with the serial input.</p>
<p><object width="400" height="302"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1913399&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=1913399&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="302"></embed></object></p>
<p>Codes:</p>
<div class="codecolorer-container java dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">processing.serial.*</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">// The serial port:</span><br />
Serial myPort<span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> input <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">int</span> lastInput <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Spring drawing constants for top bar</span><br />
<span style="color: #000066; font-weight: bold;">int</span> s_height <span style="color: #339933;">=</span> <span style="color: #cc66cc;">16</span><span style="color: #339933;">;</span> &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Height</span><br />
<span style="color: #000066; font-weight: bold;">int</span> left <span style="color: #339933;">=</span> <span style="color: #cc66cc;">150</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Left position</span><br />
<span style="color: #000066; font-weight: bold;">int</span> right <span style="color: #339933;">=</span> <span style="color: #cc66cc;">250</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Right position</span><br />
<span style="color: #000066; font-weight: bold;">int</span> max <span style="color: #339933;">=</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Maximum Y value</span><br />
<span style="color: #000066; font-weight: bold;">int</span> min <span style="color: #339933;">=</span> <span style="color: #cc66cc;">20</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">// Minimum Y value</span><br />
<span style="color: #000066; font-weight: bold;">boolean</span> over <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// If mouse over</span><br />
<span style="color: #000066; font-weight: bold;">boolean</span> move <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// If mouse down and over</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Spring simulation constants</span><br />
<span style="color: #000066; font-weight: bold;">float</span> M <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.8</span><span style="color: #339933;">;</span> &nbsp; <span style="color: #666666; font-style: italic;">// Mass</span><br />
<span style="color: #000066; font-weight: bold;">float</span> K <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.2</span><span style="color: #339933;">;</span> &nbsp; <span style="color: #666666; font-style: italic;">// Spring constant</span><br />
<span style="color: #000066; font-weight: bold;">float</span> D <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.92</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// Damping</span><br />
<span style="color: #000066; font-weight: bold;">float</span> R <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span> &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">// Rest position</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Spring simulation variables</span><br />
<span style="color: #000066; font-weight: bold;">float</span> ps <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60.0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Position</span><br />
<span style="color: #000066; font-weight: bold;">float</span> vs <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.0</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #666666; font-style: italic;">// Velocity</span><br />
<span style="color: #000066; font-weight: bold;">float</span> as <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">// Acceleration</span><br />
<span style="color: #000066; font-weight: bold;">float</span> f <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Force</span><br />
<br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; rectMode<span style="color: #009900;">&#40;</span>CORNERS<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; noStroke<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; myPort <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Serial<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>, Serial.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>, <span style="color: #cc66cc;">9600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">102</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; updateSpring<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; drawSpring<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> drawSpring<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">// Draw base</span><br />
&nbsp; fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">float</span> b_width <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.5</span> <span style="color: #339933;">*</span> ps <span style="color: #339933;">+</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span><br />
&nbsp; rect<span style="color: #009900;">&#40;</span>width<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">-</span> b_width, ps <span style="color: #339933;">+</span> s_height, width<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">+</span> b_width, <span style="color: #cc66cc;">350</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> updateSpring<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">// Update the spring position</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>move<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; f <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>K <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>ps <span style="color: #339933;">-</span> R<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">// f=-ky</span><br />
&nbsp; &nbsp; as <span style="color: #339933;">=</span> f <span style="color: #339933;">/</span> M<span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Set the acceleration, f=ma == a=f/m</span><br />
&nbsp; &nbsp; vs <span style="color: #339933;">=</span> D <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>vs <span style="color: #339933;">+</span> as<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; <span style="color: #666666; font-style: italic;">// Set the velocity</span><br />
&nbsp; &nbsp; ps <span style="color: #339933;">=</span> ps <span style="color: #339933;">+</span> vs<span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Updated position</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>abs<span style="color: #009900;">&#40;</span>vs<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; vs <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.0</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <span style="color: #666666; font-style: italic;">// Test if mouse is over the top bar</span><br />
&nbsp; <span style="color: #666666; font-style: italic;">/*<br />
&nbsp; if(mouseX &gt; left &amp;&amp; mouseX &lt; right &amp;&amp; mouseY &gt; ps &amp;&amp; mouseY &lt; ps + s_height) {<br />
&nbsp; &nbsp; over = true;<br />
&nbsp; } else {<br />
&nbsp; &nbsp; over = false;<br />
&nbsp; }<br />
&nbsp; */</span><br />
&nbsp; <br />
&nbsp; <span style="color: #666666; font-style: italic;">// Set and constrain the position of top bar</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>move<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; ps <span style="color: #339933;">=</span> map<span style="color: #009900;">&#40;</span>input,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">255</span>,min,max<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> s_height<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ps <span style="color: #339933;">&lt;</span> min<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> ps <span style="color: #339933;">=</span> min<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ps <span style="color: #339933;">&gt;</span> max<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> ps <span style="color: #339933;">=</span> max<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000066; font-weight: bold;">void</span> serialEvent<span style="color: #009900;">&#40;</span>Serial p<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; input <span style="color: #339933;">=</span> p.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;input:&quot;</span> <span style="color: #339933;">+</span> input<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>input <span style="color: #339933;">&gt;</span> lastInput<span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; move <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>lastInput <span style="color: #339933;">&gt;</span> input <span style="color: #339933;">+</span> <span style="color: #cc66cc;">10</span> <span style="color: #339933;">||</span> input <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><br />
&nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; move <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <br />
&nbsp; lastInput <span style="color: #339933;">=</span> input<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/serial-input-in-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scent visualization preparation</title>
		<link>http://leejayxia.com/blog/scent-visualization-preparation/</link>
		<comments>http://leejayxia.com/blog/scent-visualization-preparation/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 07:56:04 +0000</pubDate>
		<dc:creator>L.J</dc:creator>
				<category><![CDATA[Visualizing the Five Senses]]></category>
		<category><![CDATA[Fall 2008]]></category>
		<category><![CDATA[ITP]]></category>
		<category><![CDATA[larvae]]></category>
		<category><![CDATA[odor]]></category>
		<category><![CDATA[smell]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[Week5]]></category>

		<guid isPermaLink="false">http://leejayxia.com/blog/?p=213</guid>
		<description><![CDATA[Just spent a whole afternoon browsing for different visualizations and to my surprise I didn&#8217;t find many cases directly dealing with the smell. This week&#8217;s case is to visualize the data collected in an experiment by Dr. Vosshall&#8217;s research group on the navigation of genetically modified drosophila larvae through an odor field. It started to [...]]]></description>
			<content:encoded><![CDATA[<p>Just spent a whole afternoon browsing for different visualizations and to my surprise I didn&#8217;t find many cases directly dealing with the smell. This week&#8217;s case is to visualize the data collected in an experiment by Dr. Vosshall&#8217;s research group on the navigation of genetically modified drosophila larvae through an odor field. It started to be a little bit overwhelmed when it comes to a specific case to visualize, and actually the visualization work used in the paper are pretty comprehensive to me already. Anyway I still tried to write down the different alternatives to visualize each element in the experiment for next week.</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;"><strong>2 Paths (unilateral and bilateral olfactory). </strong></span></span></h2>
<p><strong></strong>In the experiment actually 4 different groups of larvae were used.</p>
<p style="padding-left: 30px;">a) Or83b<sup>–/–</sup> mutant, non-functional in detecting the odor used in the experiment;</p>
<p style="padding-left: 30px;">b) unilateral left (only left olfactory organ is functioning);</p>
<p style="padding-left: 30px;">c) unilateral right;</p>
<p style="padding-left: 30px;">d) full functional wild type.</p>
<p>We rule out the case <span style="text-decoration: underline;">a</span> and combine <span style="text-decoration: underline;">b</span> &amp; <span style="text-decoration: underline;">c</span> together just to simplify the visualization to support the conclusion from the experiment. This is where we start the &#8220;illusion&#8221; by trimming down the source data from the experiment. However, some of the features should not be ignored in the different behaviors:</p>
<p style="padding-left: 30px;"><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/235_big02.jpg" rel="lightbox[213]"><img class="size-thumbnail wp-image-215 alignright" title="North American Subways" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/235_big02-150x150.jpg" alt="" width="120" height="120" /></a><strong><em><span style="text-decoration: underline;">The Difference</span></em></strong></p>
<p style="padding-left: 30px;">First of all, the two different types of behaviors should be splitted on the final visualization. The paths should remain looking like a path, or course, to avoid unnecessary confusion, but they should be clearly marked with (at least) 2 different colors, or placed in different levels to differentiate. The sample image is the North American Subways Map from <a href="http://www.radicalcartography.net/?subways" target="_blank">http://www.radicalcartography.net/?subways</a>. The path could even be assigned a non-opaque alpha value so that we could later see the accumulation of color for a certain type of larva. This would also be discussed later.</p>
<p style="padding-left: 30px;"><strong><em><span style="text-decoration: underline;">The Route</span></em></strong></p>
<p style="padding-left: 30px;"><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/figure8.png" rel="lightbox[213]"><img class="size-thumbnail wp-image-214 alignright" title="eye-tracking map" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/figure8-150x150.png" alt="" width="120" height="120" /></a></p>
<p style="padding-left: 30px;">The navigation of the larva could be told by its movement, and we need to keep track of this route.</p>
<p style="padding-left: 30px;">The starting and ending point should be indicated in the visualization. They should be either marked clearly on a static image, or be presented in a video through time.</p>
<p style="padding-left: 30px;">I found the work from <a href="http://www.ijdesign.org/ojs/index.php/IJDesign/article/view/267/163" target="_blank">an experiment in which different cognitive styles of Chinese, Koreans and Americans were compared</a>. In the report, Eye Tracking Data Visualization (<a href="http://www.ijdesign.org/ojs/public/journals/1/267/Figure7.png" target="_blank" rel="lightbox[213]">pic1</a>, <a href="http://www.ijdesign.org/ojs/public/journals/1/267/Figure8.png" target="_blank" rel="lightbox[213]">pic2</a>, <a href="http://www.ijdesign.org/ojs/public/journals/1/267/Figure9.png" target="_blank" rel="lightbox[213]">pic3</a>) were presented to indicate user attention to a certain web page through time. Different colors are used for different period of browsing time. This technique could also be applied to the larva navigation, for instance, the route starts with a lighter version of the base color (which indicates its type) and throughout its journey the routh grows darker. Or, in the simplest form, a small triangle in the front indicating the direction.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;"><em><strong>The Weighed</strong></em></span></p>
<p style="padding-left: 30px;"><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/15_big01.jpg" rel="lightbox[213]"><img class="alignright size-thumbnail wp-image-216" title="Traffic Flow Map" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/15_big01-150x150.jpg" alt="" width="120" height="120" /></a>I would also like to emphasize on the &#8220;expected&#8221; decision of the larva. If a step it took was expected (towards the odor), this step should be weighed more than an incorrect step (away from the odor). The &#8220;correctness&#8221; of a step could be compared by the angle between current larva direction (by calculating the previous and current position) and the vector of that location (which points to the stronger odor source). A weighed &#8220;correct&#8221; step could be thicker in shape, or having different texture on it. Sample image from <a href="http://www.telegeography.com/" target="_blank">TeleGeography</a> by Timothy J. Stronge.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;"><em><strong>The Group</strong></em></span></p>
<p style="padding-left: 30px;">The group average behavior of a certain type of larvae let us see beyond individual exceptions, so that I think a heatmap could be a good idea to present that. This technique is also used in Dr. Vosshall&#8217;s paper. Due to the fact that the larvae location was captured rather low-res, the heatmap was pixelated. A 3D histogram over the surface might also help, but I will try to look for more simple solution in 2D first. If the path was at first place rendered as a semi-transparent line, we might be able to get a self-accumulated heatmap automatically at the end of whole rendering.</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;">Odor (particle and odorant gradients)</span></span></h2>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/e59bbee78987-4.png" rel="lightbox[213]"><img class="alignright size-thumbnail wp-image-217" title="Odor" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/e59bbee78987-4-150x150.png" alt="" width="120" height="120" /></a>The visualization of the odor is mostly about the intensity. In 3D the visual effect could be easily achieved by placing more particles in certain space to suggest higher density. In 2D we usually indicate the intensity by changing opacity and lightness of the color. In this case, the stronger the odor is, the thicker and brighter the color should be. That is still a lazy solution though. I&#8217;m actually pretty much into the idea (in the paper) of putting vectors everywhere to point out where a stonger odor is. And the vector could combine with the idea to give a visual feedback while the larva travels away from the expected direction.</p>
<p>I thought of using the lifted plane to indicate a higher density of odor, but that would be too much like a metaphor for mountain, which does not make much sense in this case. Larvae pursuing height? So &#8230; better keep the old fashion in this case.</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;">Larvae</span></span></h2>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/04opart-large.jpg" rel="lightbox[213]"><img class="alignright size-thumbnail wp-image-219" title="31 Days in Iraq" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/04opart-large-150x150.jpg" alt="" width="120" height="120" /></a>The visualization given in the paper might actually be restricting the creativity while I think about this experiment. I felt pleased when I realized that I could throw away the odor field and think about only the larvae. I thought too much about the experiment itself so that I previously focused mostly on the path and almost abstracted the larva to a single point myself. This is not necessary the case.</p>
<p>I saw <a title="31 Days in Iraq" href="http://www.nytimes.com/imagepages/2007/02/03/opinion/04opart.html" target="_blank">this</a> on the new york times website while I was looking around and it was definitely a shock. It gave me an idea that the larvae could also be visualized in a statistical way. They could be categorized by success/failure evaluation of pursuing the odor, or by the steps they took before reaching the expected destination.</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;">Define space of experiment<br />
</span></span></h2>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/endspiel04-gr.jpg" rel="lightbox[213]"><img class="alignright size-thumbnail wp-image-222" title="Football Drawings" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/endspiel04-gr-150x150.jpg" alt="" width="120" height="120" /></a>In my personal interest I would like to keep the space 2D, since the sampled data were no more than 2D and I feel like keep that simplicity. Even 3D might be spectacular for user interaction but I don&#8217;t see much point here to introduce the 3D space for this experiment, unless in the sketch next week I add multi-layer information so that I have to introduce 3D. The visualization for the odor substances filling in the space was already covered above, and they would take up all spaces of experiment. So the point here is to define a clear boundary of the experiment area, and express the idea that whenever the larva touches the boundary its game is over. Simple geometry shapes or difference in color would do it fine.</p>
<p><a href="http://www.susken-rosenthal.de/fussballbilder/argentinien-deutschlanden.html" target="_blank">Here</a> is a very interesting visualization work for football match done in 1986. More at <a href="http://www.susken-rosenthal.de/fussballbilder/indexen.html" target="_blank">http://www.susken-rosenthal.de/fussballbilder/indexen.html</a>.</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;">One visualization you like that effectively communicates its subject matter</span></span></h2>
<p><a href="http://www.nytimes.com/imagepages/2006/07/23/weekinreview/20060723_MIDEAST_GRAPHIC.html" target="_blank">Strife and Power in the New Middle East.</a> 2006 by New York Times</p>
<p><a href="http://leejayxia.com/blog/wp-content/uploads/2008/10/20060723_mideast_graphic.jpg" rel="lightbox[213]"><img class="alignleft size-medium wp-image-225" title="20060723_mideast_graphic1" src="http://leejayxia.com/blog/wp-content/uploads/2008/10/20060723_mideast_graphic1-300x196.jpg" alt="" width="300" height="196" /></a> Let&#8217;s just look at the first illustration. I believe that most people including me would not be one hundred percent clear what&#8217;s really going on in the middle east. Different countries, armies, ethnic groups, religious and economic issues. And this illustration, no matter dated or not (not surprising if it&#8217;s dated since it&#8217;s made in 2006), provides a nice and clear big picture of the middle east.</p>
<p>Its amazing simplicity is shown in the legends: red weighed stripes for conflicts, circles for groups, oil tower icon for oil control. Those symbols are cast on the simplified map of middle east, on which you could basically tell the outline of Europe, Africa and Asia. The circles representing groups are so cleverly used that so many different features are concluded in the simple symbol: the color is used to differentiate ethnic group, the size refers to the population, and the thick outline means government background.</p>
<p>The main purpose of this visualization is to illustrate relationships and show conflicts, as the title suggests. That&#8217;s why the conflicts (which are represented in red stripes) are emphasized as the center of the illustration, and also in a most noticable color. The width of the stripe is a nice metaphor for the severeness of the conflict. The secondary conflicts are marked in much thinner stripes, which is also quite self-explained.</p>
<p>I would also like to talk a lot more simply because there are so many wonderful visualization projects out there, yet maybe next time. Among them my favourate is &#8220;<a href="http://www.wefeelfine.org/" target="_blank">We Feel Fine</a>&#8220;. I have to post something about it here now that I&#8217;m talking about viz project I &#8220;like&#8221;. It&#8217;s an amazing idea combined with fantastic implementation, by crawling over the web, collecting people&#8217;s &#8220;feeling&#8221;, and showcase them in a dramatic way. Go <a href="http://www.wefeelfine.org/" target="_blank">visit now</a> if you haven&#8217;t done so!</p>
<h2><span style="color: #993300;"><span style="text-decoration: underline;">One visualization that is about a sense</span></span></h2>
<p>I tried to find one for each sense, but didn&#8217;t make it.</p>
<p>Sound: <a href="http://www.turbulence.org/Works/song/" target="_blank">The Shape of Song</a>, <a href="http://www.visualcomplexity.com/vc/project_details.cfm?index=370&amp;id=370&amp;domain=" target="_blank">Pop Sketch Series</a> (actual piece link broken, use visualcomplexity post instead), <a href="http://www.acoustic-cartography.com/" target="_blank">Digital Acoustic Cartography</a>,</p>
<p>Smell: <a href="http://infosthetics.com/archives/2006/09/new_york_smell_map.html" target="_blank">New York Smell Map</a> (but the actual viz work seems broken, maybe it&#8217;s just me), <a href="http://www.londonair.org.uk/london/asp/virtualmaps.asp" target="_blank">London Air Pollution in 3D</a> (not sure whether it&#8217;s about smell?)</p>
<p>Vision: <a href="http://www.art-dept.com/artists/rankin/portfolio/specialprojects/eyescapes/portfolio.html" target="_blank">Eyescapes</a>, <a href="http://www.technologyreview.com/Biotech/19767/" target="_blank">A Working Brain Model</a>,<a href="http://www.technologyreview.com/Biotech/19767/" target="_blank"> </a><a href="http://www.ijdesign.org/ojs/index.php/IJDesign/article/view/267/163" target="_blank">A Cross-Cultural Comparative Study of Users&#8217; Perceptions of a Webpage: With a Focus on the Cognitive Styles of Chinese, Koreans and Americans</a> , <a href="http://www.mpa-garching.mpg.de/galform/millennium/" target="_blank">Millennium Simulation</a>,  <a href="http://www.technologyreview.com/Biotech/19767/" target="_blank"><br />
</a></p>
<p>Touch and Taste: no luck <img src='http://leejayxia.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Just for fun: <a href="http://www.simonelvins.com/FM.html" target="_blank">FM RADIO MAP</a> (mapping radio station according to geo location and embed the radio to the viz work), <a href="http://www.we-make-money-not-art.com/archives/2008/02/visualizar-workshop-cascade-on.php" target="_blank">Cascade on Wheels</a> (visualizing traffic and using noise as metaphor for traffic).</p>
]]></content:encoded>
			<wfw:commentRss>http://leejayxia.com/blog/scent-visualization-preparation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

