tag:blogger.com,1999:blog-29311134895137369462024-03-14T00:07:28.519+09:00河本の実験室kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.comBlogger56125tag:blogger.com,1999:blog-2931113489513736946.post-22312234909506611302019-01-06T23:37:00.000+09:002019-01-06T23:37:44.990+09:00移転のお知らせ We're moving!Blogger使うのもそろそろ限界なので(Gifが何故かloopしなくなった;w;)、はてブロに移行します:<br />
<a href="https://kenkawakenkenke.hateblo.jp/">https://kenkawakenkenke.hateblo.jp</a>(日本語)<br />
<a href="https://kenkawakenkenke-en.hatenablog.com/">https://kenkawakenkenke-en.hatenablog.com/</a> (English)<br />
編集しやすくなってパワーアップした河本の実験室を引き続きご愛顧ください。<br />
<br />
I'm moving this blog over to Hatena Blog:<br />
<a href="https://kenkawakenkenke.hateblo.jp/">https://kenkawakenkenke.hateblo.jp</a> (Japanese)<br />
<a href="https://kenkawakenkenke-en.hatenablog.com/">https://kenkawakenkenke-en.hatenablog.com/</a> (English)<br />
<br />kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com1tag:blogger.com,1999:blog-2931113489513736946.post-12015009771624859792016-02-24T12:31:00.003+09:002016-02-24T12:31:43.254+09:00A booklight invisible to everyone but you<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "verdana" , sans-serif;">One of the problems about sleeping in the same room as your toddlers is that you can't use standard booklights for the fear of waking them up.</span><br />
<span style="font-family: "verdana" , sans-serif;">This is also true (for me) when reading on the airplane.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiedUjeIoIRj8NA-DHVBuylW27tzBM9F5oEaR5x-0wpE6l13oGvQKjk6ZHX0P-pS9qTEClPenyx1UWQXgCglRehR9Tyn6xCZ2rX62fNRrvEtg0r7cYdzSkaRaVgbWtx1yyIDiHIo5Ry9w/s1600/P1250362.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiedUjeIoIRj8NA-DHVBuylW27tzBM9F5oEaR5x-0wpE6l13oGvQKjk6ZHX0P-pS9qTEClPenyx1UWQXgCglRehR9Tyn6xCZ2rX62fNRrvEtg0r7cYdzSkaRaVgbWtx1yyIDiHIo5Ry9w/s640/P1250362.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Off-the-shelf booklights are really bright from all around.</td></tr>
</tbody></table>
<span style="font-family: "verdana" , sans-serif;">This is why I decided to create this booklight that is (near) invisible from everyone else but you.</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span><span style="font-family: verdana, sans-serif;">From the reader, it's looks as bright as any other booklight,</span><br />
<span style="font-family: "verdana" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD57f28nxcnUmyWrJpPu3Si1_DZzhxUvf7I-gCcQNrlI0W5XIW4rgPpu2xcezipqZNgEpjyzUOIYgKL1Uwayt32NoTwc_bcuty0oBR1LzPRBxjZ2BRSPZXBVn9NKB5UmBfZ2iqPsvyhA/s1600/P1250332_2.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD57f28nxcnUmyWrJpPu3Si1_DZzhxUvf7I-gCcQNrlI0W5XIW4rgPpu2xcezipqZNgEpjyzUOIYgKL1Uwayt32NoTwc_bcuty0oBR1LzPRBxjZ2BRSPZXBVn9NKB5UmBfZ2iqPsvyhA/s640/P1250332_2.JPG" width="640" /></a></span><br />
but from an offset angle, it's hard to tell if it's even on or not.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jeWjG1tWHFI-JdZdDwI5turvw1wX8-FxSQqwd9Uz4NeISriK6q2tpbuAzxEKzTxpWKHGCQxwFcAxrrEzyxL_kQCuL-ML3LvcJR1pDH8DX_f6WtBTz621Azhvq9jupp-SNYScESOYng/s1600/P1250334_2.JPG" imageanchor="1"><span style="font-family: "verdana" , sans-serif;"></span></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQtjXcHf__Yio_smfVWmhsAzT4O5e8yK6mVi1uVLT0_yqAzpLnBNcIfbv_G9JKMvYVUeVMIkDm0BqhFVxthXUCO5Dfi_23AjU3BniVYOSY9kt9Wyv0wRFaeTvIMiOnEj4AoYMdJAWWGQ/s1600/P1250334_2.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQtjXcHf__Yio_smfVWmhsAzT4O5e8yK6mVi1uVLT0_yqAzpLnBNcIfbv_G9JKMvYVUeVMIkDm0BqhFVxthXUCO5Dfi_23AjU3BniVYOSY9kt9Wyv0wRFaeTvIMiOnEj4AoYMdJAWWGQ/s640/P1250334_2.JPG" width="640" /></a><br />
<br />
As you can see, the further you move away from the front of the book (where the reader probably is), the light appears darker.<br />
Because of this, you can read books in the dark without worrying about annoying those around you.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjKiP50Nju76_a3ujttR6hQB00HjACnB_QDkvfTNV_SsiIGgAcKxlcHEDHuNgqrizIPd5E8HVNeFI-19P-YojleYF42C23rvTL6nf0wh3mlsPmNA3AuWLoh5PMUxjusUobjxYo6FQCVQ/s1600/directional_booklight.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjKiP50Nju76_a3ujttR6hQB00HjACnB_QDkvfTNV_SsiIGgAcKxlcHEDHuNgqrizIPd5E8HVNeFI-19P-YojleYF42C23rvTL6nf0wh3mlsPmNA3AuWLoh5PMUxjusUobjxYo6FQCVQ/s640/directional_booklight.gif" width="640" /></a><br />
<br />
<h2>
Make one for yourself</h2>
<div>
I also have a quick introductory video on how it works:<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/QFsRIgvbnkY/0.jpg" src="https://www.youtube.com/embed/QFsRIgvbnkY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
</div>
<div>
<b><br /></b></div>
<div>
<b>(1) Create the frame</b></div>
<div>
I made a frame by hand-sawing wood, but it can really be anything. 3D print it if you like.<br />
You have to make sure you make the measurements considering the size of the book.<br />
Also attach some LEDs on the side.<br />
These tape LEDs I used are pretty convenient.</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfUCKYDyTAkz42izDY60rSJpSc3ZYLNowkCG5fQbyLehWVuZfecYG08y1vod2TVSA83f2qefc1Zd3lvXhEg631UdY3Mbe0uMINFfodc7029dtBmdqGU0n9w9HOpvxdhYICM_NODt4CQ/s1600/P1250289.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfUCKYDyTAkz42izDY60rSJpSc3ZYLNowkCG5fQbyLehWVuZfecYG08y1vod2TVSA83f2qefc1Zd3lvXhEg631UdY3Mbe0uMINFfodc7029dtBmdqGU0n9w9HOpvxdhYICM_NODt4CQ/s640/P1250289.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<b>(2) Apply privacy filter</b></div>
<div>
This is the most important step: go buy a privacy screen filter for tablets (like <a href="http://amzn.to/1mWo71K">these</a>) and apply it over your frame.</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCAhvhMGHeGSBpxk6zAEE-Vf6J0yawEOyRlJc6XB3eT97MXimgfPvPlyMqsYbqbAyBniPSmHXWymMezQUOXEw4h7FCQEVfKvVZTCDWxTZ4bSLn3XB-FCZ1X7P0G1CYB1HQdWV2xvP-gA/s1600/P1250282.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCAhvhMGHeGSBpxk6zAEE-Vf6J0yawEOyRlJc6XB3eT97MXimgfPvPlyMqsYbqbAyBniPSmHXWymMezQUOXEw4h7FCQEVfKvVZTCDWxTZ4bSLn3XB-FCZ1X7P0G1CYB1HQdWV2xvP-gA/s640/P1250282.jpg" width="640" /></a></div>
<div>
Privacy screen filters work to allow light travelling perpendicularly to the film through, but cuts light travelling at an angle.</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRSYnjP4ZTk6ZoxP9KYyNsmOXC4nPB_S2cw9GJ1cGnPxj7OGO_SGo400Gm5VAN9EmtsgZrO5hYnSl8H7vhiwjIcGjwEm5hdA1asME425p4Drgd8efGFIpuXaxvSxzvjTsebUu-keuqA/s1600/privacy_film.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRSYnjP4ZTk6ZoxP9KYyNsmOXC4nPB_S2cw9GJ1cGnPxj7OGO_SGo400Gm5VAN9EmtsgZrO5hYnSl8H7vhiwjIcGjwEm5hdA1asME425p4Drgd8efGFIpuXaxvSxzvjTsebUu-keuqA/s640/privacy_film.gif" width="640" /></a></div>
<div>
By applying this over the LED, it lets only light that is travelling towards the reader, and makes it invisible to those around you, which is exactly what we want.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4FRWjineYC20CJ0yWRjcAfxRydjUprAyDNDUb2XlA0Rr9B06s-HYS_RNCafqTqA76kj-ORE58doHVB1lnrufqozFAYodgTNnGChyLgOqN5kFY0pOInboOxC6Qi9G7ydQb5O0OrVbkdw/s1600/dbl_how_it_works_en.png" imageanchor="1"><img border="0" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4FRWjineYC20CJ0yWRjcAfxRydjUprAyDNDUb2XlA0Rr9B06s-HYS_RNCafqTqA76kj-ORE58doHVB1lnrufqozFAYodgTNnGChyLgOqN5kFY0pOInboOxC6Qi9G7ydQb5O0OrVbkdw/s640/dbl_how_it_works_en.png" width="640" /></a><br />
You may need to do some painting to ensure that light doesn't leak from gaps and cracks between the filter and the frame.<br />
<br />
<b>(3) The "page turning" switch</b><br />
At the moment, there is a serious flaw with usability which is that, whenever you lift the booklight from the page you're reading (to turn the page), light leaks from beneath.<br />
This means that for every page turn, people around you are treated to a flash of LED light.<br />
This is why I added a tact switch to the bottom of the booklight which presses ON only when the booklight is placed on a book.<br />
This means that the light turns itself off automatically when you're page turning, which is great!<br />
Take a look at the video above to see how this works.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWTWJMpGFvU1z6B9EDChkx4K3p0q_TsE9CbGbhZQoHvVj6ddYqEZFvqE0u-w77qa3UTltpTr3dH_Ea7y4Gnbs1kMTvTv7DxtleeiIfXNfMa-KF7C1rRSRx5ipZxeMmF2z-0Tllvgv7Hw/s1600/P1250354.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWTWJMpGFvU1z6B9EDChkx4K3p0q_TsE9CbGbhZQoHvVj6ddYqEZFvqE0u-w77qa3UTltpTr3dH_Ea7y4Gnbs1kMTvTv7DxtleeiIfXNfMa-KF7C1rRSRx5ipZxeMmF2z-0Tllvgv7Hw/s640/P1250354.JPG" width="640" /></a><br />
<br />
Attach a battery pack, and you're done.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIdHLVI4bSSVyOfmDaJzqVMJDEGm78Ja2zfQjvbe4uqiyp7prYlxARgrLs9fGq0TlhzETeyiRMWfqXGdR2cBP01-fCBCAgVvhitg78ATn4KH4Od7lyXR-Zp-OXGN5Iv-6COkJT-y12Kg/s1600/P1250365.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIdHLVI4bSSVyOfmDaJzqVMJDEGm78Ja2zfQjvbe4uqiyp7prYlxARgrLs9fGq0TlhzETeyiRMWfqXGdR2cBP01-fCBCAgVvhitg78ATn4KH4Od7lyXR-Zp-OXGN5Iv-6COkJT-y12Kg/s640/P1250365.JPG" width="640" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDk9UKHDnC2uUn1UEZ2RJQMyaxd4Th_dRDItcjLbfa8qnYgyaOSg0fauCK3upQ9mEPx_TNJ-SuVL0YANGjffhV-GbKPVHBRev_Zrizp3Uw2GBFlmaKvANXjTdZyibwphyphenhyphenTdTy-XIDTw/s1600/P1250368.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDk9UKHDnC2uUn1UEZ2RJQMyaxd4Th_dRDItcjLbfa8qnYgyaOSg0fauCK3upQ9mEPx_TNJ-SuVL0YANGjffhV-GbKPVHBRev_Zrizp3Uw2GBFlmaKvANXjTdZyibwphyphenhyphenTdTy-XIDTw/s640/P1250368.JPG" width="640" /></a><br />
An option you could do is add an off-tact switch to the top of the booklight too, so that if you place the booklight between pages, you can use it as a bookmarker (and it'll turn off automatically when you do.)<br />
Another thing I've thought about is putting a sensor (e.g accelerometer) to measure your page turning, and detect when you've fallen asleep, to turn off automatically.<br />
<div>
<br />
I've personally found this to be really useful, and it's allowed me to get back into the habit of reading books before going to sleep.<br />
I'd love to hear feedback/suggestions, and hope others will try making one of their own.<br />
<br />
Ken 16/02/24</div>
</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-56516960520552210392016-02-24T03:19:00.000+09:002016-02-24T12:35:41.600+09:00「自分以外から見えない」ブックライトを作った<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "verdana" , sans-serif;">最近寝る前に本を読む機会が減ってしまいました。</span><br />
<span style="font-family: "verdana" , sans-serif;">子供が隣で</span><span style="font-family: "verdana" , sans-serif;">寝ているため、読書用のライト(ブックライト)を点けられなくなったからです。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiedUjeIoIRj8NA-DHVBuylW27tzBM9F5oEaR5x-0wpE6l13oGvQKjk6ZHX0P-pS9qTEClPenyx1UWQXgCglRehR9Tyn6xCZ2rX62fNRrvEtg0r7cYdzSkaRaVgbWtx1yyIDiHIo5Ry9w/s1600/P1250362.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiedUjeIoIRj8NA-DHVBuylW27tzBM9F5oEaR5x-0wpE6l13oGvQKjk6ZHX0P-pS9qTEClPenyx1UWQXgCglRehR9Tyn6xCZ2rX62fNRrvEtg0r7cYdzSkaRaVgbWtx1yyIDiHIo5Ry9w/s640/P1250362.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">市販のブックライト。眩しいので周りから怒られる。</td></tr>
</tbody></table>
<span style="font-family: "verdana" , sans-serif;">そこで、「自分以外からは見えない」ブックライトというものを発明してみました。</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>読んでいる人からは煌々と照らされているように見えますが、<br />
<span style="font-family: "verdana" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD57f28nxcnUmyWrJpPu3Si1_DZzhxUvf7I-gCcQNrlI0W5XIW4rgPpu2xcezipqZNgEpjyzUOIYgKL1Uwayt32NoTwc_bcuty0oBR1LzPRBxjZ2BRSPZXBVn9NKB5UmBfZ2iqPsvyhA/s1600/P1250332_2.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD57f28nxcnUmyWrJpPu3Si1_DZzhxUvf7I-gCcQNrlI0W5XIW4rgPpu2xcezipqZNgEpjyzUOIYgKL1Uwayt32NoTwc_bcuty0oBR1LzPRBxjZ2BRSPZXBVn9NKB5UmBfZ2iqPsvyhA/s640/P1250332_2.JPG" width="640" /></a></span><br />
隣から見ると、ライトが点いているのが分からないレベルです。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jeWjG1tWHFI-JdZdDwI5turvw1wX8-FxSQqwd9Uz4NeISriK6q2tpbuAzxEKzTxpWKHGCQxwFcAxrrEzyxL_kQCuL-ML3LvcJR1pDH8DX_f6WtBTz621Azhvq9jupp-SNYScESOYng/s1600/P1250334_2.JPG" imageanchor="1"><span style="font-family: "verdana" , sans-serif;"></span></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQtjXcHf__Yio_smfVWmhsAzT4O5e8yK6mVi1uVLT0_yqAzpLnBNcIfbv_G9JKMvYVUeVMIkDm0BqhFVxthXUCO5Dfi_23AjU3BniVYOSY9kt9Wyv0wRFaeTvIMiOnEj4AoYMdJAWWGQ/s1600/P1250334_2.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQtjXcHf__Yio_smfVWmhsAzT4O5e8yK6mVi1uVLT0_yqAzpLnBNcIfbv_G9JKMvYVUeVMIkDm0BqhFVxthXUCO5Dfi_23AjU3BniVYOSY9kt9Wyv0wRFaeTvIMiOnEj4AoYMdJAWWGQ/s640/P1250334_2.JPG" width="640" /></a><br />
<br />
不思議ですね。正面以外の角度から見ると急に暗くなります。これなら周りを邪魔する心配はありません。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjKiP50Nju76_a3ujttR6hQB00HjACnB_QDkvfTNV_SsiIGgAcKxlcHEDHuNgqrizIPd5E8HVNeFI-19P-YojleYF42C23rvTL6nf0wh3mlsPmNA3AuWLoh5PMUxjusUobjxYo6FQCVQ/s1600/directional_booklight.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjKiP50Nju76_a3ujttR6hQB00HjACnB_QDkvfTNV_SsiIGgAcKxlcHEDHuNgqrizIPd5E8HVNeFI-19P-YojleYF42C23rvTL6nf0wh3mlsPmNA3AuWLoh5PMUxjusUobjxYo6FQCVQ/s640/directional_booklight.gif" width="640" /></a><br />
<br />
<h2>
作り方</h2>
<div>
こちらの動画にもまとめてあります:</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/-O5xNq3-eqk/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/-O5xNq3-eqk?feature=player_embedded" width="320"></iframe></div>
<div>
<b><br /></b></div>
<div>
<b>(1) フレームを作る。</b></div>
<div>
僕は木を切って作りましたが、3Dプリントでもなんでもいいです。</div>
<div>
寸法は、読みたい本のサイズを考えながら計算しましょう。</div>
<div>
そこに、テープ型LEDを設置します。</div>
<div>
今回使ったのはLED Paradiseの<a href="http://www.led-paradise.com/product/1191">3216chipLED 10連基板</a>(¥780)です。</div>
<div>
3Vで動き、そこそこ明るいのでおすすめです。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfUCKYDyTAkz42izDY60rSJpSc3ZYLNowkCG5fQbyLehWVuZfecYG08y1vod2TVSA83f2qefc1Zd3lvXhEg631UdY3Mbe0uMINFfodc7029dtBmdqGU0n9w9HOpvxdhYICM_NODt4CQ/s1600/P1250289.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGfUCKYDyTAkz42izDY60rSJpSc3ZYLNowkCG5fQbyLehWVuZfecYG08y1vod2TVSA83f2qefc1Zd3lvXhEg631UdY3Mbe0uMINFfodc7029dtBmdqGU0n9w9HOpvxdhYICM_NODt4CQ/s640/P1250289.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<b>(2) 覗き見防止フィルムを貼る</b></div>
<div>
ここがキモです。</div>
<div>
覗き見防止フィルムを買ってきましょう。</div>
<div>
ハードカバーの本のためには<a href="http://www.amazon.co.jp/gp/product/B00ME4IMGE/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B00ME4IMGE&linkCode=as2&tag=kenkawakenken-22">タブレット用のフィルムがぴったり</a>(¥6720)でした。結構高いです。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCAhvhMGHeGSBpxk6zAEE-Vf6J0yawEOyRlJc6XB3eT97MXimgfPvPlyMqsYbqbAyBniPSmHXWymMezQUOXEw4h7FCQEVfKvVZTCDWxTZ4bSLn3XB-FCZ1X7P0G1CYB1HQdWV2xvP-gA/s1600/P1250282.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCAhvhMGHeGSBpxk6zAEE-Vf6J0yawEOyRlJc6XB3eT97MXimgfPvPlyMqsYbqbAyBniPSmHXWymMezQUOXEw4h7FCQEVfKvVZTCDWxTZ4bSLn3XB-FCZ1X7P0G1CYB1HQdWV2xvP-gA/s640/P1250282.jpg" width="640" /></a></div>
<div>
覗き見防止フィルムは、フィルムに対して直角の光は通し、角度のある光は遮断する働きをします。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRSYnjP4ZTk6ZoxP9KYyNsmOXC4nPB_S2cw9GJ1cGnPxj7OGO_SGo400Gm5VAN9EmtsgZrO5hYnSl8H7vhiwjIcGjwEm5hdA1asME425p4Drgd8efGFIpuXaxvSxzvjTsebUu-keuqA/s1600/privacy_film.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFRSYnjP4ZTk6ZoxP9KYyNsmOXC4nPB_S2cw9GJ1cGnPxj7OGO_SGo400Gm5VAN9EmtsgZrO5hYnSl8H7vhiwjIcGjwEm5hdA1asME425p4Drgd8efGFIpuXaxvSxzvjTsebUu-keuqA/s640/privacy_film.gif" width="640" /></a></div>
<div>
これをLEDの上から貼ることで、正面(読者が居る方向)のみに光を出し、周りには光を漏らさないようにすることができます。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpEy8mz7d-TFEjlHdiPPKzfMDSAHuSQYd6odru1Ce5Lwnje59CqifgHGmTBPstexLgRUIwz8pv44HC-Z9vQoPBF7Z5vHzxt2Q6yQvc8ViuRTiOgWn7NRzCqmEwziinxjz8nshiUHTRg/s1600/dbl_how_it_works_jp.png" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSpEy8mz7d-TFEjlHdiPPKzfMDSAHuSQYd6odru1Ce5Lwnje59CqifgHGmTBPstexLgRUIwz8pv44HC-Z9vQoPBF7Z5vHzxt2Q6yQvc8ViuRTiOgWn7NRzCqmEwziinxjz8nshiUHTRg/s640/dbl_how_it_works_jp.png" width="640" /></a><br />
<br />
<b>(3) ページめくりスイッチ</b><br />
このままだと、一つ大きな弱点があります。<br />
それは、ページをめくる時(ライトを本から持ち上げた時)に下から光を漏らしてしまうことです。ページめくりのたびにスイッチを一々切るのも面倒ですよね。<br />
そこで、筐体の下部にタクトスイッチを設置し、本体がページから離れるとOFFになるようにしました。<br />
こうすればページめくりの時は勝手にLEDが消えるので、周りに迷惑かけることがありません。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWTWJMpGFvU1z6B9EDChkx4K3p0q_TsE9CbGbhZQoHvVj6ddYqEZFvqE0u-w77qa3UTltpTr3dH_Ea7y4Gnbs1kMTvTv7DxtleeiIfXNfMa-KF7C1rRSRx5ipZxeMmF2z-0Tllvgv7Hw/s1600/P1250354.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWTWJMpGFvU1z6B9EDChkx4K3p0q_TsE9CbGbhZQoHvVj6ddYqEZFvqE0u-w77qa3UTltpTr3dH_Ea7y4Gnbs1kMTvTv7DxtleeiIfXNfMa-KF7C1rRSRx5ipZxeMmF2z-0Tllvgv7Hw/s640/P1250354.JPG" width="640" /></a><br />
<br />
以上で完成です。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIdHLVI4bSSVyOfmDaJzqVMJDEGm78Ja2zfQjvbe4uqiyp7prYlxARgrLs9fGq0TlhzETeyiRMWfqXGdR2cBP01-fCBCAgVvhitg78ATn4KH4Od7lyXR-Zp-OXGN5Iv-6COkJT-y12Kg/s1600/P1250365.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIdHLVI4bSSVyOfmDaJzqVMJDEGm78Ja2zfQjvbe4uqiyp7prYlxARgrLs9fGq0TlhzETeyiRMWfqXGdR2cBP01-fCBCAgVvhitg78ATn4KH4Od7lyXR-Zp-OXGN5Iv-6COkJT-y12Kg/s640/P1250365.JPG" width="640" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDk9UKHDnC2uUn1UEZ2RJQMyaxd4Th_dRDItcjLbfa8qnYgyaOSg0fauCK3upQ9mEPx_TNJ-SuVL0YANGjffhV-GbKPVHBRev_Zrizp3Uw2GBFlmaKvANXjTdZyibwphyphenhyphenTdTy-XIDTw/s1600/P1250368.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkDk9UKHDnC2uUn1UEZ2RJQMyaxd4Th_dRDItcjLbfa8qnYgyaOSg0fauCK3upQ9mEPx_TNJ-SuVL0YANGjffhV-GbKPVHBRev_Zrizp3Uw2GBFlmaKvANXjTdZyibwphyphenhyphenTdTy-XIDTw/s640/P1250368.JPG" width="640" /></a><br />
今回やってませんが、タクトスイッチを筐体の上部にもつけて、押された時にLEDが消えるようにすれば、本の間に(しおりとして)閉じると勝手にLEDが消えるってことも出来るんじゃないかと思います。<br />
また、何らかのセンサ(加速度センサとか)を入れて読者が寝落ちしたことを検知し、勝手にLEDが消えるようにするというのもアリですね。<br />
<div>
<br /></div>
赤ちゃんが隣で寝ている時、<br />
飛行機や病室で隣の人を気にせずに本を読みたい時、<br />
敵地で地図を読みたい時など、<br />
周りに光を漏らしたくない様々な状況に結構使えるんじゃないかと思います。<br />
少なくとも僕はこれで本が読めるようになりました。<br />
興味ある方は是非作ってみてください。</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-79051612830799988092015-12-31T18:47:00.003+09:002015-12-31T19:18:39.744+09:00河本の実験室の2015年のまとめ今年も残り数時間となりました。<br />
本業とtempescopeに集中していたため大した開発はできてませんが、今年作ったものや遊んだデータを振り返ってみます。<br />
<a href="http://kawalabo.blogspot.jp/2013/12/2013.html">2013年のまとめ</a><br />
<a href="http://kawalabo.blogspot.jp/2014/12/2014.html">2014年のまとめ</a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4puU-ZbSoyFF7i96G_Q916BDXBuQOin4pi6NZYrwwVgkuNSaYebWOrZfBFlGJLTfgEQclT_JfWw75Ces7PjSuLJc9Mvd-RKKcJzpd2EjFRhCOuguCL2OQ_gJj-cVpVbetiKC8XeZXw/s1600/floating_earth.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4puU-ZbSoyFF7i96G_Q916BDXBuQOin4pi6NZYrwwVgkuNSaYebWOrZfBFlGJLTfgEQclT_JfWw75Ces7PjSuLJc9Mvd-RKKcJzpd2EjFRhCOuguCL2OQ_gJj-cVpVbetiKC8XeZXw/s640/floating_earth.jpg" width="640" /></a><br />
<br />
<h2>
<span style="font-size: large;">3月:140文字の「重み」を言語毎に比較してみた</span></h2>
<a href="http://kawalabo.blogspot.jp/2015/03/140.html">ツイッターのデータを解析することで、140文字制限内ではどれぐらいの情報が伝えられるのか言語毎に比較してみました</a>。思った通り中国語・日本語・韓国語が強いですね。<br />
<blockquote class="twitter-tweet" lang="ja">
<div dir="ltr" lang="ja">
同じ140文字でも日本語のほうが英語より沢山書けて便利だよな、と思って各言語の「密度」を計算してみた。それぞれの言語で書かれたツイートを英語に自動翻訳した文章の長さと比較。中日韓語は英語より2~3倍ぐらい多く書ける。超お得。 <a href="http://t.co/RJa2GlXuul">pic.twitter.com/RJa2GlXuul</a></div>
— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/581448565957898241">2015, 3月 27</a></blockquote>
<h2>
<span style="font-size: large;"><br /></span></h2>
<h2>
<span style="font-size: large;">4月:山手線の混雑データで遊んだ</span></h2>
<a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">JRのデータをクローリングして山手線の車両の現在位置や車両毎混雑状況を解析して遊んでみました</a>。公開されてないデータを無理やりクローリングして勝手に解析する、というパターンは色々世の中に知られていないことが発見できて楽しいです。<br />
そのうち中央線もデータが入手できるようになるだろうと期待してたんですが、まだ無いみたいですね。対応したらまた可視化してみます。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr5_3r2DYgAGts-uH5_kFjlirgzQXAftNyC65ofMSxdRHlGRgcXlTc-6vtAIEVL8bOjmyn2vX55h5MGCmko2F5gf1wfhLA8OVmSPIkSZKqlHqPZA3q-kNflevD25SCVZIbUNsGGtX-Wg/s1600/yamanote.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr5_3r2DYgAGts-uH5_kFjlirgzQXAftNyC65ofMSxdRHlGRgcXlTc-6vtAIEVL8bOjmyn2vX55h5MGCmko2F5gf1wfhLA8OVmSPIkSZKqlHqPZA3q-kNflevD25SCVZIbUNsGGtX-Wg/s640/yamanote.gif" width="640" /></a><br />
<br />
<br />
<h2>
<span style="font-size: large;">4月:携帯2台持ちが捗るスマホケースを作った</span></h2>
iPhoneとNexusの2台持ちをするようになったので、<a href="http://kawalabo.blogspot.jp/2015/04/dmm3d.html">両方を一つにできるスマホケースを3Dプリンタで作ってみました</a>。<br />
冗談半分で作ったのですが意外と便利で、8ヶ月経った今でも現役で使ってます。<br />
<a href="https://make.dmm.com/mypage/my3d/">DMM.make</a>でモデルをダウンロードしたり3Dプリントできるようにしてあるんですが、未だに印刷した人が僕以外いないみたいです。なんででしょう。便利なのに。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigfTaMaTSPQpPJgwz5g-HlNrD6Lg__0PdEAb_5WseslAGUuwfmoJqMWOh1GGcQdP9ggeBiMdTRugjcVGQwUwS8eJ0NiYnRd0VbZyJSJPTwTdAHI6T8o6FE5c1Xh_zeuVv1Q9lbrOYffQ/s1600/P1200018.jpg" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigfTaMaTSPQpPJgwz5g-HlNrD6Lg__0PdEAb_5WseslAGUuwfmoJqMWOh1GGcQdP9ggeBiMdTRugjcVGQwUwS8eJ0NiYnRd0VbZyJSJPTwTdAHI6T8o6FE5c1Xh_zeuVv1Q9lbrOYffQ/s640/P1200018.jpg" width="640" /></a><br />
<br />
<h2>
<span style="font-size: large;">5月:首相の生活を分析してみた</span></h2>
新聞等で公開されている<a href="http://digital.asahi.com/article_search/s_list3.html?hidesmallthumbnail=yes&keyword=%BC%F3%C1%EA%C6%B0%C0%C5%A1%BD&s_title=%BC%F3%C1%EA%C6%B0%C0%C5%B0%EC%CD%F7&rel=1">首相動静</a>って要はライフログじゃん、ってことで首相動静をクローリング、自然言語解析して生活をデータ化してみました。<br />
過去の首相毎の移動・食事パターンや、<br />
<blockquote class="twitter-tweet" lang="ja">
<div dir="ltr" lang="ja">
新聞の首相動静が無駄に細くて面白いので、クローリングして言語解析して、首相ライフログを作ってみた。緑の点は移動、赤の点は食事。こんな細かい情報公開しててセキュリティ大丈夫なんかね、日本は。 <a href="http://t.co/7etUJ4VUA0">pic.twitter.com/7etUJ4VUA0</a></div>
— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/595494620236099585">2015, 5月 5</a></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<br />
<h2>
<span style="font-size: small;"><span style="font-weight: normal;">移動パターンなど、</span></span></h2>
<div>
<blockquote class="twitter-tweet" lang="ja">
<div dir="ltr" lang="ja">
首相の過去3年間の移動履歴を可視化しても特に面白いことは無かった。 <a href="http://t.co/gWFb3cBE6A">pic.twitter.com/gWFb3cBE6A</a></div>
— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/595786807679262721">2015, 5月 6</a></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<span style="font-size: small;"><span style="font-weight: normal;">ここまで知って大丈夫なのか、と不安になるほど細かく首相の生活を見ることができました。</span></span><br />
<span style="font-size: small;"><span style="font-weight: normal;">これを更に将来のニュースと関連付けて解析したら面白いなぁ、と思いつつブログにもまとめないまま放置してしまいました。</span></span><br />
<span style="font-size: small;"><span style="font-weight: normal;"><br /></span></span>
<br />
<h2>
<span style="font-size: large;">6月:脇汗が可愛くなるTシャツを作った</span></h2>
脇汗をかいても「なんとなくアリ」になるTシャツ「swea-T」(スウェッティー)を<a href="http://kawalabo.blogspot.jp/2015/06/t.html">デザインしました</a>。<br />
<a href="http://swea-t.jimdo.com/%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/">ここで</a>売ってるのですが、未だに注文0です。なんででしょう。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHD360kM1y7oTeszw-DSYZfsaQh1C9QDYkmcleVOVZqLoiURyqbVZnXeCw-NvntLhdECnJLPK5skrBIHQq537HjRiEVRzvTCxJZTWFghHYEbB4v1zfHutv42xwlbSqz_H87jE4prekw/s1600/P1210092.jpg" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZHD360kM1y7oTeszw-DSYZfsaQh1C9QDYkmcleVOVZqLoiURyqbVZnXeCw-NvntLhdECnJLPK5skrBIHQq537HjRiEVRzvTCxJZTWFghHYEbB4v1zfHutv42xwlbSqz_H87jE4prekw/s640/P1210092.jpg" width="640" /></a><br />
<span style="font-size: small;"><span style="font-weight: normal;"><br /></span></span></div>
<div>
<h2>
<span style="font-size: large;">7月:ひまわり8号の衛星写真で遊んでみた</span></h2>
<a href="http://kawalabo.blogspot.jp/2015/07/blog-post.html">今年の7月から公開になったひまわり8号の衛星写真データをクローリング</a>して、色んな可視化をしてみました。<br />
<a href="http://kawalabo.blogspot.jp/2015/07/blog-post.html">ブログ</a>を見てみただけると分かるように、ちょっと切り出してアニメーションにするだけで美麗な動画が簡単にできてしまいます。<br />
自分の中でのピークは衛星写真から月を発見した瞬間です:</div>
<div>
<span style="font-size: small; font-weight: normal;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAoIoYSO_hkCWsoA3TZdz_N6gsTmvRKPAFqBHMKAO10KA0JnvPTVizQNHdkL5oO9Ma9Ouai2hjNarkkPNci-h4mcwor4zILYrdWGPbHpr23jPfrgVGoG4M1LSL3XYpxqBUMywxxsaQg/s1600/typhoon_17_and_moon_9_1.png" imageanchor="1"><img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAoIoYSO_hkCWsoA3TZdz_N6gsTmvRKPAFqBHMKAO10KA0JnvPTVizQNHdkL5oO9Ma9Ouai2hjNarkkPNci-h4mcwor4zILYrdWGPbHpr23jPfrgVGoG4M1LSL3XYpxqBUMywxxsaQg/s640/typhoon_17_and_moon_9_1.png" width="640" /></a></span><br />
HDの容量がいっぱいになってしまったのでデータの蓄積を一旦やめてしまいましたが、来年3月には皆既日食があり、もう少し遊んでみようかなぁと思ってます。<br />
<br />
<h2>
<span style="font-size: large;">8月:「歌ってみた」人たちを勝手に合唱にしてみた</span></h2>
<div>
ネットにごまんと上がっている「歌ってみた」動画、普段はそこまで聴きたいものではないです。</div>
<div>
でも同じ曲を歌ってる人たちを合成して勝手に合唱にしたら面白いんじゃないか、と思ってやってみたら何故か面白かったんです:</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/W5uMtQ4h-30/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/W5uMtQ4h-30?feature=player_embedded" width="320"></iframe></div>
<div>
リンダリンダはなぜか最後ちょっと涙出そうになりますね。なんでだろう。</div>
<div>
もっと事例増やしてウェブサービスにしようと思ってたんですが、権利関係が少し気になってやめました。<br />
<br /></div>
<div>
<h2>
<span style="font-size: large;">9月:子供の写真から3Dポップアップカードを自動生成するシステム</span></h2>
<div>
<a href="http://kawalabo.blogspot.jp/2015/09/3d.html">クリスマスカードとかでよくある、ポップアップタイプのカードを3Dデータから自動生成するプログラムを作りました。</a></div>
</div>
<div>
今年はこれを使ってクリスマスカードを作ろうとか意気込んでたんですが、そもそもクリスマスカードを送るのが面倒になってやめました。</div>
<div>
でもそのうちちゃんとスマホアプリにして、誰でも使えるようにするつもりです。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE0WRmZhLt8TnbWfXjMxqJddSTUxMnKXfU2UwfmY3uPYZ3zsDFLYiGyITNK1EluPluGJVc_mTVXZThomGPr3bpC0afSIsjVnW7oNJMBGz97nsKRjoqcDicHKkGssr1niZEUmwDXRXOmw/s1600/card_side.gif" imageanchor="1"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE0WRmZhLt8TnbWfXjMxqJddSTUxMnKXfU2UwfmY3uPYZ3zsDFLYiGyITNK1EluPluGJVc_mTVXZThomGPr3bpC0afSIsjVnW7oNJMBGz97nsKRjoqcDicHKkGssr1niZEUmwDXRXOmw/s640/card_side.gif" width="640" /></a></div>
<h2>
<span style="font-size: large;"><br /></span></h2>
<h2>
<span style="font-size: large;">10月:コーヒーの跡がニコニコになるマグカップ</span></h2>
<div>
コーヒーをよく飲むようになって机がすぐ汚れてしまうのに苛ついて、もっと汚れを愛せるようにしてみました。<br />
こういうの多いですね、今年。</div>
<blockquote class="twitter-tweet" lang="ja">
<div dir="ltr" lang="ja">
いつも机をコーヒーの跡で汚しちゃうんで、こんなの作ってみました。 > コーヒーの跡がニコニコマークになるマグカップ <a href="http://t.co/bKTtoopsBi">http://t.co/bKTtoopsBi</a> <a href="http://t.co/4QtfnwOFyP">pic.twitter.com/4QtfnwOFyP</a></div>
— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/653365639529107456">2015, 10月 12</a></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
</div>
<div>
<h2>
<span style="font-size: large;"><br /></span></h2>
<h2>
<span style="font-size: large;">12月:曇った窓をディスプレイに変えるTOIKI</span></h2>
</div>
<div>
ロボット部分は既成品なので僕は制御プログラム書いただけなんですが、3年ぐらい前から作りたいと思っていたものなので喜びが大きかった作品です。</div>
<div>
<a href="http://kawalabo.blogspot.jp/2015/12/mdrawbot.html">オープンソースロボットのmDrawBotを使い</a>、曇った窓に天気や気温などの通知を書いたり、他の人の窓にショートメッセージを送ったりできるシステムを作りました。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhvShSHn-Px-j79s5KHGQfYV8ThRH-yQql-EmPQY9o7-EbCR6S0xL81YXTnIw7z3nlpJd_pkXgxdWw2OVUKU8fZnRN20Hp9KpzzrF3WfE6cpc1pNUJVzrll3NLRp35liuRxSwmR1mu6g/s1600/toiki_demo_2.gif" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhvShSHn-Px-j79s5KHGQfYV8ThRH-yQql-EmPQY9o7-EbCR6S0xL81YXTnIw7z3nlpJd_pkXgxdWw2OVUKU8fZnRN20Hp9KpzzrF3WfE6cpc1pNUJVzrll3NLRp35liuRxSwmR1mu6g/s640/toiki_demo_2.gif" width="640" /></a></div>
<div>
出張先のホテルの窓に、朝起きて子供からのメッセージが描いてあったらちょっと泣くでしょ。僕だけですかね。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fw_mvC31sdAighur1Gud8jcuhJwnAQtWLTpjl1GQq8mTjgwDykcExHWhyaspKv0TYsTRhqZvfQ_OdC0_5YiE0lOxpT5uEi9XzQJu89M3WDXKW3GrHhxVQ9BTr4hgApC0H4o2JWiTfg/s1600/P1240752.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3fw_mvC31sdAighur1Gud8jcuhJwnAQtWLTpjl1GQq8mTjgwDykcExHWhyaspKv0TYsTRhqZvfQ_OdC0_5YiE0lOxpT5uEi9XzQJu89M3WDXKW3GrHhxVQ9BTr4hgApC0H4o2JWiTfg/s640/P1240752.JPG" width="640" /></a><br />
<br /></div>
<div>
<h2>
<span style="font-size: large;">tempescopeのクラウドファンディングをした</span></h2>
</div>
<div>
2012年に開発した、部屋の中に雨を降らせる天気予報デバイス<a href="http://tempescope.com/">tempescope</a>は僕が手作りしていたオープンソース版から製品手前の試作版に成長し、ようやく今年の9月にIndiegogoでローンチしました。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijO4YnyvWJq3sUqX9XKNyDnScvtlNb6dyx1Kvs6DKDsiyv_bFfPHt5NXIOz_4hpi4dpZ_Lm9hUmqzB7xgOlW2LlbU5TOFvewyK7eRTK65X6MeMIHpuj_sTqB-CACejL_MCPEp4In8p9w/s1600/main.gif" imageanchor="1"><img border="0" height="359" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijO4YnyvWJq3sUqX9XKNyDnScvtlNb6dyx1Kvs6DKDsiyv_bFfPHt5NXIOz_4hpi4dpZ_Lm9hUmqzB7xgOlW2LlbU5TOFvewyK7eRTK65X6MeMIHpuj_sTqB-CACejL_MCPEp4In8p9w/s640/main.gif" width="640" /></a></div>
<div>
<br /></div>
<div>
残念ながら目標の70%しか集まらず未達成となってしまいましたが、世界中の何万人もの人たちに欲しいと言ってもらえたことは良い経験となりました。</div>
<div>
やってみて初めて分かった、クラウドファンディングの沢山の落とし穴をどこかにまとめようと思いつつ、少し時間がたってしまいました。そのうち講演ででも喋ります。</div>
<div>
<br />
またいつもの<a href="http://www.engadget.com/2015/09/25/the-tempescope-ambient-weather-display-is-coming-to-indiegogo/">engadget</a>、<a href="http://www.gizmodo.jp/2015/10/tempescope_prototype.html">Gizmodo</a>だけでなく、<a href="http://www.wired.co.uk/news/archive/2015-10/01/meet-the-tempescope-a-box-filled-with-tomorrows-weather">Wired</a>や<a href="https://www.washingtonpost.com/news/capital-weather-gang/wp/2015/06/15/new-device-simulates-the-weather-in-a-box-on-your-tabletop/">Washington Post</a>など普段と違ったところに紹介されたり、蔦屋家電のような場所に展示できたのも嬉しいですね。</div>
<div>
ついでに個人的にもテレビ、新聞にも出る機会が増え、講演にも沢山呼ばれるようになりました。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8nNts1VQQJfBKY79QcLQdm1M2cKVkuz1FU9fU7_W92JEVWjX35TlyVcYoQMQizmrwg1xG4K4C2ruOF0vAlyhBp3Xj6J5V8gd0jSK6mo6DOhJbXLnaPIVB3ynxmWKvK8sKaQ8n3seJHA/s1600/P1240025.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8nNts1VQQJfBKY79QcLQdm1M2cKVkuz1FU9fU7_W92JEVWjX35TlyVcYoQMQizmrwg1xG4K4C2ruOF0vAlyhBp3Xj6J5V8gd0jSK6mo6DOhJbXLnaPIVB3ynxmWKvK8sKaQ8n3seJHA/s640/P1240025.JPG" width="640" /></a></div>
<div>
<br /></div>
<div>
<h2>
<span style="font-size: large;">RomoCartを色々発表したり受賞したり。</span></h2>
</div>
去年開発した<a href="http://kawalabo.blogspot.jp/2014/10/romo.html">プロジェクションマッピングで部屋をマリオカートの世界に変えてしまうシステム</a>を色々なところで発表してきました。<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgjz4yXH7eSlSHsJXza4AjvgBYf6_5uVhqniEY_j6ngZySsq2ASAFyqReEvUJ_yfcLbP3W4dPyLmZC62OUUbsnynOjqwwGDqkkA0duM_Gky2dHww2NXt0EB5p3FEgqkqhKSfJyK3hZog/s1600/P1170323.JPG" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgjz4yXH7eSlSHsJXza4AjvgBYf6_5uVhqniEY_j6ngZySsq2ASAFyqReEvUJ_yfcLbP3W4dPyLmZC62OUUbsnynOjqwwGDqkkA0duM_Gky2dHww2NXt0EB5p3FEgqkqhKSfJyK3hZog/s640/P1170323.JPG" width="640" /></a><br />
<a href="http://live.nicovideo.jp/watch/lv217015496?ref=ser&zroute=search&keyword=+%E7%AC%AC8%E5%9B%9E%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3%E5%AD%A6%E4%BC%9A%CE%B2&btm=c">第8回ニコニコ学会β 研究してみたマッドネス</a>で大賞をもらったり、<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlUmWYELT0g_2w9yw0zzcDh3B6OG8zrX-a8jT4ZOvB46uci3hypuKBr0SIlB_eSaQTOWPr3ogEV_uD_tMJTOYAN0Z4JpRBY5i06vG9mn54MCCLIKWnU8VBlo0sMXHks53uNVO1OfCOHw/s1600/nico_jusho_02.jpg" imageanchor="1"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlUmWYELT0g_2w9yw0zzcDh3B6OG8zrX-a8jT4ZOvB46uci3hypuKBr0SIlB_eSaQTOWPr3ogEV_uD_tMJTOYAN0Z4JpRBY5i06vG9mn54MCCLIKWnU8VBlo0sMXHks53uNVO1OfCOHw/s640/nico_jusho_02.jpg" width="640" /></a><br />
<a href="http://vrc.or.jp/">VRクリエイティブアワード</a>で審査員特別賞をいただいたり、色々と楽しい思い出ができました。<br />
プロジェクションマッピング×ゲームは可能性が沢山あり、(去年も言ってましたが)RomoCartの先を早く作りたいですね。<br />
<br />
<div>
<h2>
<span style="font-size: large;">まとめ、抱負とか</span></h2>
</div>
<a href="http://kawalabo.blogspot.jp/2014/12/2014.html">去年のまとめ</a>で掲げた2015年の目標は、「作って満足する」を繰り返すのではなく、ちゃんと最後(製品)まで持っていく、ということでした。<br />
なので今年はtempescopeの製品化に尽力したんですが、結局tempescopeは製品化できず、いつにも増してやりっぱなしで終わってしまいましたね。<br />
来年は30代に突入するということもあり、もう少し大きい物を作っていきたいと思います。kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-17421429231790227812015-12-20T21:51:00.002+09:002016-01-04T12:25:15.092+09:00お絵かきロボット「mDrawBot」で遊んだり窓にメッセージ描いてみたりしてみた<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="https://www.switch-science.com/catalog/2551/">スイッチサイエンスがmDrawBotの販売</a>を開始しましたね。</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;">速攻で入手したので遊び倒してみました。</span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeb-XEqwOqHQ-JeMGdRs5QLP3Xk6k7n7xJAuNNc6ZcKglSv37DFU-86bvbFAXGvMjBlqp63U8CwQHVxic7jYD7jzQTQIu-Dk5WW2z8gFnLOgWNw3bHhMR3bAT-2uAVtWRn1fLj4t2Xvg/s1600/P1240750.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeb-XEqwOqHQ-JeMGdRs5QLP3Xk6k7n7xJAuNNc6ZcKglSv37DFU-86bvbFAXGvMjBlqp63U8CwQHVxic7jYD7jzQTQIu-Dk5WW2z8gFnLOgWNw3bHhMR3bAT-2uAVtWRn1fLj4t2Xvg/s640/P1240750.JPG" width="640" /></a><br />
<h3>
mDrawBotってなに?</h3>
<div>
中国のオープンソースプロジェクト「<a href="http://www.makeblock.cc/">MakeBlock</a>」が提供する<a href="http://www.makeblock.cc/mdrawbot-kit/">お絵かきロボット</a>キットです。</div>
<div>
PCから取り込んだ絵を卓上に描画するロボットや、卵に描画するロボットなど、4種類のロボットを作ることができます。</div>
<div>
<img alt="" src="http://cdn1.bigcommerce.com/server2600/4r4weyxd/products/422/images/2681/90070_mdrawbot_04__21696.1440584027.1280.1280.jpg?c=2" height="236" width="236" /></div>
<div>
僕が今回遊んだのはmSpider、ホワイトボードにぶら下がってマーカーで絵をかけるロボットです。<br />
国内では<a href="https://www.switch-science.com/catalog/2551/">スイッチサイエンス</a>から日本語訳されたキットが買えます。<br />
<br />
<h3>
組み立ててみよう</h3>
</div>
<div>
部品点数結構多いです。</div>
<div>
<img aria-label="Photo - Landscape - 11 Dec 2015" class="SzDcob" height="360" jsname="uLHQEd" src="https://lh3.googleusercontent.com/ypqinEYXGZjwChffS16LObeydNCIfihA3gcftUdAsg2qu3bwd7DKMeV6pgkEeJQAq6fIxraqFSfuplsEd2v3N0HB3KdlHsnKG4bW3kTay7F5-DZHc52MtC30ZsFe5NiGOmtqAxV65u03qGldRYd42mxQOfVkyVNlUKJmK_fYDgTqADIdfgBIRbsJA9t_T-YOzgYcJ2G69BEkJSqeURQ34ob4BQ22rVRp_PlPV7BfhzoljSsohgB1W89RqXgo6IsaCd94sgYp2mVwM0NjfgphmKLQ5Ae6gIDKz4OVJFKkRmGRPFd2jS-3RRrDDwyzCq6bIoXIe-4XwxVP90dNRWgx__fgkHxeeR4pCUNRDuJDYhQxxJx4RNzDRocJQogUswYfpjX2WwGn1GAjjehRj16IUD-MV6MFfGEZOztHT53cmBzT9uWGSw0zp16UUuQPr4n-0FQTaU6E5JVdmAndqsDulkQ2KSw-ri2IkgR3klxDCAU6W8woPy--gPqYA2lcOPczEWX8i1yDx77Pjbg_pve_HJzwIuH-d9ZJKNrvH5ezwUrHPzVQkqB5ES3FJfW_A5Jw=w756-h426-no" style="transform: translate3d(0px, 0px, 0px) rotate(0deg);" width="640" /></div>
<div>
組み立ては数時間かかりますが、アクリルと金属パーツが美しいので楽しく作れます。</div>
<div>
<img aria-label="Photo - Landscape - 11 Dec 2015" class="SzDcob" height="360" jsname="uLHQEd" src="https://lh3.googleusercontent.com/zqJ4fAl_Lg1bCB2Xy7_G3ceBygbQxT-zXwitUpt41Xty6rzcwU2JH41m_p0kg1ZKvdDISgFyKg6fjjr2JXZ9hl5vpbMVxv4439Sb0FC0TVr-3yfnSmHIA4T2FTqLj03d-H7LGL_kQ2nQGRamO5s0QwZoFBymaBpX_tN_zZcWWq8N83vSmwEzIl4ju2qF4Dyp6HUX7fPYjEguryaXQJ2Ss-MMjjgAxwgq37gnZRh3n6fN2sH9bvA5kYV1KDaD76-gq0-1bbvvHkCAengtjdsIUYKPcfxG31SI4sCvJ6zjWsHPN8g-nyzeAZLV-LL01LkcD9ki38HRgmieKAHjL06kFjAoKzp33NlG_TSkSde96OaMiSm1PdhFhLVeB8VMg_497rcsM5NxApDrGoLJwGNLCuUsAY42-bYZRqV-04wzb8XWBicVTYF7_edwT87qIxUYRUr-V5CxhzlAXQd6sPqTulmeMxkHA9BnHn0Jq3iMOw9YREmbrbRQ9VeVH3Q_lPCWUYfUDAjAUW-UP-J5ShadRuKjY9NCh59dHod58A0f_gYzC3ULq8FF7N7I5iR_T0Q7=w756-h426-no" style="transform: translate3d(0px, 0px, 0px) rotate(0deg);" width="640" /></div>
<div>
完成です。ホワイトボードが小さいのでこういう雑な置き方ですが、会社とかにある大型のホワイトボードならすっきり置けそうです。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY6lU1mKcaowqcFeoNEoWEbRpY_LlYpkzA8YO-qBD-REJjyUBgD1CspLu2r-tj_0Bo1DTFdxSvLTJQCEwhJvTycgHxmIM8OKg0OmIUd9LlxHodcf24gBDPi0ki_c3tv19ZKZ_jqrwdwA/s1600/P1240494.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY6lU1mKcaowqcFeoNEoWEbRpY_LlYpkzA8YO-qBD-REJjyUBgD1CspLu2r-tj_0Bo1DTFdxSvLTJQCEwhJvTycgHxmIM8OKg0OmIUd9LlxHodcf24gBDPi0ki_c3tv19ZKZ_jqrwdwA/s640/P1240494.JPG" width="640" /></a></div>
<div>
左右のステッピングモーターで糸の長さを調整し、三角形のプロッターを平面上で動かすことで、絵を描くという構造です。<br />
またペンの上下(描く/描かない)はプロッターに固定されたサーボで制御されます。</div>
<div>
<br /></div>
<div>
<div>
<h3>
とりあえず動かしてみる</h3>
</div>
</div>
<div>
(多分)一番下に追加説明しますが、OSXから動かすためには色々面倒な設定が必要です。</div>
<div>
設定が終わったら標準ツールのmDraw.appで<a href="https://www.dropbox.com/s/htzhkwxt126rbf5/Examples%20of%20Material.rar?dl=0">サンプルファイル</a>を読み込み、</div>
<div>
描いてみましょう。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B4qp6YdlCBZDSjcxgetCvpZtjkGdBNVKB8rVjmaehVOkhHlx5Jnx-epyobHlFMC2yZXpAl73iMyHw04GYiM9KPXegWDssyJrtGFaTRcpZ0zS48vzFIAwgDbADgQrTSks5obh0RY3MQ/s1600/P1240496.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8B4qp6YdlCBZDSjcxgetCvpZtjkGdBNVKB8rVjmaehVOkhHlx5Jnx-epyobHlFMC2yZXpAl73iMyHw04GYiM9KPXegWDssyJrtGFaTRcpZ0zS48vzFIAwgDbADgQrTSks5obh0RY3MQ/s640/P1240496.JPG" width="640" /></a></div>
<div>
2本の糸で吊るしている割にかなり安定してプロッターを制御できています。感心します。</div>
<div>
失敗しやすいポイントとしては、糸が鉛直に近すぎる、もしくは水平に近すぎる状態になると、ステッピングモーターにかかる負荷が増大して脱調します。そうすると初期位置がずれるんで、それ以降の描画がズレてしまいます。</div>
<div>
描画領域のどこに動かしても糸が45°ぐらいをキープするように、モーターや描画領域を設定しましょう。</div>
<div>
<br /></div>
<div>
<div>
<h3>
プログラムから制御する</h3>
</div>
</div>
<div>
標準のmDraw.appはSVGファイルを読み込んで描画するだけのプログラムです。</div>
<div>
これだと自由度が足りないんで、Javaのプログラムから制御できるようにしてしまいましょう。</div>
<div>
<br /></div>
<div>
実はmDrawBotの中身はArduino互換で、シリアル通信で制御できます。</div>
<div>
オープンソースなので、<a href="https://github.com/Makeblock-official/mDrawBot">スケッチのソースもちゃんと公開</a>されてます。</div>
<div>
ソースを読んでシリアル通信の通信仕様が分かったので、Javaから制御するためのライブラリ「<a href="https://github.com/kenkawakenkenke/jDrawBot">jDrawBot</a>」を作ってみました。ご自由にどうぞ。</div>
<div>
mSpiderをUSBで繋いだ状態なら、こんな感じでプログラム上から操作できます:</div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">Spider spider=new Spider();</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">spider.moveTo(new Location(-30,100));</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">spider.drawTo(new Location(30,70));</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">spider.moveTo(new Location(30,100));</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">spider.drawTo(new Location(-30,70));</span></div>
</div>
<div>
→「×」印が描画されます。</div>
<div>
<br /></div>
<div>
ちなみに描画操作(moveTo、drawTo)は内部でジョブキューで管理してるんで、非同期にコマンドを送れます。</div>
<div>
描画の完了を待ちたい場合はこうしましょう:</div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">Blocker blocker=spider.drawTo(new Location(-30,70));</span></div>
</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">blocker.block();</span></div>
<div>
<br /></div>
<div>
プログラムから制御できればこっちのもん、色々遊んでみましょう。</div>
<div>
<br /></div>
<h4>
GUIから絵を描く</h4>
<h4>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd_D517mdRv3Kpz0uDlz3MSkSb6-4HNeXkl-eKgYM-ekN1HsZ-ww8uONWgNmi73_75l24sLHgWn9y3tRtUQdoLt4eUwqzx-7qSolpqzs-DGp3xkGZBDYtDdj8dufhjsPZ2mx_N1tlAhQ/s1600/jDrawBot_drawFromGUI.gif" imageanchor="1"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjd_D517mdRv3Kpz0uDlz3MSkSb6-4HNeXkl-eKgYM-ekN1HsZ-ww8uONWgNmi73_75l24sLHgWn9y3tRtUQdoLt4eUwqzx-7qSolpqzs-DGp3xkGZBDYtDdj8dufhjsPZ2mx_N1tlAhQ/s640/jDrawBot_drawFromGUI.gif" width="640" /></a></h4>
<div>
PCの画面上で絵を描くと、それをホワイトボードに描いてくれるプログラムを作ってみました。</div>
<div>
動画gifだと凄く見難いですが、画面に描いた「Hello」がそのままホワイトボードに書かれてます。「直接書けよ」感いっぱいですが、楽しいですね。<br />
<br />
例えば会議が始まる前に「前回の打ち合わせ時のホワイトボードを再現しておく」みたいな新しい会議支援システムとか作れそうです。</div>
<div>
<br /></div>
<div>
<h4>
関数を描く</h4>
</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7jYnZAGS4relC7ChwklWQFe48TRTz1G3GBGrL8z8nGktWjncTd2oqof0aXrhdA9ptutfPuVhrGw8Dhdb3tk_QGCMme-s9wntMAPty5TlGsMCFH51nC-E_xVjbDp2ICiQevZtshisYcA/s1600/jDrawBot_sin_curve.gif" imageanchor="1"><img border="0" height="370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7jYnZAGS4relC7ChwklWQFe48TRTz1G3GBGrL8z8nGktWjncTd2oqof0aXrhdA9ptutfPuVhrGw8Dhdb3tk_QGCMme-s9wntMAPty5TlGsMCFH51nC-E_xVjbDp2ICiQevZtshisYcA/s640/jDrawBot_sin_curve.gif" width="640" /></a></div>
<div>
特に意味はないですが、グラフを描画したりもできます。</div>
<div>
<br /></div>
<div>
<div>
<h4>
写真を描画する</h4>
</div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/fA9RSRWhbrw/0.jpg" frameborder="0" height="380" src="https://www.youtube.com/embed/fA9RSRWhbrw?feature=player_embedded" width="640"></iframe></div>
<div>
基本的な遊び方が終わったあとは、プログラムで制御してるからこその遊び方をしてみましょう。</div>
<div>
上の動画はPCのカメラで写真を撮影したあとOpenCVで線抽出し、ホワイトボードの絵を描くというデモです。</div>
<div>
普通は手描きクオリティの絵しか存在しないホワイトボード上に写実的な絵が現れるのは不思議な体験です。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp0BWCpq0uIP1N2zTtcTlOdAiCTwJ6Pd5tK5mh7xGp5mT-woP4lg5aIuiKrU9T3sWu0Ao_t71Pp1hO4U1WxCVNWLMchQv-YNRkD5_S6wxdSOwsiIICUjaIXOvcTMI7KlY-E4MSK5gMZg/s1600/P1240553.JPG" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp0BWCpq0uIP1N2zTtcTlOdAiCTwJ6Pd5tK5mh7xGp5mT-woP4lg5aIuiKrU9T3sWu0Ao_t71Pp1hO4U1WxCVNWLMchQv-YNRkD5_S6wxdSOwsiIICUjaIXOvcTMI7KlY-E4MSK5gMZg/s640/P1240553.JPG" width="640" /></a></div>
<div>
<br />
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Hiragino Kaku Gothic ProN'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
</div>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Hiragino Kaku Gothic ProN'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
<h4>
ホワイトボードを「コピペ」する</h4>
<h4>
<span style="font-weight: normal;">ホワイトボードの写真から線分抽出して、mDrawBotへの指令に変換して別のホワイトボードに描画するプログラムを作ってみました。</span></h4>
<div>
<span style="font-weight: normal;">例えば会議室に設置しておいて打ち合わせが始まる前に前回の打ち合わせ時のホワイトボードの状態を再現しておく、とか捗りそうですね。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/TTNHl6cPyL0/0.jpg" src="https://www.youtube.com/embed/TTNHl6cPyL0?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div>
<span style="font-weight: normal;"><br /></span></div>
<div>
<br /></div>
</div>
</div>
<div>
<div>
<h4>
TOIKI:曇った窓をディスプレイとして使ってみる</h4>
</div>
</div>
<div>
ようやく本題です。こんなものを作ってみました:</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ITkD5jAnFLI/0.jpg" frameborder="0" height="380" src="https://www.youtube.com/embed/ITkD5jAnFLI?feature=player_embedded" width="640"></iframe></div>
<div>
ペンの先にスポンジをつけて、結露で曇った窓に文字を描くというデモです。</div>
<div>
子供の頃、冬の寒い朝に指で絵を描いた記憶は誰でもありますよね?</div>
<div>
もし朝起きて、窓に天気やお誕生日のメッセージなどが描かれてたら素敵じゃん?と思ってこういうものを作ってみました。</div>
<div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjA0WsIjZc5zCHvafyzy3mfhtVocxMiyChvPvbkoes7CgmMAzCzIFs0N1cRoCbIVwH2ACaFP2GlqwNIZM4KMz2HDPDMX2JktMfXRCZADiNh-RmGwrT4j0kFyh5NZr92j7GCjwW_1sqkA/s1600/P1240650.jpg" imageanchor="1"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjA0WsIjZc5zCHvafyzy3mfhtVocxMiyChvPvbkoes7CgmMAzCzIFs0N1cRoCbIVwH2ACaFP2GlqwNIZM4KMz2HDPDMX2JktMfXRCZADiNh-RmGwrT4j0kFyh5NZr92j7GCjwW_1sqkA/s640/P1240650.jpg" width="640" /></a></div>
<div>
描いた文字は5分ほどで勝手に消えます。この刹那的な情報表示がなんとなく気に入ってます。ホテルとかにいいんじゃないですかね。</div>
<div>
<br /></div>
<div>
<h3>
さいごに</h3>
</div>
<div>
たった2本の糸をステッピングモーターで動かす簡単な構造で、ここまで精度よく自由に遊べるロボットができるとは驚きました。</div>
<div>
今回は糸で吊るす「mSpider」でしか遊んでませんが、他のロボットもそれぞれ色々ハックしがいがありそうです。</div>
<div>
<br /></div>
<div>
また<a href="http://kawalabo.blogspot.jp/2014/10/romo.html">RomoCart</a>作った時も同じ事言ってましたが、プログラマー一人ではディスプレイの中の世界しか操作できません。だからこそ、プログラマーが実世界を簡単に制御できるようになるこういうキットは偉大だと思います。</div>
<div>
是非mDrawBotをきっかけにハードの世界にも一歩踏み込んでみてはいかがでしょうか?</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-87140107151295569172015-10-11T07:30:00.000+09:002015-10-11T08:14:35.582+09:00tempescopeがフィギュアケースとして優秀すぎる<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf_Cgxw3w6TtZ-2Ys3n7rsRVQDCq4jWuiwylwx8iIjutR8f6rgcuQV3EoejOhwHOnIJtt_6uc9LpDooSg8NzB324cnHpkjfkCN7D4yWIOG12JHsbqZUlf1aFw8RdTsPof5Z9pP0Q-leA/s1600/pikachu_rain.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf_Cgxw3w6TtZ-2Ys3n7rsRVQDCq4jWuiwylwx8iIjutR8f6rgcuQV3EoejOhwHOnIJtt_6uc9LpDooSg8NzB324cnHpkjfkCN7D4yWIOG12JHsbqZUlf1aFw8RdTsPof5Z9pP0Q-leA/s1600/pikachu_rain.gif" /></a></div>
<br />
ただいま<a href="https://www.indiegogo.com/projects/tempescope-a-box-of-rain-in-your-living-room/x/10950397#/story">Indiegogoでクラウドファンディング中の「tempescope」</a>は、天気予報等に基づき「明日の空」「どこか別の世界の空」を卓上に再現する物理ディスプレイです。<br />
元々これを作った時に考えていたコンセプトは「空のジオラマ」です。<br />
ジオラマの良さは無限の拡張性、せっかくなので空以外のものと組み合わせて遊んでみました。<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-1pUdoEGQrNTisCCuCiThyl_AwxRd3KrZpYBysPSuHi64kxw7sg_TsqixZ2HPFZoZ3z9hf7qepasw3IUX_eG5bTMoFp4KhJonHoFp37ODr0wP0q4QMHzZkniK9502QzRvqbrWke5UHA/s1600/camex_thunder_rain.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-1pUdoEGQrNTisCCuCiThyl_AwxRd3KrZpYBysPSuHi64kxw7sg_TsqixZ2HPFZoZ3z9hf7qepasw3IUX_eG5bTMoFp4KhJonHoFp37ODr0wP0q4QMHzZkniK9502QzRvqbrWke5UHA/s1600/camex_thunder_rain.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">雨の中で戦う<a href="http://yakkun.com/xy/zukan/n9">カメックス</a>。</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsH_ryC6TnIUfZagGDXW-RaQUZvAW-m1Qo4svabzm6Iq7I0POfEugCXFUWxnuDwZ0BA14oAFjeur9nsOZaH3UKbpS9e2mXWqR05u55pfllcqheHKNmGY3ftPUsmPSR7AmNFrq7-equ-Q/s1600/%25E3%2582%25BF%25E3%2582%2599%25E3%2583%25BC%25E3%2582%25B9%25E3%2583%2598%25E3%2582%2599%25E3%2582%25A4%25E3%2582%25BF%25E3%2582%2599%25E3%2583%25BC+in+%25E9%259B%25B7%25E9%259B%25A8.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsH_ryC6TnIUfZagGDXW-RaQUZvAW-m1Qo4svabzm6Iq7I0POfEugCXFUWxnuDwZ0BA14oAFjeur9nsOZaH3UKbpS9e2mXWqR05u55pfllcqheHKNmGY3ftPUsmPSR7AmNFrq7-equ-Q/s1600/%25E3%2582%25BF%25E3%2582%2599%25E3%2583%25BC%25E3%2582%25B9%25E3%2583%2598%25E3%2582%2599%25E3%2582%25A4%25E3%2582%25BF%25E3%2582%2599%25E3%2583%25BC+in+%25E9%259B%25B7%25E9%259B%25A8.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">雷雨のDarth Vader。</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcRVr0tm8lJreDbfQpgOE43P2O4d3267eVZflEiJCu2on8kW5RFnhyphenhyphen_vO5OYFQNM_f00VhLT7D5_QATbCvEBZLKcmgFaYDFKNPPmXb-69mxJIHVhtSLNyxzfWclhoyQQP6b5oQO5C7gw/s1600/%25E3%2581%259F%25E3%2581%259D%25E3%2581%258B%25E3%2582%2599%25E3%2582%258C%25E3%2582%25A6%25E3%2583%25AB%25E3%2583%2588%25E3%2583%25A9%25E3%2583%259E%25E3%2583%25B3.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcRVr0tm8lJreDbfQpgOE43P2O4d3267eVZflEiJCu2on8kW5RFnhyphenhyphen_vO5OYFQNM_f00VhLT7D5_QATbCvEBZLKcmgFaYDFKNPPmXb-69mxJIHVhtSLNyxzfWclhoyQQP6b5oQO5C7gw/s1600/%25E3%2581%259F%25E3%2581%259D%25E3%2581%258B%25E3%2582%2599%25E3%2582%258C%25E3%2582%25A6%25E3%2583%25AB%25E3%2583%2588%25E3%2583%25A9%25E3%2583%259E%25E3%2583%25B3.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">せつない。</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy30IfzjLtcQN-gSntS2ApDeJJ-W6b35aLGtfytnvdfpwSRRYFH6kb70R_Jq31HOM7DULTFZTuXs98P03xtGSDY4g4J6xP6LVSuuqwh-eU1ai_V2Yf-yw1prIWuePXx5sr7W17lHcXDw/s1600/%25E3%2583%258F%25E3%2582%2599%25E3%2583%25AB%25E3%2582%25BF%25E3%2583%25B3%25E9%259B%25A8.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgy30IfzjLtcQN-gSntS2ApDeJJ-W6b35aLGtfytnvdfpwSRRYFH6kb70R_Jq31HOM7DULTFZTuXs98P03xtGSDY4g4J6xP6LVSuuqwh-eU1ai_V2Yf-yw1prIWuePXx5sr7W17lHcXDw/s1600/%25E3%2583%258F%25E3%2582%2599%25E3%2583%25AB%25E3%2582%25BF%25E3%2583%25B3%25E9%259B%25A8.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">せつない。</td></tr>
</tbody></table>
<br />
これからのフィギュアやジオラマは天候も合わせて飾るのが新常識になると思うんですが、どうでしょう?<br />
<br />
ちなみに雲を使えばこんな演出もできます。<br />
雲として使ってないんで邪道ですが。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2HbJEHRx9n0LQyKLF7aOdgsBb5GffLZeKjDji64EUxoIBME3tX2Q0f2Hr1Z_XQPm28j47uRu3UerFL-Qj1HSWleAsCYrE74fENgNknFE74dcgowLGQednQoFoqFbUAM_J23V02Ho90g/s1600/%25E6%25B9%25AF%25E3%2581%2591%25E3%2582%2580%25E3%2582%258ADarth+vader.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2HbJEHRx9n0LQyKLF7aOdgsBb5GffLZeKjDji64EUxoIBME3tX2Q0f2Hr1Z_XQPm28j47uRu3UerFL-Qj1HSWleAsCYrE74fENgNknFE74dcgowLGQednQoFoqFbUAM_J23V02Ho90g/s1600/%25E6%25B9%25AF%25E3%2581%2591%25E3%2582%2580%25E3%2582%258ADarth+vader.gif" /></a></div>
<br />
是非<a href="https://www.indiegogo.com/projects/tempescope-a-box-of-rain-in-your-living-room/x/10950397#/story">tempescopeのクラウドファンディング</a>、ご支援よろしくお願いします。<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/aw0kWmMFv4g/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/aw0kWmMFv4g?feature=player_embedded" width="320"></iframe></div>
<br />kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-5067297291432322162015-09-27T14:08:00.002+09:002015-09-27T14:16:06.330+09:00Auto-generated popup cards from 3D point cloud data<span style="font-family: Verdana, sans-serif;">As a parent, one of the things I like about owning a depth camera (like a <a href="http://amzn.to/1G9Rotz">Kinect</a> or an <a href="http://amzn.to/1KXIjcI">Asus Xtion</a>) is that you can take 3D photos of your child.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdSkrZSPyc4hxq2Wj_qjoztMMjkj8sAnDh1Wt5bpT7ZxKhrVSh0_yG_XN_bLvwwEOKOiI2ESQeV-rP4MfDrsKWPfjh9kLBsQ86OqSwcOI4xezSVG-kKo3K7dcIAoJRP3LDtr7NiqRMw/s1600/walkthru.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdSkrZSPyc4hxq2Wj_qjoztMMjkj8sAnDh1Wt5bpT7ZxKhrVSh0_yG_XN_bLvwwEOKOiI2ESQeV-rP4MfDrsKWPfjh9kLBsQ86OqSwcOI4xezSVG-kKo3K7dcIAoJRP3LDtr7NiqRMw/s1600/walkthru.gif" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">This is great for immersing in old memories using things like the </span><a href="http://amzn.to/1KXIYuE" style="font-family: Verdana, sans-serif;">Oculus Rift</a>,</div>
<div class="separator" style="clear: both; text-align: left;">
but has the problem that you can't easily print them out and prop them up on your office desk, as you would do for normal photos.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Sure you could try 3D printing them, but they're still expensive (or really low resolution), and they still don't have the casual feel of printing out photos on paper. (They take up storage space, you can't keep one in your wallet, and they certainly can't be sent in an envelope.)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I noticed the possibility of using <a href="https://www.google.com/search?safe=off&site=&tbm=isch&source=hp&biw=1169&bih=546&q=popup+cards&oq=popup+cards&gs_l=img.3..0i10i19j0i19l2j0i30i19j0i10i30i19j0i5i30i19j0i5i10i30i19j0i5i30i19l3.556.2467.0.2865.11.11.0.0.0.0.96.845.10.10.0....0...1ac.1.64.img..1.10.843.q-9jU40ZQDg">popup cards</a> as an easy fix for this problem.</div>
<div class="separator" style="clear: both; text-align: left;">
These are lightweight, can handle photo-level quality, and is 3D!</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRuXi1iqrqbF1XaqyQgIg05WqWojtvUzL38hJOmo9Y6kBA805-llS7p03LbeIl2nA4VftPKaXfgdUKqRUAobR8whlBNpWzvbrkPt_RzU_gMxfAVcQQkHcegXqpnOm2AB2CJAH6RLwPeg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-09-27+0.31.11.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRuXi1iqrqbF1XaqyQgIg05WqWojtvUzL38hJOmo9Y6kBA805-llS7p03LbeIl2nA4VftPKaXfgdUKqRUAobR8whlBNpWzvbrkPt_RzU_gMxfAVcQQkHcegXqpnOm2AB2CJAH6RLwPeg/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-09-27+0.31.11.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Popup cards, like the things you have in holiday cards.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
In this mini-project, I created a program that automatically generates popup cards from 3D point cloud data (collected from an Xtion).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<span style="font-size: x-large;">
How it works</span></h2>
<div>
<span style="font-size: large;">1. Take a 3D photo of your kid</span></div>
<div>
or your cat or whatever.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4RVc6ivl3z1854aNxAa-C3spT7qlCvyIhk7l2uUvzhRKjUBfBrJMNmoVisko2_PKRNXs_z65hOLalT74HjmizjVhI3A0sHfIElgbWxsuwmdOYktHq9BHQa9pdkOcAxJPtnrWvRP165w/s1600/original_pointcloud.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4RVc6ivl3z1854aNxAa-C3spT7qlCvyIhk7l2uUvzhRKjUBfBrJMNmoVisko2_PKRNXs_z65hOLalT74HjmizjVhI3A0sHfIElgbWxsuwmdOYktHq9BHQa9pdkOcAxJPtnrWvRP165w/s640/original_pointcloud.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-size: large;">2. Cluster the 3D points into several "layers"</span></div>
<div>
At the point cloud consists of individual coloured points floating in 3D space, which you can't just print onto paper.<br />
Therefore you need to somehow reorganize the points into planes. </div>
<div>
<br />
While there are many ways of doing this, I took the quick and dirty approach of simply clustering the points by the distance from the camera.<br />
The image below shows the points as seen from the side, and a histogram of the number of points at each distance from the camera.<br />
You can see that there are peaks in the histogram where there are objects (people, walls, etc). Simply k-means clustering this lets you (sort of) split the points into a small number of layers composed of points that come from spatially close objects.</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR_T8f4OH-H62ZjM3KuNN_M-8pAcVuhinnXL0Ov55SSMKnnUeJCTekfOqdY2kvWwWPXo3EdZVM-mZzCPORt6KN0dqeoXAr5vYSRTLahae8xXyWl2mdv1Ovjw3dlYbGlD25NnIm0s5Sg/s1600/pointcloud_and_histogram.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR_T8f4OH-H62ZjM3KuNN_M-8pAcVuhinnXL0Ov55SSMKnnUeJCTekfOqdY2kvWwWPXo3EdZVM-mZzCPORt6KN0dqeoXAr5vYSRTLahae8xXyWl2mdv1Ovjw3dlYbGlD25NnIm0s5Sg/s400/pointcloud_and_histogram.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">(Top) The original point cloud seen from the side (Bottom) Histogram of points for distance from camera</td></tr>
</tbody></table>
<div>
This is an example of clustering into 2 layers. You can see that the point cloud was separated into objects in the foreground (1st layer) and the entire back wall (2nd layer).</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWhTsoYGUzGNk2tWQRfisJduehV9oVi8AlWGmRvAhsOF7EbbG0ygb-PIs5Di5_75Pn0xDbj9giOFsBofXfkw-hf_Qbx9y3DsYb2bBtKncoUZs4LNJiDj5q21T0MBZMWUjP0t9fiy6ww/s1600/clustered_points.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWhTsoYGUzGNk2tWQRfisJduehV9oVi8AlWGmRvAhsOF7EbbG0ygb-PIs5Di5_75Pn0xDbj9giOFsBofXfkw-hf_Qbx9y3DsYb2bBtKncoUZs4LNJiDj5q21T0MBZMWUjP0t9fiy6ww/s400/clustered_points.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Point cloud separated into 2 layers</td></tr>
</tbody></table>
<div>
<div>
<span style="font-size: large;">3. Merge the layers into a single card</span></div>
</div>
<div class="separator" style="clear: both; text-align: left;">
Now that the point cloud is composed of planes, we can just merge them onto a single card, offsetting one layer from another slightly so that there's a 3D effect when they're cut out.</div>
<div class="separator" style="clear: both; text-align: left;">
The below image was generated automatically from the layers, with the red lines added by the program to show where you should cut in order to make this card "popup"-able.</div>
<div class="separator" style="clear: both; text-align: left;">
(There are actually some extra steps before this like cleaning the layers to ensure the card stands on its own, but I'm omitting this because it's boring.)</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQHC9Co16WW676vlvOvAO8BRHyuQuu-5dI5Lozn-9Ree_zdqU4t6yXn6-Tb45VZCu4f6180E9rW5Dj3i1XuLUUuR6Nxaw4PuS14_Dr3wOah2vpvgd9I0yelRPPc7wNaVvsWK0nJveO3w/s1600/printcard.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQHC9Co16WW676vlvOvAO8BRHyuQuu-5dI5Lozn-9Ree_zdqU4t6yXn6-Tb45VZCu4f6180E9rW5Dj3i1XuLUUuR6Nxaw4PuS14_Dr3wOah2vpvgd9I0yelRPPc7wNaVvsWK0nJveO3w/s320/printcard.png" width="314" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Cut the red dotted lines, and you get a 3D popup card.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
And here we have (a rendering of) a popup card:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsavVvX1lce4Xn9BuCigqn_HGkt_HWSH4nE43G-YnAg3qliXjZ_ZOhC3LqL5bC3jK619qPYq_dgUFAJYVvGie6ZRRfK9GnovsdzUHTN_ipkRNc2Y5gPWJV-Y4bA5IOrMcq7b7P3S2tUA/s1600/card_front.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsavVvX1lce4Xn9BuCigqn_HGkt_HWSH4nE43G-YnAg3qliXjZ_ZOhC3LqL5bC3jK619qPYq_dgUFAJYVvGie6ZRRfK9GnovsdzUHTN_ipkRNc2Y5gPWJV-Y4bA5IOrMcq7b7P3S2tUA/s400/card_front.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPm1rE-0S4RN536t4xvCPXK334JwWHJVHTXWjsvLGFQvcy0OxITMHmubL1YdgtK42DLAlnz2saJ7OHzci1e-D-hXyWNfkgDf_Mia6IyNjk55WThLlHps9wz7ouC0mPimpySl47BKaPQ/s1600/card_side.gif" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPm1rE-0S4RN536t4xvCPXK334JwWHJVHTXWjsvLGFQvcy0OxITMHmubL1YdgtK42DLAlnz2saJ7OHzci1e-D-hXyWNfkgDf_Mia6IyNjk55WThLlHps9wz7ouC0mPimpySl47BKaPQ/s400/card_side.gif" width="400" /></a></div>
<br />
<div>
<span style="font-size: large;">4. Print it</span></div>
<div class="separator" style="clear: both; text-align: left;">
You can just print the card generated as above, cut the red dotted lines, and you get this:</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32PVT93RWvRghMk8hEbTQ-VCqPqakny69XuJjp15CsXcS54GMWfMavBBE9MVnq3PP-CkOqx23hOOTyGqEtOt3eW_hhHB_E8kij4TsoHylUwOVaDFBf2crUHAQ2mqZ-PBSjSDBnAs0Gw/s1600/P1230331.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32PVT93RWvRghMk8hEbTQ-VCqPqakny69XuJjp15CsXcS54GMWfMavBBE9MVnq3PP-CkOqx23hOOTyGqEtOt3eW_hhHB_E8kij4TsoHylUwOVaDFBf2crUHAQ2mqZ-PBSjSDBnAs0Gw/s640/P1230331.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Popup baby!</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn5PVjB6DvHdQZh6AwnCeljCv0uFO_IA_gZRnSykYjRGbOq717UFXf1Wh_kLYmHvb68gUsgFFom-zhbbfvJOuJLPOLc5eD-nUfHjPNCEiSs10mbLovs9gPYS96gMPCPZjyPalrlXzw/s1600/P1230480.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn5PVjB6DvHdQZh6AwnCeljCv0uFO_IA_gZRnSykYjRGbOq717UFXf1Wh_kLYmHvb68gUsgFFom-zhbbfvJOuJLPOLc5eD-nUfHjPNCEiSs10mbLovs9gPYS96gMPCPZjyPalrlXzw/s640/P1230480.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">They're cheap and quick to mass produce.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
The photo quality of the cards is somewhat low (because of the quality of the Xtion camera), but I hope you see that having a 3D popup card literally adds a new layer of expressibility compared to ordinary photos.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<span style="font-size: x-large;">
Summary</span></h2>
<div class="separator" style="clear: both; text-align: left;">
In this project, I proposed and implemented a simple algorithm to auto-generate popup cards from 3D point cloud data generated from off-the-shelf cameras.</div>
<div class="separator" style="clear: both; text-align: left;">
This provides a much cheaper alternative to 3D printing models, while also adding an extra dimension of expressibility compared to 2D photos.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
- Requiring everyone to take 3D photos using a Kinect/Xtion might be slightly unrealistic, but there are certainly more approachable alternatives (like 3D digital cameras e.g <a href="http://amzn.to/1MQZeQq">FinePix 3D</a>). We could also go towards a different direction, where we recognize objects from normal 2D photos and 3D-ify them.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
- My main usecase for this is that I want to put (3D) photos of my kid on my work desk. There are actually many more benefits of this proposed method, like being able to <b>fold them up and keep them in your wallet</b>, or you could <b>put them in an envelope and send them as holiday cards</b>.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
- I haven't released the source code or made this available as a webservice because I haven't had the time, but contact me if you're interested in making your own popup card.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
- As a final side note, taking 3D photos of your family on occasions is highly recommended. They're great ways to look back on old memories.</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-3970429872972669452015-09-27T03:21:00.000+09:002015-09-27T14:38:35.310+09:00子供の3D写真からポップアップカードを自動生成しよう親バカ以外あまり共感できないであろう話をします。<br />
<br />
僕はたまに子供の写真をKinectで撮影します。<br />
そうするとこんな風に3Dで記録できるので<a href="http://amzn.to/1MPXRSb">Oculus Rift</a>で没入したりできるのですが、<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdSkrZSPyc4hxq2Wj_qjoztMMjkj8sAnDh1Wt5bpT7ZxKhrVSh0_yG_XN_bLvwwEOKOiI2ESQeV-rP4MfDrsKWPfjh9kLBsQ86OqSwcOI4xezSVG-kKo3K7dcIAoJRP3LDtr7NiqRMw/s1600/walkthru.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqdSkrZSPyc4hxq2Wj_qjoztMMjkj8sAnDh1Wt5bpT7ZxKhrVSh0_yG_XN_bLvwwEOKOiI2ESQeV-rP4MfDrsKWPfjh9kLBsQ86OqSwcOI4xezSVG-kKo3K7dcIAoJRP3LDtr7NiqRMw/s1600/walkthru.gif" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
このままでは<b>普通の写真みたいに机に飾れない</b>という問題があります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
もちろん3Dプリンタを使えば立体的に印刷することも可能ですが、</div>
<div class="separator" style="clear: both; text-align: left;">
今の印刷粒度ではこんな化物みたいになってしまい、子供を愛でるどころの騒ぎではなくなってしまいます。</div>
<div class="separator" style="clear: both; text-align: left;">
また3Dプリンタで印刷すると高いし、印刷物は壊れやすい(ので郵送に気使う)し、持ち運びしにくいという問題もあります。</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiNjpySQ30lRfs5UjR9lq_BHyzKmy7GQgaEG-4GBkPFicD-Af-WWpqU57DHsj7mdGMQDPtdZk61ZmK6avBzwfKqwhFGiwFjuofLWOvf_3h9iMv2KzgDQNjCY0GRZ4xygaSIUe_ctGgqg/s1600/3dprinted.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiNjpySQ30lRfs5UjR9lq_BHyzKmy7GQgaEG-4GBkPFicD-Af-WWpqU57DHsj7mdGMQDPtdZk61ZmK6avBzwfKqwhFGiwFjuofLWOvf_3h9iMv2KzgDQNjCY0GRZ4xygaSIUe_ctGgqg/s400/3dprinted.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">化物みたいになったAくん</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
「立体的に」「写真並の分解能を保って」「安く」立体画像を飾る方法はないのでしょうか?</div>
<div class="separator" style="clear: both; text-align: left;">
あります。<b><a href="https://www.google.co.jp/search?q=%E3%83%9D%E3%83%83%E3%83%97%E3%82%A2%E3%83%83%E3%83%97%E3%82%AB%E3%83%BC%E3%83%89&safe=off&espv=2&biw=1169&bih=546&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMIk_Lm-YGVyAIVzBeUCh1uGA8N#safe=off&tbm=isch&q=%E3%83%9D%E3%83%83%E3%83%97%E3%82%A2%E3%83%83%E3%83%97%E3%82%AB%E3%83%BC%E3%83%89+%E5%86%99%E7%9C%9F">ポップアップカードです。</a></b></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRuXi1iqrqbF1XaqyQgIg05WqWojtvUzL38hJOmo9Y6kBA805-llS7p03LbeIl2nA4VftPKaXfgdUKqRUAobR8whlBNpWzvbrkPt_RzU_gMxfAVcQQkHcegXqpnOm2AB2CJAH6RLwPeg/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-09-27+0.31.11.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="163" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRuXi1iqrqbF1XaqyQgIg05WqWojtvUzL38hJOmo9Y6kBA805-llS7p03LbeIl2nA4VftPKaXfgdUKqRUAobR8whlBNpWzvbrkPt_RzU_gMxfAVcQQkHcegXqpnOm2AB2CJAH6RLwPeg/s400/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2015-09-27+0.31.11.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">こういうの。</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
これなら立体的ですし、紙の印刷物なので写真クオリティも出せるし、なにより安いですね。</div>
<div class="separator" style="clear: both; text-align: left;">
更に畳めば財布に入れておいたり、封筒で実家に送ったりすることもできます。</div>
<div class="separator" style="clear: both; text-align: left;">
そこで今回はKinectで撮影した3D点群データから、自動的にポップアップカードを生成するプログラムを作ってみました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<span style="font-size: x-large;">
やり方</span></h2>
<div>
<span style="font-size: large;">1. 子供をKinectで撮影する。</span></div>
<div>
こんな感じの点群が取れます。子供じゃなくて猫とかでもいいです。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4RVc6ivl3z1854aNxAa-C3spT7qlCvyIhk7l2uUvzhRKjUBfBrJMNmoVisko2_PKRNXs_z65hOLalT74HjmizjVhI3A0sHfIElgbWxsuwmdOYktHq9BHQa9pdkOcAxJPtnrWvRP165w/s1600/original_pointcloud.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4RVc6ivl3z1854aNxAa-C3spT7qlCvyIhk7l2uUvzhRKjUBfBrJMNmoVisko2_PKRNXs_z65hOLalT74HjmizjVhI3A0sHfIElgbWxsuwmdOYktHq9BHQa9pdkOcAxJPtnrWvRP165w/s640/original_pointcloud.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span style="font-size: large;">2. 点群をクラスタリングして数枚のレイヤーに分ける</span></div>
<div>
元の点群データのままでは面ではないので紙に印刷することはできません。</div>
<div>
近い点同士を集めて面状に整形する必要があります。</div>
<div>
<br /></div>
<div>
ここはいろんな方法が考えられますが、今回は超簡易的にカメラからの距離によって(k-meansで)クラスタリングすることで面に分ける、ということを行います。<br />
点群データをカメラからの距離毎に点のヒストグラムにすると、以下図のように人・物・壁の位置にピークが立ちます。</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR_T8f4OH-H62ZjM3KuNN_M-8pAcVuhinnXL0Ov55SSMKnnUeJCTekfOqdY2kvWwWPXo3EdZVM-mZzCPORt6KN0dqeoXAr5vYSRTLahae8xXyWl2mdv1Ovjw3dlYbGlD25NnIm0s5Sg/s1600/pointcloud_and_histogram.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifR_T8f4OH-H62ZjM3KuNN_M-8pAcVuhinnXL0Ov55SSMKnnUeJCTekfOqdY2kvWwWPXo3EdZVM-mZzCPORt6KN0dqeoXAr5vYSRTLahae8xXyWl2mdv1Ovjw3dlYbGlD25NnIm0s5Sg/s400/pointcloud_and_histogram.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">元の点群データを横から見た図(上)と、各距離にある点の数(下)</td></tr>
</tbody></table>
<div>
これを簡単のためとりあえず2クラスタに分けてみるとこんな感じで、距離的に近い点同士が大体同じレイヤにまとまるようにクラスタリングされます。</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWhTsoYGUzGNk2tWQRfisJduehV9oVi8AlWGmRvAhsOF7EbbG0ygb-PIs5Di5_75Pn0xDbj9giOFsBofXfkw-hf_Qbx9y3DsYb2bBtKncoUZs4LNJiDj5q21T0MBZMWUjP0t9fiy6ww/s1600/clustered_points.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWhTsoYGUzGNk2tWQRfisJduehV9oVi8AlWGmRvAhsOF7EbbG0ygb-PIs5Di5_75Pn0xDbj9giOFsBofXfkw-hf_Qbx9y3DsYb2bBtKncoUZs4LNJiDj5q21T0MBZMWUjP0t9fiy6ww/s400/clustered_points.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">近い面と遠い面に分かれました</td></tr>
</tbody></table>
<div>
<div>
<span style="font-size: large;">3. 1枚のカードに結合する</span></div>
</div>
<div class="separator" style="clear: both; text-align: left;">
で、各レイヤーを一枚の面上に結合し、切り抜き方を計算します。</div>
<div class="separator" style="clear: both; text-align: left;">
以下図のように、レイヤーを少しずつ段差をずらして一枚の紙上に結合し、切り抜き線を計算して赤線を引きます。</div>
<div class="separator" style="clear: both; text-align: left;">
(この際、最終的なカードがちゃんと自立するようにレイヤーを綺麗にする処理がありますが、面倒なので説明を割愛します。)</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQHC9Co16WW676vlvOvAO8BRHyuQuu-5dI5Lozn-9Ree_zdqU4t6yXn6-Tb45VZCu4f6180E9rW5Dj3i1XuLUUuR6Nxaw4PuS14_Dr3wOah2vpvgd9I0yelRPPc7wNaVvsWK0nJveO3w/s1600/printcard.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQHC9Co16WW676vlvOvAO8BRHyuQuu-5dI5Lozn-9Ree_zdqU4t6yXn6-Tb45VZCu4f6180E9rW5Dj3i1XuLUUuR6Nxaw4PuS14_Dr3wOah2vpvgd9I0yelRPPc7wNaVvsWK0nJveO3w/s320/printcard.png" width="314" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">赤い点線を切り抜くとレイヤーが切り出される。</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
こんな感じで、1枚のカードを切り抜くと各レイヤーが立体的に現れる構造が作られます。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsavVvX1lce4Xn9BuCigqn_HGkt_HWSH4nE43G-YnAg3qliXjZ_ZOhC3LqL5bC3jK619qPYq_dgUFAJYVvGie6ZRRfK9GnovsdzUHTN_ipkRNc2Y5gPWJV-Y4bA5IOrMcq7b7P3S2tUA/s1600/card_front.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsavVvX1lce4Xn9BuCigqn_HGkt_HWSH4nE43G-YnAg3qliXjZ_ZOhC3LqL5bC3jK619qPYq_dgUFAJYVvGie6ZRRfK9GnovsdzUHTN_ipkRNc2Y5gPWJV-Y4bA5IOrMcq7b7P3S2tUA/s400/card_front.gif" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPm1rE-0S4RN536t4xvCPXK334JwWHJVHTXWjsvLGFQvcy0OxITMHmubL1YdgtK42DLAlnz2saJ7OHzci1e-D-hXyWNfkgDf_Mia6IyNjk55WThLlHps9wz7ouC0mPimpySl47BKaPQ/s1600/card_side.gif" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyPm1rE-0S4RN536t4xvCPXK334JwWHJVHTXWjsvLGFQvcy0OxITMHmubL1YdgtK42DLAlnz2saJ7OHzci1e-D-hXyWNfkgDf_Mia6IyNjk55WThLlHps9wz7ouC0mPimpySl47BKaPQ/s400/card_side.gif" width="400" /></a></div>
これはシミュレーションのCGですが・・・<br />
<br />
<div>
<span style="font-size: large;">4. 実際に印刷してみる</span></div>
<div class="separator" style="clear: both; text-align: left;">
実際に印刷してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32PVT93RWvRghMk8hEbTQ-VCqPqakny69XuJjp15CsXcS54GMWfMavBBE9MVnq3PP-CkOqx23hOOTyGqEtOt3eW_hhHB_E8kij4TsoHylUwOVaDFBf2crUHAQ2mqZ-PBSjSDBnAs0Gw/s1600/P1230331.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg32PVT93RWvRghMk8hEbTQ-VCqPqakny69XuJjp15CsXcS54GMWfMavBBE9MVnq3PP-CkOqx23hOOTyGqEtOt3eW_hhHB_E8kij4TsoHylUwOVaDFBf2crUHAQ2mqZ-PBSjSDBnAs0Gw/s640/P1230331.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">完成。かわいい。</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn5PVjB6DvHdQZh6AwnCeljCv0uFO_IA_gZRnSykYjRGbOq717UFXf1Wh_kLYmHvb68gUsgFFom-zhbbfvJOuJLPOLc5eD-nUfHjPNCEiSs10mbLovs9gPYS96gMPCPZjyPalrlXzw/s1600/P1230480.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn5PVjB6DvHdQZh6AwnCeljCv0uFO_IA_gZRnSykYjRGbOq717UFXf1Wh_kLYmHvb68gUsgFFom-zhbbfvJOuJLPOLc5eD-nUfHjPNCEiSs10mbLovs9gPYS96gMPCPZjyPalrlXzw/s640/P1230480.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">大量生産できます。</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
ちょっと(元がKinectなので)画質が雑ですが、立体ならではの躍動感があります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<span style="font-size: x-large;">
まとめ</span></h2>
<div class="separator" style="clear: both; text-align: left;">
今回はKinectから取得した点群データに基づき、ポップアップカードを自動生成するアルゴリズムを作り、実験してみました。</div>
<div class="separator" style="clear: both; text-align: left;">
3Dプリンタよりも写真に近い画質で立体感を維持したまま、卓上に飾ることのできるディスプレイを作ることができました。</div>
<div class="separator" style="clear: both; text-align: left;">
これなら子供の写真をバシバシ写真撮ってガンガン印刷して飾れます。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
・Kinectで撮影するのは少し一般向けにはハードルが高いですが、最近は<a href="http://amzn.to/1R8SgoC">市販の3Dデジカメ</a>もあります。また、平面画像からでもオブジェクト認識してレイヤー分けしたりできるかもしれません。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
・僕は自分の子供の写真を会社の机に飾りたいという気持ちだけで作りましたが、例えば家族写真を封筒に入れて送ったり、財布に入れておいたりできるという便利さもあります。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
・面倒なのでサービスにしてないですが、ポップアップカード作って欲しいという人がいたらご連絡ください。</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
・<b>子供の写真を3Dで残してないのはもったいないぞ!</b></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-6524080278834109072015-07-15T14:03:00.000+09:002016-03-09T15:16:10.033+09:00ひまわり8号の衛星写真で遊んだ<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">2015年7月7日に<a href="http://www.nikkei.com/article/DGXZZO88993780X00C15A7000000/">ひまわり8号が運用開始</a>しました。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">このように<b>めっちゃ綺麗</b>な画像が撮れるので、クローリングして色々動画にしてみました。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLm7AZXl0fu8h5KEK503Jmpxrbr-hFBz0T7n1A8zTnMtmmIdnOWGslBEIj5ECdex9Ow2_y7CIIrUMpYHLKtsi-NrVoogpH7FprIQmhpqYHaBtA6Sv8GXP0oUjUZnQVnzVeiHOmADdfiw/s1600/himawari_20150720023000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLm7AZXl0fu8h5KEK503Jmpxrbr-hFBz0T7n1A8zTnMtmmIdnOWGslBEIj5ECdex9Ow2_y7CIIrUMpYHLKtsi-NrVoogpH7FprIQmhpqYHaBtA6Sv8GXP0oUjUZnQVnzVeiHOmADdfiw/s640/himawari_20150720023000.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<h2 style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-large;">データ取得</span></h2>
<div>
<a href="http://himawari8.nict.go.jp/himawari8-image.htm" style="font-family: Arial, Helvetica, sans-serif;">ここから</a>取りました。550pxのタイルで全球(1倍)から詳細(16倍)まで5段階の画像が10分毎に用意されています。</div>
<div>
Firebug等で取得されてる画像を見れば、すぐに元画像の場所が分かります。</div>
<div>
<br /></div>
<div>
<h2 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-large;">いろんな動画作った</span></h2>
</div>
<div>
で、ゴニョゴニョして、いろんな動画を作ってみました。</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<h3 style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b>7月12日の素敵な瞬間集</b></span></h3>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">手作業で素敵なシーンを選択して動画にしてみました。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">日の出が鳥肌たちますね。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/XuWcvCTz6pE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/XuWcvCTz6pE?feature=player_embedded" width="320"></iframe></div>
<br />
<h3 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">台風が見れる!</span></h3>
近づく台風:<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OhL0hNxJtfLoR2hr0ce6sDC9TwzwPEEFMH5t5xqzrCBbgXwKNEYrYvLNuNK7MIp4_WEW5yhdzraOzvg7h1lOpXMJgDqrlMC00EbKu0JDbCdR1pvCedYmJSqThuIxLuOPnXMQYEeTfw/s1600/japan.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8OhL0hNxJtfLoR2hr0ce6sDC9TwzwPEEFMH5t5xqzrCBbgXwKNEYrYvLNuNK7MIp4_WEW5yhdzraOzvg7h1lOpXMJgDqrlMC00EbKu0JDbCdR1pvCedYmJSqThuIxLuOPnXMQYEeTfw/s320/japan.gif" width="320" /></a></div>
<br />
こっちは台風12号の発生から日本上陸まで。<br />
ただの熱帯低圧から台風に育ったあと熱帯低気圧に格下げされ、また台風に帰り咲いた根性野郎です。<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/jUKop_Ker7Y/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/jUKop_Ker7Y?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
こちらは2015年7月の全ての台風の経路をアニメーション</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/rOCNDgrvECA/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/rOCNDgrvECA?feature=player_embedded" width="320"></iframe></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h3 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">火山の噴火が見れる!</span></h3>
<div>
なんか煙が上がってる・・・</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRwGZujBxGZkh0-tTmptNflRuEiiAcIVVbdMBVW2djSxUmxjriZzuec94Lacn5EZgW7D8W6SVjSGpe1mC1scUHNq9iBtt8FS1irBkhnzI-tkSP2h59MB-WkAd8UCAgM7pGNkZrCQAPbw/s1600/himawari_20150731121000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRwGZujBxGZkh0-tTmptNflRuEiiAcIVVbdMBVW2djSxUmxjriZzuec94Lacn5EZgW7D8W6SVjSGpe1mC1scUHNq9iBtt8FS1irBkhnzI-tkSP2h59MB-WkAd8UCAgM7pGNkZrCQAPbw/s640/himawari_20150731121000.jpg" width="640" /></a></div>
<b><br /></b>なんと<a href="http://www.accuweather.com/en/weather-news/breaking-manam-volcano-erupts/51076602">パプアニューギニアのマナム火山</a>が噴火したらしいです。<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/KX-BCistWCg/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/KX-BCistWCg?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
これぐらい引いても噴煙が見えるのが凄いですね。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSei2_uTUa8091wJykMOQY91CEqPE1ouXCG6tvCupdPwyBlh017hV0oyUeYUF8MBxTHLsIuuSd4dnuPBFcYlG8O1JVrEd5088SKafmOxZeQIWucstXTBlEWdyELUhuTOVaTWZoXDP9iA/s1600/himawari_20150731121000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSei2_uTUa8091wJykMOQY91CEqPE1ouXCG6tvCupdPwyBlh017hV0oyUeYUF8MBxTHLsIuuSd4dnuPBFcYlG8O1JVrEd5088SKafmOxZeQIWucstXTBlEWdyELUhuTOVaTWZoXDP9iA/s640/himawari_20150731121000.jpg" width="640" /></a></div>
<h3 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">山火事?が見れる!</span></h3>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">オーストラリア西部で黒い煙が上がってました。</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">山火事っぽくもありつつ、これ多分砂漠なのでなにが燃えてるのか不明。</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">あとこういう煙が何箇所かから上がってたので、もしかして人為的かも知れません。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizG6GXPs-dN7mU9gUZHp1YdNxQkvRw0PbEockGBL_PAooWtaGCB4wTIhbxKLM6asoRb9VJaAOIVJ8UHqmSpqWwGTKipgyhRkuym2XbbnWzSLt_GxPTdK4JBAKw8V-tyfmQ5gcluIlDUg/s1600/fire.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizG6GXPs-dN7mU9gUZHp1YdNxQkvRw0PbEockGBL_PAooWtaGCB4wTIhbxKLM6asoRb9VJaAOIVJ8UHqmSpqWwGTKipgyhRkuym2XbbnWzSLt_GxPTdK4JBAKw8V-tyfmQ5gcluIlDUg/s1600/fire.gif" /></a></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div>
<h3 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">オーストラリアの潮の満ち引きが見れる!</span></h3>
</div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">毎日の12時を見ると、海の色が大きく変わっている様子が見えます。</span></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">特に注目は、右中央の赤い砂が見え隠れるするところ。一度行ってみたいですね。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYF9RhQd09YHWdhkTNIIl-8mr0bdMYHq9PdIlOgA4HM3pXOIL4bKNgpVfEK9nABRBm18DxOD9p3TndO259Kt7YnDWk-OZnrMl-hTqVLp8kthe6CW1NVor8FvyO3FkChaCdhPrKt_tw9Q/s1600/australia_beach.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYF9RhQd09YHWdhkTNIIl-8mr0bdMYHq9PdIlOgA4HM3pXOIL4bKNgpVfEK9nABRBm18DxOD9p3TndO259Kt7YnDWk-OZnrMl-hTqVLp8kthe6CW1NVor8FvyO3FkChaCdhPrKt_tw9Q/s1600/australia_beach.gif" /></a></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: 'Hiragino Kaku Gothic ProN'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
</div>
<br />
<h3 style="-webkit-text-stroke-width: 0px; clear: both; color: black; font-family: 'Hiragino Kaku Gothic ProN'; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">月が見れる!</span></h3>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;">ずっと探してたのですが、ようやく月を発見しました。台風17号とのツーショットです。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyqpcb4A92i_TYTLK09sOyHiJzDcGKMkrJfmll-fqg8ll_blaM8pKD93KsOKOiwOexnUNU56aBy2pDEO-7-ztJc_uYK8MzHqqAi6NaBpgBdt3PCVLoA5VQypcWv7ZZwJ7YxC6890Etiw/s1600/typhoon_17_and_moon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyqpcb4A92i_TYTLK09sOyHiJzDcGKMkrJfmll-fqg8ll_blaM8pKD93KsOKOiwOexnUNU56aBy2pDEO-7-ztJc_uYK8MzHqqAi6NaBpgBdt3PCVLoA5VQypcWv7ZZwJ7YxC6890Etiw/s640/typhoon_17_and_moon.png" width="640" /></a></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">せっかくなので機械的に認識して過去の月の出現も見つけてみました。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaQHALInZehh4kwqtE3ZVKc_W3v_tU0dOyPCfFvHftHdj6CI-0ECNgODPZWRFnR0_u2ZTPJpc2dYqCKjc_Z6gSrlbdTrqNOlVhd0wFPxxA4D93zNxjCka3ecDh2EvBFEkDokTgbqtCiA/s1600/8_2_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOzLz9aMJDGU4NzPm5P7FwIZNUrQA_8feMJyeDIx5NQB5HbChmh1BQDeXHMYk3grEbPYZkrvmoNc1RMgwSNIykSUkbVCLI50eFuRT2jZ0JvkPoGXeH7LdP4M2_g8doPm3aHbwt9vuuXw/s1600/8_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOzLz9aMJDGU4NzPm5P7FwIZNUrQA_8feMJyeDIx5NQB5HbChmh1BQDeXHMYk3grEbPYZkrvmoNc1RMgwSNIykSUkbVCLI50eFuRT2jZ0JvkPoGXeH7LdP4M2_g8doPm3aHbwt9vuuXw/s320/8_2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6u4bvH4M4Wwsu2poeJ5KsbEy1Y7xrND8Cir7KEu843-fDFGrZ2D4wfvWsLX5xfXYp85Mh-yJFAcgz-2agiLpThSHKtkCAQPuo9EjnZflpm5jmLRJWnv_qezJ-a2EwGjBvDkD2Jt5Qvg/s1600/8_2_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6u4bvH4M4Wwsu2poeJ5KsbEy1Y7xrND8Cir7KEu843-fDFGrZ2D4wfvWsLX5xfXYp85Mh-yJFAcgz-2agiLpThSHKtkCAQPuo9EjnZflpm5jmLRJWnv_qezJ-a2EwGjBvDkD2Jt5Qvg/s320/8_2_2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE57plt5p6srs0ld8uYRUTEDUxp6__AXTCq1hBBHSoDgFFMezyf-ZzMHL1wyHy3YOp0yfdZluUV_bVNtaQx1YYmENxI8yw6Ay4aMeQkX6gXXXM-avj1TRcGaCr0Se6gLwA0gAEQTd9og/s1600/8_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE57plt5p6srs0ld8uYRUTEDUxp6__AXTCq1hBBHSoDgFFMezyf-ZzMHL1wyHy3YOp0yfdZluUV_bVNtaQx1YYmENxI8yw6Ay4aMeQkX6gXXXM-avj1TRcGaCr0Se6gLwA0gAEQTd9og/s320/8_3.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZsS0bgk5D-5-7tXgpyOO7_ZTPCduxLFfjRtI8sAYzdl4F4mhWJej7b2D9VeemOCIK42_a_0QtuAQph4GftOUvlU4SlsMA2zzGb9qRFXrnS-419ylz3h8knpeQ9a4eFksH8ivBkWCDPA/s1600/8_5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZsS0bgk5D-5-7tXgpyOO7_ZTPCduxLFfjRtI8sAYzdl4F4mhWJej7b2D9VeemOCIK42_a_0QtuAQph4GftOUvlU4SlsMA2zzGb9qRFXrnS-419ylz3h8knpeQ9a4eFksH8ivBkWCDPA/s320/8_5.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2DG1njJp84EPX2ZoVPDGDAAhqSSICBhH5t-iegL-fiFQpwVhaOoqLpMe3kucDC7BAt7xtaUuyUOag2oPDTB24ews0-qsAjZn6LyelvLYvBTk3DQc1s4H-W_GBTIERjMWOVl2P-_SwTQ/s1600/8_30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2DG1njJp84EPX2ZoVPDGDAAhqSSICBhH5t-iegL-fiFQpwVhaOoqLpMe3kucDC7BAt7xtaUuyUOag2oPDTB24ews0-qsAjZn6LyelvLYvBTk3DQc1s4H-W_GBTIERjMWOVl2P-_SwTQ/s320/8_30.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1VjUQxPUL9osq1kHfwUNEoHlzy4Uh8T9bvIJ4VLPK0KCr5qkoE-ZjNfsvtf7qcl-bKqmjD4lcK8RDBPi03kQt4rpGJdIpbJr-jU1V9ZcqMOZzWlqbvhjfWGLeeAy6XjRgC4QGp5qljA/s1600/9_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1VjUQxPUL9osq1kHfwUNEoHlzy4Uh8T9bvIJ4VLPK0KCr5qkoE-ZjNfsvtf7qcl-bKqmjD4lcK8RDBPi03kQt4rpGJdIpbJr-jU1V9ZcqMOZzWlqbvhjfWGLeeAy6XjRgC4QGp5qljA/s320/9_1.png" width="320" /></a></div>
<br />
<h3 style="clear: both;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">日食が見れる!</span></h3>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://eco.mtk.nao.ac.jp/cgi-bin/koyomi/eclipsex_s.cgi">3月9日の日食</a>がばっちりひまわり8号の可視範囲だったので綺麗に撮れました。</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBlIdoJBBQl2ujYUKrBev2qrCRGUU_-0jHCSjK1xC3hLOY5GxYcPzKmjsqcaS7ZzkuFP2ECDDoZmGV8hpwr99OdzGdIulDZ54YxxuElz8eogwXs3ZBDFBZCTOrq1iwt-ED-dif5Eeeg/s1600/2016-03-09+15_12_14.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuBlIdoJBBQl2ujYUKrBev2qrCRGUU_-0jHCSjK1xC3hLOY5GxYcPzKmjsqcaS7ZzkuFP2ECDDoZmGV8hpwr99OdzGdIulDZ54YxxuElz8eogwXs3ZBDFBZCTOrq1iwt-ED-dif5Eeeg/s640/2016-03-09+15_12_14.gif" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pB52rxp8QGc/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/pB52rxp8QGc?feature=player_embedded" width="320"></iframe></div>
<br /></div>
</div>
<h3 style="clear: both; text-align: left;">
<span style="font-size: large;">タイプラプスを見続けたい</span></h3>
<div class="separator" style="clear: both; text-align: left;">
上の動画みたいに綺麗なシーンを手作業で選び出してもいいんですが、面倒ですよね。</div>
<div class="separator" style="clear: both; text-align: left;">
そこでいい感じのタイムラプスを自動で生成するプログラムを作りました。</div>
<div class="separator" style="clear: both; text-align: left;">
この動画は2時間分の自動生成したタイムラプスです。</div>
<div style="text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/oogaJYjjEAE/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/oogaJYjjEAE?feature=player_embedded" width="320"></iframe></div>
<br />
<h3 style="clear: both;">
<span style="font-size: large;">部屋に地球を浮かばせたい</span></h3>
地球が好きすぎて、こんなの作りました。<br />
部屋に中心にプカンと浮く地球です。<br />
(実際は衛星画像を投影したただの発泡スチロール)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOmBVnQsZz-CqlH0s67x-h3aFJ1FIrH7dFhfKyvquUYvh_04_ysn7y9srlTAjWhGjvtM6IqX0J0qGNcaSYKuhpAda4NvEuCtGDAxOiKTQz14r2JAzSFcoBFtpHaEjiYF75wEITVXEHqg/s1600/floating_earth.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOmBVnQsZz-CqlH0s67x-h3aFJ1FIrH7dFhfKyvquUYvh_04_ysn7y9srlTAjWhGjvtM6IqX0J0qGNcaSYKuhpAda4NvEuCtGDAxOiKTQz14r2JAzSFcoBFtpHaEjiYF75wEITVXEHqg/s640/floating_earth.jpg" width="640" /></a></div>
<br />
<br />
<h2>
<span style="font-size: x-large;">
投影法変換</span></h2>
<div>
取得した画像のどのピクセルが地球上のどの座標に対応するのか計算できると色々便利です。</div>
<div>
ひまわり8号の画像はNormalized Geostationary Projectionの投影画像。これをゴニョゴニョやると、こんなふうに緯度経度の線を引いたり、</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1vnNkUMTgPteiz87urbDVLlSw_GwQfql2HrRe3pLn3xSn-46o7jC0A8caqf_uFNwj3raWv-QyIh7h0O9QLSG2PrvpBoPGAVffNEkKsz1Q4EjJpsOh4rathrzzv_g3p8s-HLOrJe5jpg/s1600/himawari_20150719121000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1vnNkUMTgPteiz87urbDVLlSw_GwQfql2HrRe3pLn3xSn-46o7jC0A8caqf_uFNwj3raWv-QyIh7h0O9QLSG2PrvpBoPGAVffNEkKsz1Q4EjJpsOh4rathrzzv_g3p8s-HLOrJe5jpg/s640/himawari_20150719121000.jpg" width="640" /></a></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
OpenStreetMapから座標と名前を引いてきた都市名を表示したりできるようになりました。</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73QP30YuiKKrV6pCRB6AW6QS2gPLUIK1PborsYWp4Kw19514Obf2xK5nu3qfi4Qyy0tLlIykXEx5062yPa-YvfzzHuVg-jGNCOhRr9xx6wsPCZfFXpJgmg-5BGOwJg7cSh0S61Oej6Q/s1600/himawari_20150719121000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj73QP30YuiKKrV6pCRB6AW6QS2gPLUIK1PborsYWp4Kw19514Obf2xK5nu3qfi4Qyy0tLlIykXEx5062yPa-YvfzzHuVg-jGNCOhRr9xx6wsPCZfFXpJgmg-5BGOwJg7cSh0S61Oej6Q/s640/himawari_20150719121000.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
改めて座標とともに見ると、いろんなことがわかります。<br />
<br />
画像の一番右端にはハワイも映ってたんですね。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvXVR3NL3l-fqlgo50nArdrcwPD8Jjxq_PTlBUd_zLCghrbdGXvI_pxcK1uJpyTcitxsC16PzL0lIOZlZlc_7m-aVRNQoLyEKsBnMlc5Wz5a5OyyJ7vKFa9DleJftVcm9PpPw8PlCsg/s1600/himawari_20150729061000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcvXVR3NL3l-fqlgo50nArdrcwPD8Jjxq_PTlBUd_zLCghrbdGXvI_pxcK1uJpyTcitxsC16PzL0lIOZlZlc_7m-aVRNQoLyEKsBnMlc5Wz5a5OyyJ7vKFa9DleJftVcm9PpPw8PlCsg/s640/himawari_20150729061000.jpg" width="640" /></a></div>
<br />
左端はインドまで見えてます<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR9rc2qjGABmtcOjhqvxvGRu7eyIL4JduL_dG0u2Z3r6dovYuBPCI_jyWHjK05N6F0hssvLwBm21wG9jlfuvYp-B2d8Zr9stNeV4NsNiLp4J36a0BdDliYF_WJ_RRnkhbz7FE4LSVqaQ/s1600/himawari_20150802125000.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR9rc2qjGABmtcOjhqvxvGRu7eyIL4JduL_dG0u2Z3r6dovYuBPCI_jyWHjK05N6F0hssvLwBm21wG9jlfuvYp-B2d8Zr9stNeV4NsNiLp4J36a0BdDliYF_WJ_RRnkhbz7FE4LSVqaQ/s640/himawari_20150802125000.jpg" width="640" /></a></div>
<br />
他に「こんな動画が見たい!」というものがあったら是非ご連絡ください。作ります。</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-4937330862794227202015-06-08T22:42:00.003+09:002015-06-13T12:09:07.475+09:00A T-shirt that makes sweaty armpits socially acceptable (sort of)<span style="font-family: Verdana, sans-serif;">Summer is the season of the sweaty armpit.</span><br />
<span style="font-family: Verdana, sans-serif;">While a <a href="https://www.google.co.jp/search?client=safari&rls=en&q=armpit+sweat&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=n8d0VdrFOK798weW-IGQAQ">quick search</a> reveals that most people try to deal with sweat by somehow stopping it,</span><br />
<span style="font-family: Verdana, sans-serif;">I tried taking a different approach:</span><br />
<span style="font-family: Verdana, sans-serif;"><b>a T-shirt that tries to make sweat more loveable by incorporating it into the design.</b></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGvwnQboXm_IFkfvF8ld5zlRuDpgI1sDHIvYmkByGSlWrYKgK8UenLD10T2X_ZnhCzWixCOrDgKMn4tjzsTMkFBLhz7OC3VYoCcC6XpHIH26m-B9Ps6GpZHGRyOABMDPsiTLqJ1W1HQ/s1600/P1210062.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGvwnQboXm_IFkfvF8ld5zlRuDpgI1sDHIvYmkByGSlWrYKgK8UenLD10T2X_ZnhCzWixCOrDgKMn4tjzsTMkFBLhz7OC3VYoCcC6XpHIH26m-B9Ps6GpZHGRyOABMDPsiTLqJ1W1HQ/s640/P1210062.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj818Cf7zg5288fBfz6cyqi_gOlO9TdAhYhxIOWO_hNRJ-qbD3sInTX0dZp3BnK1NnVpFjjJFgZHxNh_Q20TzrBcdIE2A6-7DXDqN5e3oZEfhYyBmJ8pn4a1CbcKIF-lscdHeT9cobXrw/s1600/P1210092.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj818Cf7zg5288fBfz6cyqi_gOlO9TdAhYhxIOWO_hNRJ-qbD3sInTX0dZp3BnK1NnVpFjjJFgZHxNh_Q20TzrBcdIE2A6-7DXDqN5e3oZEfhYyBmJ8pn4a1CbcKIF-lscdHeT9cobXrw/s640/P1210092.jpg" width="640" /></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">The puppy gives your sweat a friendlier context, making it more loveable and socially acceptable.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgHCF8lMpFhqNJW14RAdJGFNRunG1freuwrDqcaTdu1UlU_0X2pCdvumTTz4CUPq4OcEHoy9H8TYVC1mPXsvNjQo6N23IS3p_o-u3Zx9uoSNANDoVV16b4sedlSqfn1iKZu4Turw4jw/s1600/P1210094.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgHCF8lMpFhqNJW14RAdJGFNRunG1freuwrDqcaTdu1UlU_0X2pCdvumTTz4CUPq4OcEHoy9H8TYVC1mPXsvNjQo6N23IS3p_o-u3Zx9uoSNANDoVV16b4sedlSqfn1iKZu4Turw4jw/s640/P1210094.jpg" width="640" /></a></div>
<span style="font-family: Verdana, sans-serif;">Look at that. Totally loveable.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhld8WW8N-F1BOchaihXaN6dQVk11u-tA8qz0Oz01KyZIPc_4Cc0ovNMJAOgDnkFEfS7vS16tlXA-FI_i47W9drHkNXXRjKIVGfuKEgv6VfJIVZgSIvlzq5-OGu_MhII7Fl2XRLx8vH_w/s1600/P1210078.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhld8WW8N-F1BOchaihXaN6dQVk11u-tA8qz0Oz01KyZIPc_4Cc0ovNMJAOgDnkFEfS7vS16tlXA-FI_i47W9drHkNXXRjKIVGfuKEgv6VfJIVZgSIvlzq5-OGu_MhII7Fl2XRLx8vH_w/s640/P1210078.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVWYReLHK4hQoc3BNAlSFFz0xGodWVxV6Yrbmu9W-L_IUDPMI9bsZDKXQjAuX9VDHt6aMb9LS2cejXZuzdd5d3V1FvVSEkGI5dGIfRqTBqP0uk1rbwix8Lg0-USTKfKgcQhCXT2gBTw/s1600/P1210117.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsVWYReLHK4hQoc3BNAlSFFz0xGodWVxV6Yrbmu9W-L_IUDPMI9bsZDKXQjAuX9VDHt6aMb9LS2cejXZuzdd5d3V1FvVSEkGI5dGIfRqTBqP0uk1rbwix8Lg0-USTKfKgcQhCXT2gBTw/s640/P1210117.jpg" width="640" /></a></div>
<span style="font-family: Verdana, sans-serif;">There's also a dude fishing from your sweat at the back.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">If some things can't be stopped all together (like sweat), it may sometimes be worth thinking of a way to just love it.</span><br />
<span style="font-family: Verdana, sans-serif;">Anyone who wants to purchase these, <a href="http://twitter.com/kenkawakenkenke">I'd love to hear from you</a>.</span>kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-53767911289169734412015-06-08T00:49:00.002+09:002015-06-13T17:38:52.444+09:00脇汗をかいたほうが可愛くなるTシャツを作った<span style="font-family: Verdana, sans-serif; font-size: large;">追記(15/06/13):<b style="text-decoration: underline;">好評につき<a href="http://swea-t.jimdo.com/%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/">販売開始</a>しました。(送料無料)</b></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">脇汗の季節になりましたね。</span><br />
<span style="font-family: Verdana, sans-serif;">脇汗というとネガティブなイメージしか浮かびませんが、</span><span style="font-family: Verdana, sans-serif;">せっかく人類が獲得した自衛反応、もっとポジティブに受け入れたいものです。</span><br />
<span style="font-family: Verdana, sans-serif;">そこで「<b>脇汗をかいたほうが可愛くなるTシャツ</b>」というものを作ってみました。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGvwnQboXm_IFkfvF8ld5zlRuDpgI1sDHIvYmkByGSlWrYKgK8UenLD10T2X_ZnhCzWixCOrDgKMn4tjzsTMkFBLhz7OC3VYoCcC6XpHIH26m-B9Ps6GpZHGRyOABMDPsiTLqJ1W1HQ/s1600/P1210062.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcGvwnQboXm_IFkfvF8ld5zlRuDpgI1sDHIvYmkByGSlWrYKgK8UenLD10T2X_ZnhCzWixCOrDgKMn4tjzsTMkFBLhz7OC3VYoCcC6XpHIH26m-B9Ps6GpZHGRyOABMDPsiTLqJ1W1HQ/s640/P1210062.jpg" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;">こちらです。</span><br />
<span style="font-family: Verdana, sans-serif;">既に可愛いですね。</span><br />
<span style="font-family: Verdana, sans-serif;">なんでこれが脇汗かいたほうが可愛くなるんでしょうか?</span><br />
<span style="font-family: Verdana, sans-serif;">実際に着て</span><span style="font-family: Verdana, sans-serif;">脇汗かいてみましょう。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAh2onb3KJub8CmZsaoEMd4FRDMm1OHMZEiB752Gj3ujo0eZc_MvGhoEQ8SGURLxiITqiIbs9Sjt3jgs_lhtZs1BKv_lCvVKd7XakEANdsdK9mLQYlFC5mK2scQCIEqgB4hiSGksf-pA/s1600/P1210092.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAh2onb3KJub8CmZsaoEMd4FRDMm1OHMZEiB752Gj3ujo0eZc_MvGhoEQ8SGURLxiITqiIbs9Sjt3jgs_lhtZs1BKv_lCvVKd7XakEANdsdK9mLQYlFC5mK2scQCIEqgB4hiSGksf-pA/s640/P1210092.jpg" width="640" /></a></div>
<span style="font-family: Verdana, sans-serif;">こうなります。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgHCF8lMpFhqNJW14RAdJGFNRunG1freuwrDqcaTdu1UlU_0X2pCdvumTTz4CUPq4OcEHoy9H8TYVC1mPXsvNjQo6N23IS3p_o-u3Zx9uoSNANDoVV16b4sedlSqfn1iKZu4Turw4jw/s1600/P1210094.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipgHCF8lMpFhqNJW14RAdJGFNRunG1freuwrDqcaTdu1UlU_0X2pCdvumTTz4CUPq4OcEHoy9H8TYVC1mPXsvNjQo6N23IS3p_o-u3Zx9uoSNANDoVV16b4sedlSqfn1iKZu4Turw4jw/s640/P1210094.jpg" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;">こうです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ワンコがいるおかげで脇汗が「あるべきところにある」ように見えます。</span><br />
<span style="font-family: Verdana, sans-serif;">むしろ無いと物足りないぐらいですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhld8WW8N-F1BOchaihXaN6dQVk11u-tA8qz0Oz01KyZIPc_4Cc0ovNMJAOgDnkFEfS7vS16tlXA-FI_i47W9drHkNXXRjKIVGfuKEgv6VfJIVZgSIvlzq5-OGu_MhII7Fl2XRLx8vH_w/s1600/P1210078.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhld8WW8N-F1BOchaihXaN6dQVk11u-tA8qz0Oz01KyZIPc_4Cc0ovNMJAOgDnkFEfS7vS16tlXA-FI_i47W9drHkNXXRjKIVGfuKEgv6VfJIVZgSIvlzq5-OGu_MhII7Fl2XRLx8vH_w/s640/P1210078.jpg" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfrT0TQC538feLmgrPP2LpLQpSaD0KKG3ZxqOeE5Nzs3WdhzHh2Tqu3BTAU-iKJT3xODt6Q5xw_CVyye0Xq2xTkrjM6e5DXhWBoVprwZiyXBUckDfxJjxP2Qez9RnpOu8HrKKnIQY8g/s1600/P1210117.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwfrT0TQC538feLmgrPP2LpLQpSaD0KKG3ZxqOeE5Nzs3WdhzHh2Tqu3BTAU-iKJT3xODt6Q5xw_CVyye0Xq2xTkrjM6e5DXhWBoVprwZiyXBUckDfxJjxP2Qez9RnpOu8HrKKnIQY8g/s640/P1210117.jpg" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;">ちなみに背中ではオッサンが脇汗で釣りしてます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ネガティブな印象の強いものでも、うまくデザインの中に取り入れられればむしろポジティブなものになり得るんですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://swea-t.jimdo.com/%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/">こちら</a>で販売しているので、欲しい方は是非ポチってください。送料無料です。</span><br />
<span style="font-family: Verdana, sans-serif;">これを着て撮影されてくれる変態も随時募集します。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h3>
<span style="font-family: Verdana, sans-serif; font-size: large;">作り方</span></h3>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">せっかくなので、作り方も説明しときます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>(1) 絵を描く</b></span><br />
<span style="font-family: Verdana, sans-serif;">うちの素敵な妻に描いてもらいました。</span><br />
<span style="font-family: Verdana, sans-serif;">ちなみに<a href="https://www.youtube.com/watch?v=Jh3jYOmHtYg">1Click飲み</a>のプロモーション動画の冒頭スケッチを描いてくれたのも妻です。素敵ですね。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShMztO6e7xHJ6E1frz_ioYA_BvGcfVb-_po8c6oxFXYcDd78t69mnMvpkO2txsHN4qkgAKCsC7dZKpkHU30JkPIFRJuvCnDdAnSKISedMvBI6dt8TxOfUKH68wkq7VE8R65qoTAh09w/s1600/IMG_20150608_002702.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShMztO6e7xHJ6E1frz_ioYA_BvGcfVb-_po8c6oxFXYcDd78t69mnMvpkO2txsHN4qkgAKCsC7dZKpkHU30JkPIFRJuvCnDdAnSKISedMvBI6dt8TxOfUKH68wkq7VE8R65qoTAh09w/s400/IMG_20150608_002702.jpg" width="300" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
<b>(2) スキャンして彩色する</b></span><br />
<span style="font-family: Verdana, sans-serif;">モニョモニョ塗ります。</span><br />
<span style="font-family: Verdana, sans-serif;">インクジェットで印刷するので、色は自由に使えます。</span><br />
<span style="font-family: Verdana, sans-serif;">大きさは、実際に何度か(普通の)紙に印刷して、自分に当てがってみて決めましょう。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNcvYjjGbzLHaSfI8M3Gng2cgnpGk6ls9Wkv2l9qaPVsIrW2DIZWAN7hkKwAf6dchJdI1jl5cIV0DiMAmR_t_qBwUqpQ7p_19zcWPGoLYq08SRwyCSd0jtc5Vi-g0fukwhoYZp4JDIpQ/s1600/toPrint.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNcvYjjGbzLHaSfI8M3Gng2cgnpGk6ls9Wkv2l9qaPVsIrW2DIZWAN7hkKwAf6dchJdI1jl5cIV0DiMAmR_t_qBwUqpQ7p_19zcWPGoLYq08SRwyCSd0jtc5Vi-g0fukwhoYZp4JDIpQ/s320/toPrint.png" width="215" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<br />
<b>(3) アイロンプリント用台紙を買ってくる</b></span><br />
<span style="font-family: Verdana, sans-serif;">Tシャツに絵を貼り付けるための台紙なんてものが家電量販店とかに売ってます。</span><br />
<span style="font-family: Verdana, sans-serif;">はがきサイズとかA4とか色々ありますが、今回の用途だとハガキサイズで十分です。</span><br />
<span style="font-family: Verdana, sans-serif;">僕はビックカメラで¥600ぐらいでした。</span><br />
<span style="font-family: Verdana, sans-serif;">Amazonでも売ってます:</span><br />
<span style="font-family: Verdana, sans-serif;"><iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kenkawakenken-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B000N8UV3K" style="height: 240px; width: 120px;"></iframe>
</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;"><b>(4) 印刷してアイロン付けする</b></span><br />
<span style="font-family: Verdana, sans-serif;">あとは台紙の使い方を読みながら印刷+アイロン付けしましょう。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPo6CRHOBgdo50k_QK40vFzIu4O9mMZKGxD6Bm3BP1mUB6upYi26miVdg4gW5XmirDUevYH2TmazMgoNLnY9rjO2iT5eNDaJ5NlmhMgSBoHgsiHTjmYDOOo7zSQA0JFZ0fE0fCJ8YitQ/s1600/P1210022.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPo6CRHOBgdo50k_QK40vFzIu4O9mMZKGxD6Bm3BP1mUB6upYi26miVdg4gW5XmirDUevYH2TmazMgoNLnY9rjO2iT5eNDaJ5NlmhMgSBoHgsiHTjmYDOOo7zSQA0JFZ0fE0fCJ8YitQ/s640/P1210022.jpg" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">こんな乙女感たっぷりの作業場になります</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br />
注意点としては:</span><br />
<ul>
<li><span style="font-family: Verdana, sans-serif;">台紙によっては反転させた絵が必要な場合もあるので気をつけましょう</span></li>
<li><span style="font-family: Verdana, sans-serif;">細い部分(釣り竿とか)は剥がれやすいので、念入りにアイロンがけして馴染ませましょう</span></li>
<li><span style="font-family: Verdana, sans-serif;">最適な貼り付け位置は、実際に自分で汗かいてみて汗の範囲に合わせるのがベストです。</span></li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTyGQTO9xEV0t1P8kOb3Gku4ccMaeGYV0pK036K9H7hRo6_72-BBET4pd8EROWOjWXXqZmVay0lbCH15U2ai9SVBTHUhjM3mUI1By96u9ZF6Vx10hAAAy2HqYby0a2Rji6GM-kDIk2lw/s1600/P1210067.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTyGQTO9xEV0t1P8kOb3Gku4ccMaeGYV0pK036K9H7hRo6_72-BBET4pd8EROWOjWXXqZmVay0lbCH15U2ai9SVBTHUhjM3mUI1By96u9ZF6Vx10hAAAy2HqYby0a2Rji6GM-kDIk2lw/s640/P1210067.jpg" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">最終的にこんな素敵なマイTシャツが出来上がります。洗濯も大丈夫らしいです。</span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">深夜のノリで作った割には可愛い仕上がりになりました。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">明日これを着て会社いってみようと思います。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br />
ネガティブな物は「対処」するよりも「むしろ好き」にする方法を考えたほうがしっくりする場合もある、という何だか人生訓のような気づきがありました。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">それではこの夏もポジティブに乗り切りましょう。</span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-24217763073638590802015-04-19T12:33:00.003+09:002015-07-05T19:27:14.302+09:002台持ちが捗るスマホケースをDMMで3Dプリントしてみた<span style="font-family: Verdana, sans-serif;">最近iPhoneとNexusを2台持ちしないといけなくなったので、こういうものを思いついて作ってみました:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIlxqu_ntX1KgbBrujccvmfxgvahTqy2ppjgPLCEPgjnys1Sf7uTzwk-HprmGMhKonHpPX3yyxVO9GoRDfTaotAg1sL6pg9_el2ojGSHRjaCVaIiFsHhW0fUMdvAdxW6V9N3VaVPteA/s1600/P1200019.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUIlxqu_ntX1KgbBrujccvmfxgvahTqy2ppjgPLCEPgjnys1Sf7uTzwk-HprmGMhKonHpPX3yyxVO9GoRDfTaotAg1sL6pg9_el2ojGSHRjaCVaIiFsHhW0fUMdvAdxW6V9N3VaVPteA/s1600/P1200019.jpg" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;">iPhoneとNexusを一体にできるスマホケースです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Nexusで本を読んでてiPhoneにメールが来たら、</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4wi03Inn9YwgIWe6YfqYixOQH4DVa0TmbfsclXV6mXFG-JZMMx20nhleWU4QK-lv4btERvkPeh30UW5SfyYNpmy0guai9bTuQM8CzdnBNsX2W2yw8O31Tt7U3BazkfmWcOp3k_N2rw/s1600/P1200022+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn4wi03Inn9YwgIWe6YfqYixOQH4DVa0TmbfsclXV6mXFG-JZMMx20nhleWU4QK-lv4btERvkPeh30UW5SfyYNpmy0guai9bTuQM8CzdnBNsX2W2yw8O31Tt7U3BazkfmWcOp3k_N2rw/s1600/P1200022+2.JPG" width="400" /></span></a></div>
<br />
<span style="font-family: Verdana, sans-serif;">くるっと回せばすぐに手元にiPhoneが。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibkG6CU-ggmasuCgT5qSlXUJ2BsKLXMbypzCyTH1e7tg7UiqB7yKRbOH0Gax-D642FoJOheqzXaPWy9-OcIiLcIbl2TjqnhKTkdPeiTD-A3MwRIWScSNDlA2iWA6yB9ceYgpa2VPgNRQ/s1600/P1200023+2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibkG6CU-ggmasuCgT5qSlXUJ2BsKLXMbypzCyTH1e7tg7UiqB7yKRbOH0Gax-D642FoJOheqzXaPWy9-OcIiLcIbl2TjqnhKTkdPeiTD-A3MwRIWScSNDlA2iWA6yB9ceYgpa2VPgNRQ/s1600/P1200023+2.JPG" width="400" /></span></a></div>
<span style="font-family: Verdana, sans-serif;">半分冗談のつもりで作ったのですが、通勤電車で2台操るのに便利で、かれこれ2週間以上使い続けてます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">ただし:</span><br />
<ul>
<li><span style="font-family: Verdana, sans-serif;">重い</span></li>
<li><span style="font-family: Verdana, sans-serif;">背面カメラもフラッシュも使えない</span></li>
<li><span style="font-family: Verdana, sans-serif;">片方充電してると両方縛られる</span></li>
<li><span style="font-family: Verdana, sans-serif;">どっちの通知が鳴ったのか一瞬分からない</span></li>
</ul>
<div>
<span style="font-family: Verdana, sans-serif;">など色々問題あるので、特殊な人以外邪魔だと思います。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><a href="http://make.dmm.com/item/236238/">ここ</a>にモデルを公開したので特殊な人は是非3Dプリントしてみてください。</span></div>
<br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif;">作り方</span></h2>
<span style="font-family: Verdana, sans-serif;"><a href="http://www.thingiverse.com/thing:485695">このiPhoneケースのモデル</a>と<a href="http://www.thingiverse.com/thing:333230/">このNexus 5ケースのモデル</a>をダウンロードして(「free iphone case model」とかでググる)、<a href="http://blender.org/">Blender</a>で雑にくっ付けて、</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaZGNaH5aWcEeG95Bul6QgyFWIHTVwD5J0rgyYVdya4qIfYUTFJmNTNhqj-MiDie0VMPor0SaA6MC30mMGF7t9OKZQHG-j66_OhWXJtEHW-tZ8M1sWNaNUqouen5JfGyxrAdufmYUz0A/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-07+23.21.21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaZGNaH5aWcEeG95Bul6QgyFWIHTVwD5J0rgyYVdya4qIfYUTFJmNTNhqj-MiDie0VMPor0SaA6MC30mMGF7t9OKZQHG-j66_OhWXJtEHW-tZ8M1sWNaNUqouen5JfGyxrAdufmYUz0A/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-07+23.21.21.png" width="400" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><a href="http://make.dmm.com/">DMM 3Dプリントサービス</a>で印刷しました。</span><br />
<span style="font-family: Verdana, sans-serif;">思いついてから15分で発注完了、送料込みで¥4500ぐらいです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">一週間後、こんな箱で来ました。わくわく。</span><br />
<span style="font-family: Verdana, sans-serif;">送り元は石川県です。秋葉原で印刷してるのかと思ってました・・・</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRIginWb-E9Qn95F2tR4Ge9tAOsTm2GrWS8hbYppYBY1OSG7UmzpH5Uibm1GNrzLfvLt4ipKpErlBfiZvtXiMKfjuWajco6adevbAuz0owHsxxa-PhTOfTamZ4TyuNgcQcQBSQPwQitw/s1600/box.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRIginWb-E9Qn95F2tR4Ge9tAOsTm2GrWS8hbYppYBY1OSG7UmzpH5Uibm1GNrzLfvLt4ipKpErlBfiZvtXiMKfjuWajco6adevbAuz0owHsxxa-PhTOfTamZ4TyuNgcQcQBSQPwQitw/s1600/box.jpg" width="640" /></span></a></div>
<br />
<span style="font-family: Verdana, sans-serif;">中の梱包はアットホーム。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNX9YruoQCwIJjcdakJObYk7EUcnAoSm97GvJMIiag3U29iWNsrOGtbXFqrqPpcXxsZkGa6c9WpL41hQSmj_NJOpv5QLNqFgenScIsraXJgceqjENIzjoabiJvTLoWF7NrQf2ZHM4Vxg/s1600/P1200011.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNX9YruoQCwIJjcdakJObYk7EUcnAoSm97GvJMIiag3U29iWNsrOGtbXFqrqPpcXxsZkGa6c9WpL41hQSmj_NJOpv5QLNqFgenScIsraXJgceqjENIzjoabiJvTLoWF7NrQf2ZHM4Vxg/s1600/P1200011.jpg" width="640" /></span></a></div>
<br />
<span style="font-family: Verdana, sans-serif;">ちゃんと印刷されてます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHdi0QuEaYAeQ7y5PHSIniWxbG9cx_u5_EIMRZX7fZab5_CYK8R2oToBqZ9N33O2xfA5EdtAsqo2mQzmnqF7W8A9LIzcxSp0RIkkmh4qMSA3hAcwvgnlOHtDcZDMHWfxpzJLQDqYPCKw/s1600/P1200012.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHdi0QuEaYAeQ7y5PHSIniWxbG9cx_u5_EIMRZX7fZab5_CYK8R2oToBqZ9N33O2xfA5EdtAsqo2mQzmnqF7W8A9LIzcxSp0RIkkmh4qMSA3hAcwvgnlOHtDcZDMHWfxpzJLQDqYPCKw/s1600/P1200012.jpg" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">完成です。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz0rNkgPa8Acgpm1I0moD3PFWtcwdWqpMyPbkxeN28hKPoxue0XKnEsxAhztb-uPRw0nmijB6G544-Dr0u6hygfZTkckJ4pS82zrLuW5V1WNoutJn8WCxLZBA3oRXKGgl8rTdSZyXZ6w/s1600/P1200018.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz0rNkgPa8Acgpm1I0moD3PFWtcwdWqpMyPbkxeN28hKPoxue0XKnEsxAhztb-uPRw0nmijB6G544-Dr0u6hygfZTkckJ4pS82zrLuW5V1WNoutJn8WCxLZBA3oRXKGgl8rTdSZyXZ6w/s1600/P1200018.jpg" width="640" /></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">今回作ったモデルは<a href="http://make.dmm.com/item/236238/">ここから</a>ダウンロードと印刷できるようになってます。是非お試しください。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">僕は手元に自分の機械を持ちたい派なので、3Dプリントのクラウドサービスって正直どうなんだろう?と最初思ってました。</span><br />
<span style="font-family: Verdana, sans-serif;">使ってみると、メンテナンスや印刷の管理他の手間が一切なく、モデルをアップロードするだけで一週間後に手元に届くというのはとても魅力的に感じます。</span><br />
<span style="font-family: Verdana, sans-serif;">こういう「ふと思いついたこと」を実現するまでのハードルを極限まで下げるサービスはどんどん活用していきたいですね。</span>kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-6156576460947022222015-04-05T19:00:00.001+09:002015-04-12T23:26:40.683+09:00山手線リアルタイム混雑情報で遊んでみよう<span style="font-family: Verdana, sans-serif;">去年から公開されてる「<a href="http://www.jreast-app.jp/">JR東日本アプリ</a>」ですが、機能の一つに「山手線トレインネット」というものがあります。</span><br />
<span style="font-family: Verdana, sans-serif;">これは山手線の各車両の現在位置、混雑状況、室内温が見えるというもので、</span><br />
<span style="font-family: Verdana, sans-serif;">座りやすい車両を探すのに便利だったりします。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPAS6wbN8gIU7QGTTAQazLax4dlelPhYxX_6xNRhmB6YVmW_dujpiiaZZMAnI4-TSJS9UZYlOffViP3IacaLAFiaTf8jL3QmKL3hWq3ey4PhSxNYddqlJBlRBk2UiLDYMK5sHKJvQ_TA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-05+17.33.25.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPAS6wbN8gIU7QGTTAQazLax4dlelPhYxX_6xNRhmB6YVmW_dujpiiaZZMAnI4-TSJS9UZYlOffViP3IacaLAFiaTf8jL3QmKL3hWq3ey4PhSxNYddqlJBlRBk2UiLDYMK5sHKJvQ_TA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-05+17.33.25.jpg" height="358" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">山手線トレインネットから取得した車両位置と混雑率</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">電車の運行情報が</span><span style="font-family: Verdana, sans-serif;">ここまで時間粒度細かく公開されているのは世界的にも珍しいので、特に目的も無しにデータをクローリングして遊んでみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h3>
<span style="font-family: Verdana, sans-serif;">データをクローリングする</span></h3>
<span style="font-family: Verdana, sans-serif;">まずは山手線トレインネットの車両位置・混雑情報をクローリングします。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidxNT3McQfqcf9vn51XMICYWHaLRwuSLF4O3K5EjEvUOzflFBfxFYHuT5G3jiyGrsLtoVNo2G5x2AfgSZKHb8GhyphenhyphenpxgOAJM3RZ0Jklcn17Fd4mgnd8PtCBaJtODNwNNoM0i9pfHi9vIQ/s1600/IMG_9563.PNG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidxNT3McQfqcf9vn51XMICYWHaLRwuSLF4O3K5EjEvUOzflFBfxFYHuT5G3jiyGrsLtoVNo2G5x2AfgSZKHb8GhyphenhyphenpxgOAJM3RZ0Jklcn17Fd4mgnd8PtCBaJtODNwNNoM0i9pfHi9vIQ/s1600/IMG_9563.PNG" height="200" width="112" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">JR東日本アプリの山手線トレインネット。</span><br />
<span style="font-family: Verdana, sans-serif;">今の車両内の混雑や室内温が見える。すごい!</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">「山手線トレインネット」はブラウザから見えるページが存在しない、iPhone/Androidアプリ専用の画面です。</span><br />
<span style="font-family: Verdana, sans-serif;">なので普段の「FirebugでAJAXの通信を見てAPIをリバースエンジニアリング」ほど簡単な作業ではありませんが、<a href="http://sourceforge.net/projects/paros/"><b>こういうツール</b></a>を使えば難なく通信が読めます。</span><br />
<span style="font-family: Verdana, sans-serif;">これでAPIを解析して、一定間隔で車両情報を取得するクローラーを作りました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h3>
<span style="font-family: Verdana, sans-serif;">とりあえず可視化してみよう</span></h3>
<span style="font-family: Verdana, sans-serif;">とりあえず、ある1日の車両の動きと混雑状況をアニメーションにしてみました。</span><br />
<span style="font-family: Verdana, sans-serif;">動いている四角が一本の電車、四角の中の色が各車両の混雑を表しています。(青:混雑無し 赤:身動きがとれない程度)</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/uV2JlerRNlg/0.jpg" frameborder="0" height="266" src="http://www.youtube.com/embed/uV2JlerRNlg?feature=player_embedded" width="320"></iframe></span></div>
<span style="font-family: Verdana, sans-serif;">見所としては:</span><br />
<span style="font-family: Verdana, sans-serif;">・8時あたりからの朝のラッシュ</span><br />
<span style="font-family: Verdana, sans-serif;">・12時あたりに一旦電車が止まる。<a href="https://twitter.com/train_yamanote/status/583826370922352640">湘南新宿ラインの線路支障の影響で一時運転見合わせ</a>があったそうです。</span><br />
<span style="font-family: Verdana, sans-serif;">・18時あたりから帰宅ラッシュ →朝のラッシュほどじゃないですね。</span><br />
<span style="font-family: Verdana, sans-serif;">・23時以降:徐々に本数が減っていきます。</span><br />
<span style="font-family: Verdana, sans-serif;">あまり情報量はないですが、ウニョウニョしてて可愛いですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h3>
<span style="font-family: Verdana, sans-serif;">混雑の傾向を見てみよう</span></h3>
<div>
<span style="font-family: Verdana, sans-serif;">もう少し社会の役に立ちそうな解析をしてみましょう。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">せっかく混雑の情報があるので、時間帯毎や車両毎の傾向を見てみました。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">こちらは、4月2日(金)の時間帯毎・駅毎の混雑率です:</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJPcwBAU911k-AWi6b-Ny9g8pmZMiSOgE4CpOz6Do35DVrWLR9UeoR6lA3Cx2SIY8RzdiY5_XKmFKKUjEg75oQdSxnGIvShXzmO5OtSJkkTOZjURvCWJPAJCfSMtgKQ1teqIoioEEgkQ/s1600/yamanote_4_2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJPcwBAU911k-AWi6b-Ny9g8pmZMiSOgE4CpOz6Do35DVrWLR9UeoR6lA3Cx2SIY8RzdiY5_XKmFKKUjEg75oQdSxnGIvShXzmO5OtSJkkTOZjURvCWJPAJCfSMtgKQ1teqIoioEEgkQ/s1600/yamanote_4_2.png" height="268" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">山手線・2015年4月2日の駅毎混雑率</span></td></tr>
</tbody></table>
<div>
<span style="font-family: Verdana, sans-serif;">・朝のラッシュは7時手前から8時過ぎまで続いてますね。この時間帯を外せばあまり混雑の影響を受けなくて済むかもしれません</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・内回りは帰宅ラッシュがあまり見られません。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・外回りでも17時〜18時半あたりに引っ掛からなければ、あまり混雑しないかもしれません。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">というわけで(僕はあまり山手線に乗らないので実態はよく知らないですが)山手線は朝のラッシュさえ避ければそんなに酷い目には合わなそうです。</span></div>
<div>
<h3>
<span style="font-family: Verdana, sans-serif;"><br /></span></h3>
<h3>
<span style="font-family: Verdana, sans-serif;">じゃあ朝のラッシュ時はどの車両に座ればいいの?</span></h3>
</div>
<div>
<span style="font-family: Verdana, sans-serif;">朝のラッシュの時間帯を避けられないんだとすると、せめて空いている車両に座りたいですよね。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">山手線トレインネットは混雑率が車両毎に分かるので、最適な乗車位置を計算してみましょう。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">とりあえず朝8時〜9時の各駅出発時の平均混雑率を車両毎に見てみます:</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxtspeCTtUd3bKj4WiWx-62LT_JTXry9QUlm7WXmMQCZiMSmZRf3Wq84YMqcIphvu2bCa3uZrfmYo3TIwifUNwGPhLASbhkxbH3oD4nCB2-hkAhJ39MaevDD6GfXWaSuZlLxu6WxdtA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-05+18.34.21.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYxtspeCTtUd3bKj4WiWx-62LT_JTXry9QUlm7WXmMQCZiMSmZRf3Wq84YMqcIphvu2bCa3uZrfmYo3TIwifUNwGPhLASbhkxbH3oD4nCB2-hkAhJ39MaevDD6GfXWaSuZlLxu6WxdtA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-04-05+18.34.21.png" height="344" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">2015/3/29~2015/4/2 8時~9時の各駅出発時の車両毎平均混雑率</span></td></tr>
</tbody></table>
<div>
<span style="font-family: Verdana, sans-serif;">大まかに、「外回りのときは先頭車両(1号車)、内回りの時は後方車両(1号車)」が空いている」気がしますね。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">人気駅(東京とか)の階段位置とか関係するんでしょうかね。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">唯一、外回りの新大久保付近は真ん中付近のほうが空いているようです。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">このデータに基づいて、「ここからここに行く時にどの車両に乗ればいいの?」早見表を作ってみました。</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5G9Q5S0J3ABDnTGtxCZlbV032VRo5I_tSOxysFFM8h5ivgR9tRNHCb3bBy41evDjDnBEPFgRUHM2FayxtZLufpRCCNVoQj2AU7EwqZzCevNn68DOTRAr6TLxcm3rCcOXN935S6zbLkQ/s1600/yamanote_hayami.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5G9Q5S0J3ABDnTGtxCZlbV032VRo5I_tSOxysFFM8h5ivgR9tRNHCb3bBy41evDjDnBEPFgRUHM2FayxtZLufpRCCNVoQj2AU7EwqZzCevNn68DOTRAr6TLxcm3rCcOXN935S6zbLkQ/s1600/yamanote_hayami.png" height="522" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">平日8時~9時の駅間毎最適乗車車両早見表。数字は号車、色は平均混雑率。移動方向(内回り・外回り)は最短経路を選択した場合。</span></td></tr>
</tbody></table>
<div>
<span style="font-family: Verdana, sans-serif;">ほとんどのケースで1号車に乗れば、朝のラッシュ時でもさほど混雑を感じずにすみそうです。</span><br />
<span style="font-family: Verdana, sans-serif;">新宿→新大久保だけは、どうしても混むようです。時間を避けたほうがいいかもしれませんね。</span><br />
<span style="font-family: Verdana, sans-serif;">ちなみにこれは「平均混雑率」を最適化した場合なので、例えば「混雑率60%以上の時間が一番短いように」などの基準が欲しい場合はまた違う結果になるかもしれません。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<h3>
<span style="font-family: Verdana, sans-serif;">あとがき</span></h3>
</div>
<div>
<span style="font-family: Verdana, sans-serif;">・朝の山手線は1号車に乗ろう。</span><br />
<span style="font-family: Verdana, sans-serif;">・中央線のデータも早く出して欲しいな。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・APIを難読化してないJRは超素敵。</span><br />
<span style="font-family: Verdana, sans-serif;"> (このデータ公開するのって色んな人怒らせる可能性あるけど、怒らないでくれるといいなあ。)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><i>追記:4月12日に山手線が9時間半止まったトラブルの時の電車の動きがすごい!</i></span><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/pqoGrJk46mM/0.jpg" frameborder="0" height="266" src="http://www.youtube.com/embed/pqoGrJk46mM?feature=player_embedded" width="320"></iframe></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<hr />
<h3>
<span style="font-family: Verdana, sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/03/140.html">140文字の「重み」を言語毎に比較してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html">世界で一番住みやすい場所を計算してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しが難しすぎたので大人の力で解決した</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html">Topcoderに一番有利な時間帯を調べてみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html">Wikipediaのデータで人生解析をしてみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html">明日の天気を過去の似た日から合成して可視化してみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-4467127608778966152015-03-29T18:01:00.000+09:002015-04-05T21:40:31.928+09:00140文字の「重み」を言語毎に比較してみた<span style="font-family: Verdana, sans-serif;">最近<a href="http://tempescope.com/">tempescope</a>のアナウンスのため英語でツイートする機会が多くなったのですが、</span><br />
<span style="font-family: Verdana, sans-serif;">日本語なら140文字制限内に詰め込める内容が、英語だと入りきらずにモヤモヤすることがあります。</span><br />
<span style="font-family: Verdana, sans-serif;">英語は表音文字なので当然ですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
そこで140文字制約の中では日本語がどれぐらい多く喋れるのか、機械翻訳を使って検証してみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">方法</span></h2>
<span style="font-family: Verdana, sans-serif;">今回の検証では「<b>各言語で書かれたツイートを英語で書いた場合、何文字分になるか</b>」を計算することで、各言語の「密度」を評価します。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h4>
<span style="font-family: Verdana, sans-serif;">(1) TwitterのストリームAPIで三日分ぐらいのツイートを取得</span></h4>
<span style="font-family: Verdana, sans-serif;">「140文字で詰め込める量がどれぐらいか」を評価したいので、長め(120文字以上)のツイートだけを収集しました。</span><br />
<span style="font-family: Verdana, sans-serif;">短いツイートは文字数制限を意識しない冗長な文法が使われがちなため「140文字に詰め込める内容はいくらか」という趣旨に合わないと考えたからです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
またリンクが含まれるツイート、@~~やRTの文字が含まれるツイートは排除し、312万件のツイートを取得しました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h4>
<span style="font-family: Verdana, sans-serif;">(2) 英語に翻訳</span></h4>
<span style="font-family: Verdana, sans-serif;"><a href="https://translate.google.com/">某機械翻訳サイト</a>を使い、各言語のツイートを最大1200件ずつ翻訳して</span><br />
<span style="font-family: Verdana, sans-serif;">「英語で書いた場合文字数が何倍になるか」を表す「相対密度」を計算しました。</span><br />
<span style="font-family: Verdana, sans-serif;">例えばこんなツイートなら:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO5GxQPZEgybtGUykPJw5ajtdqODItBeHBYI3SeaDnLBaO_eUlt3woDt_-f0tROIhkM9sFcTeoXX37rDhDpYHlxz4OkRTO7u08zIZV0Kh0lZQD5bmkx7ef9PN1cqFckCWEXrtDhekJxw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+15.51.39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiO5GxQPZEgybtGUykPJw5ajtdqODItBeHBYI3SeaDnLBaO_eUlt3woDt_-f0tROIhkM9sFcTeoXX37rDhDpYHlxz4OkRTO7u08zIZV0Kh0lZQD5bmkx7ef9PN1cqFckCWEXrtDhekJxw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+15.51.39.png" height="86" width="400" /></span></a></div>
<span style="font-family: Verdana, sans-serif;">日本語は14文字、英語だと30文字なので、相対密度は30/14=2.14倍です。</span><br />
<span style="font-family: Verdana, sans-serif;">このツイートでは日本語1文字に対して英語2.14文字分の内容が含まれる、と解釈します。</span><br />
<span style="font-family: Verdana, sans-serif;"><span style="font-size: x-large;"><br /></span>
<span style="font-size: x-large;">結果</span></span><br />
<span style="font-family: Verdana, sans-serif;">以下のグラフに言語毎の相対密度(平均,分散)を示しています。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4zpaiOjD-iWCTG7iLwfIRfqv4580srrBgaEtCiqh0CcgNCfjpo6zgZBXNP8cS_2fd3MyBNGb5Gpa3yLIL3p3VGCA7gNZT0A4Tf0l2gTTCdsZ3rzlj5QX2m-yd7Jssp7QaWF-KsflvPg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+9.41.07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4zpaiOjD-iWCTG7iLwfIRfqv4580srrBgaEtCiqh0CcgNCfjpo6zgZBXNP8cS_2fd3MyBNGb5Gpa3yLIL3p3VGCA7gNZT0A4Tf0l2gTTCdsZ3rzlj5QX2m-yd7Jssp7QaWF-KsflvPg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+9.41.07.png" height="495" width="640" /></a></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<h4>
<span style="font-family: Verdana, sans-serif;">翻訳された文章が長いんじゃないの?っていうツッコミに対して</span></h4>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">ちなみに何故グラフの中に「英語」が入っているかというと、「翻訳による効果がどれぐらいか」を確認するためです。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">機械翻訳の結果は「ツイートっぽい文章」ではないので、無駄に長い英語が作られる懸念があります。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">そこで英語のツイートを「英語→日本語→英語」の順番で英語に翻訳しなおし、その長さの変化を↑の「英語(reference)」として示しました。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">平均相対密度が1.01倍なので、翻訳結果が無駄に長い、ということは無いっぽいです。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<h4>
<span style="font-family: Verdana, sans-serif;">CJKすげぇ</span></h4>
<span style="font-family: Verdana, sans-serif;">中国語・日本語・韓国語の密度が圧倒的です。</span><br />
<span style="font-family: Verdana, sans-serif;">中国語で1ツイートで書ける内容は、英語では最大4ツイート必要となります。</span><br />
<span style="font-family: Verdana, sans-serif;">このへんは文字数の多い言語なので意外性はあまり無いですが、改めて数字にしてみると凄いですね。</span><br />
<span style="font-family: Verdana, sans-serif;">日本語のほうがツイッターで色々言える、というのは錯覚ではなさそうです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h4>
<span style="font-family: Verdana, sans-serif;">フランス語が薄い</span></h4>
<span style="font-family: Verdana, sans-serif; font-size: x-small;">(すみません、<a href="https://twitter.com/kenkawakenkenke/status/581448565957898241">最初アップしたグラフ</a>は少し計算を間違えていて、特定の言語を過小評価していました。)</span><br />
<span style="font-family: Verdana, sans-serif;">フランス語は密度が英語と比べて0.87倍。フランス語で英語と同じことを言うためには1.14倍多く書かないといけません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
じゃあフランス人のほうが1.14倍長めのツイートしているのかというと、そういうわけでもなさそうです。</span><br />
<span style="font-family: Verdana, sans-serif;">以下のグラフは、各言語におけるツイートの長さの頻度分布を示しています:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU258knkQC-CTGJXaqODyVQNTfUaWLDq3hhqZRYueBB8PLbKMgHqeW_U-MISf6p4g57quaM3yP__8CvXgrYuHxFe8hyphenhyphenOhFtIPBvQS0UEPvdiHKQJvzKIBmY3C49TAlCSU-c17LmWWEBw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+17.22.28.png" height="344" style="margin-left: auto; margin-right: auto;" width="640" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">英語・フランス語・日本語のツイート長の頻度分布</span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU258knkQC-CTGJXaqODyVQNTfUaWLDq3hhqZRYueBB8PLbKMgHqeW_U-MISf6p4g57quaM3yP__8CvXgrYuHxFe8hyphenhyphenOhFtIPBvQS0UEPvdiHKQJvzKIBmY3C49TAlCSU-c17LmWWEBw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+17.22.28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
英語とフランス語の頻度分布はほぼ同じ形、最頻長は両者とも25文字程度です。</span><br />
<span style="font-family: Verdana, sans-serif;">文字毎の内容の密度が低いのに長さが同じということは、</span><br />
<span style="font-family: Verdana, sans-serif;">「短いツイートでは文法の特性がちょっと違う」のかもしれないですし、「フランス人はちょっと内容が薄めの事を言ってる」のかもしれません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ちなみに日本語の最頻長は12文字なので、ちゃんと言語の密度が濃い分少ない文字数を使っているようです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
また日本語の59文字以上のツイートは英語では1ツイートでは言えません。</span><br />
<span style="font-family: Verdana, sans-serif;">59文字以上のツイートは日本語ツイートの15%です。</span><br />
<span style="font-family: Verdana, sans-serif;">つまり<b>日本語のツイートの15%は「日本語だから言えた内容」</b>なわけです。(まあ連続ツイートすりゃいいんですが)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<br />
<span style="font-size: x-large;">まとめ</span></span><br />
<h4>
<span style="font-family: Verdana, sans-serif;">UXデザインは多様性を考えよう</span></h4>
<span style="font-family: Verdana, sans-serif;">日本語優秀!フランス語アホ!とか言うつもりはなくて、UXデザインの観点から面白いと思いました。</span><br />
<span style="font-family: Verdana, sans-serif;">当初「140文字制限」を設けた時は、あくまで「つぶやき」を集めるツールとしてデザインしたのでしょう。</span><br />
<span style="font-family: Verdana, sans-serif;">それが(わざとか敢えてか知りませんが)言語の違いを考慮せず仕様を刻まなかった結果、国や文化によって違う使い方が</span><span style="font-family: Verdana, sans-serif;">されるツールに育ちました。</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">(今回はツイートの中身までは解析してないので何とも言えませんが、日本語ユーザのほうが「濃い」内容を書いている、かもしれません。)</span><br />
<span style="font-family: Verdana, sans-serif;">「こういう使い方をしてもらいたい」と考えて決めた仕様は、最終的なユーザの多様性を考えないと想定外の使い方をされてしまう、というわかりやすい例ですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h4>
<span style="font-family: Verdana, sans-serif;">そのうちやること</span></h4>
<span style="font-family: Verdana, sans-serif;">・連投って言語毎にどれぐらい行われるんだろう?</span><br />
<span style="font-family: Verdana, sans-serif;">・実際に話している内容を言語毎に見たら違いはあるのかな?例えばフランス語は「腹減った」ぐらいしか言ってない、とか。</span><br />
<span style="font-family: Verdana, sans-serif;">・ツイッター普及率と関係するのだろうか?少なくとも言語毎の相対密度と総ツイート数はあまり関係なさそう:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBckp7Dcxkt-lnyf1KJfWY6jQToJsqq93MVg4CQDD-0PjlYo-Y0pDMfPZThrt4jADdyro93x4aqPghYYZiD9Z2A7VgxqYQO9mVbbowmxlBZbJrH-jZJpa8JIKGA46RImlsVZHsKnbttQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+18.22.49.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBckp7Dcxkt-lnyf1KJfWY6jQToJsqq93MVg4CQDD-0PjlYo-Y0pDMfPZThrt4jADdyro93x4aqPghYYZiD9Z2A7VgxqYQO9mVbbowmxlBZbJrH-jZJpa8JIKGA46RImlsVZHsKnbttQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2015-03-29+18.22.49.png" height="346" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">言語毎の平均相対密度vsツイート数</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span><br />
<hr />
<h3>
<span style="font-family: Verdana, sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">山手線リアルタイム混雑情報で遊んでみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html">世界で一番住みやすい場所を計算してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しが難しすぎたので大人の力で解決した</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html">Topcoderに一番有利な時間帯を調べてみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html">Wikipediaのデータで人生解析をしてみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- </span><a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html" style="font-family: Verdana, sans-serif;">明日の天気を過去の似た日から合成して可視化してみよう</a><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span><br />
<br />kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-91014030706217252192015-01-04T12:19:00.000+09:002015-01-04T14:23:19.717+09:00Hardware Protoyping Speed Test: Phidgets vs Arduino<span style="font-family: Verdana, sans-serif;">I recently had a chance to play around with <a href="http://www.phidgets.com/">Phidgets</a>, which is yet another hardware prototyping kit.</span><br />
<span style="font-family: Verdana, sans-serif;">I've always considered Arduino as sufficient, so why would I ever want to take on a new prototyping kit?</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFTMXxf99pqsEdw97eJrS3hA_0GeQY1mmAnoiyGd8bZyvncUIldFp9yS3KY8_ysA4mZ3qr3CtLVrPMP2pNW5eOS6cz7WxLY260vElhAyzlANPCMR9qDaBypnIWMo_mERDkax3QKIGIsA/s1600/P1190357.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFTMXxf99pqsEdw97eJrS3hA_0GeQY1mmAnoiyGd8bZyvncUIldFp9yS3KY8_ysA4mZ3qr3CtLVrPMP2pNW5eOS6cz7WxLY260vElhAyzlANPCMR9qDaBypnIWMo_mERDkax3QKIGIsA/s1600/P1190357.JPG" height="480" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">The standard Phidgets I/O board</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">The website claims a "quick" and "easy to use" set of sensors and controllers to "get projects finished on time".</span><br />
<span style="font-family: Verdana, sans-serif;">If Phigets can provide a faster development iteration loop, which I believe is the single most important thing in hardware development, that may be enough of a reason to switch over.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">In this article, I will implement 3 standard hardware prototypes, and compare their implementation speeds using Phidgets and Arduino.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">What is Phidgets?</span></h2>
<span style="font-family: Verdana, sans-serif;">The biggest different between Phidgets and other prototyping kits is that the Phidgets controller itself isn't programmable.</span><br />
<span style="font-family: Verdana, sans-serif;">Instead, you connect Phidgets (proprietary) sensors to the I/O board (pictured above), which connects to a PC. You can use high-level programming languages (Java/C++/etc) to directly control the sensors/actuators.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Some characteristics of Phidgets include:</span><br />
<span style="font-family: Verdana, sans-serif;"><b>Simplicity+Speed</b> →No need to mess around with resistors and current calculations, just plug-in the components and you're ready to go.</span><br />
<span style="font-family: Verdana, sans-serif;"><b>Connectivity</b> →You're working on your PC from the start, so I've found that connecting your newly made hardware to other programs/network is very simple.</span><br />
<span style="font-family: Verdana, sans-serif;"><b>(Really) expensive</b> →You have to use the components provided by Phidgets to take advantage of the two points stated above. The components are modularized (to enable the plug-in capability), making them <a href="http://www.phidgets.com/products.php?category=37">very expensive</a>.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">Speed Tests!</span></h2>
<span style="font-family: Verdana, sans-serif;">I compared Arduino and Phidgets by implementing 3 very simple prototypes:</span><br />
<span style="font-family: Verdana, sans-serif;">#1 Blink →Just blinking an LED</span><br />
<span style="font-family: Verdana, sans-serif;">#2 Servos →Using a potentiometer to control a servo</span><br />
<span style="font-family: Verdana, sans-serif;">#3 Pedometer →Using an accelerometer to count steps, and display it on an LED array</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Here's a video showing the implementation, side-by-side:</span><br />
<span style="font-family: Verdana, sans-serif;"><iframe allowfullscreen="" frameborder="0" height="405" src="//www.youtube.com/embed/j0kXaKjxRj4" width="720"></iframe><br />
<br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#1 Blink</span></h2>
<span style="font-family: Verdana, sans-serif;">The LEDs are made to blink with 500ms period.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AuBRHxCHdlMvkv8mv-vGEIzqWA3-hPDq3jCmEjJNMJFUYv4xiORmynm-hoyHdEI4tcG646j5oaC_T4SQtZ-BTYzfmFLnvwFRXQyAEOBfz49Unm3lN4OiYC1N6CsiiUEpMG7QToIDrA/s1600/P1190354.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AuBRHxCHdlMvkv8mv-vGEIzqWA3-hPDq3jCmEjJNMJFUYv4xiORmynm-hoyHdEI4tcG646j5oaC_T4SQtZ-BTYzfmFLnvwFRXQyAEOBfz49Unm3lN4OiYC1N6CsiiUEpMG7QToIDrA/s1600/P1190354.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b><span id="goog_2071175578"></span><span id="goog_2071175579"></span>■Implementation details</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-blink-ino">Arduino source</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-blink-java">Phidgets source</a></span><br />
<span style="font-family: Verdana, sans-serif;">
<br />
<b>■Time to implement</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">1m 44s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">1m 11s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Not a complete landslide, but implementation with Phidgets was 30 seconds faster.</span><br />
<span style="font-family: Verdana, sans-serif;">Arduino had the handicap of needing resistors on the LED, which Phidgets doesn't need.</span><br />
<span style="font-family: Verdana, sans-serif;">However, the output pin on Phidgets needed a screw driver to fix, which was more work than I'd expect from a rapid prototyping kit...</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■Cost</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $24(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: $80(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Even the standard Phidgets board is very expensive.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#2 Servos</span></h2>
<span style="font-family: Verdana, sans-serif;">Here, we let users change the position of the servo by rotating the potentiometer.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6QhVrmRY6_YUExzIzu98AkqTxJow5IJBSE8-WrhZXt2MeYsvp50QfrDxYlivSEv8bCgoxI3MPWSzf0EcLZVRQrQI1_l5fZNXHB6prP3daOje21QaCVoGWqorzsyvetRhE7m6OyN6chg/s1600/P1190360.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6QhVrmRY6_YUExzIzu98AkqTxJow5IJBSE8-WrhZXt2MeYsvp50QfrDxYlivSEv8bCgoxI3MPWSzf0EcLZVRQrQI1_l5fZNXHB6prP3daOje21QaCVoGWqorzsyvetRhE7m6OyN6chg/s1600/P1190360.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b>■Implementation details</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-servo-ino">Arduino source</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-servotest-java">Phidgets source</a></span><br />
<span style="font-family: Verdana, sans-serif;">On both of the implementations, we are receiving the potentiometer readings as analog input, converting it to angles, and sending it to the servo.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■Time to implement</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">6m 07s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">3m 20s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Phidgets took about half the time of Arduino.</span><br />
<span style="font-family: Verdana, sans-serif;">Most of this is because Arduino couldn't power the servo, so I needed to add an external power supply.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">In terms of software, the Phidgets Java SDK lets you write in an event-driven fashion which I personally like.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■Cost</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $37(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>, <a href="http://www.marutsu.co.jp/pc/i/18783/">Servo S03T</a>, Potentiometer)</span><br />
<div>
<span style="font-family: Verdana, sans-serif;">Phidgets: $139(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>, <a href="http://www.phidgets.com/products.php?category=11&product_id=1066_1">Servo Controller,</a> <a href="http://www.phidgets.com/products.php?category=22&product_id=3000_1">Servo</a>, <a href="http://www.phidgets.com/products.php?category=7&product_id=1052_0">Rotary Encoder</a>)</span><br />
<div>
<span style="font-family: Verdana, sans-serif;"><br />Adding sensors and switches really ups the cost of Phidgets prototyping.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#3 Pedometer</span></h2>
<span style="font-family: Verdana, sans-serif;">Here, we use an accelerometer to detect walking, and count the footsteps which we display on an LED array.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpivGTFkpMwnj3kDgrrBlzvspGnkCR29jfffiNcN6HocORbXtwoiD_HeTir_x66SIiO-bifQCvNtR3kSGptQeHy8JZukTmGiCuNPgsx6YLnf4vHe-jXxA2-H-XEn7SbKa2I_7hda1iYw/s1600/P1190370.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpivGTFkpMwnj3kDgrrBlzvspGnkCR29jfffiNcN6HocORbXtwoiD_HeTir_x66SIiO-bifQCvNtR3kSGptQeHy8JZukTmGiCuNPgsx6YLnf4vHe-jXxA2-H-XEn7SbKa2I_7hda1iYw/s1600/P1190370.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b>■Implementation details</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-pedometer-ino">Arduino source</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-pedometer-java">Phidgets source</a></span><br />
<span style="font-family: Verdana, sans-serif;">I implemented a very simple high-pass filter. I calculate the power: </span><span style="font-family: Verdana, sans-serif;">sqrt(x^2+y^2+z^2), determine its moving average, subtract it from the power, and detect zero-crossings of the high-passed power.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /><b>■Time to implement</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">13m 45s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">10m 15s</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">Implementing the walking detection was considerably faster on Phidgets, but adding the LED array took very long, resulting in a very dull result.</span><br />
<span style="font-family: Verdana, sans-serif;">(Without the LED array, it only took 4 minutes to implement a pedometer on Phidgets.)</span><br />
<span style="font-family: Verdana, sans-serif;">While I only needed to plug the accelerometer into the USB port in Phidgets, I had to Google the pin layouts of the accelerometer module for Arduino.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">On the software side, the strength of being able to program using a high-level programming language on Phidgets really showed.</span><br />
<span style="font-family: Verdana, sans-serif;">I was able to use various (self-made) utility libraries to speed up the implementation:</span><br />
<span style="font-family: Verdana, sans-serif;">a moving average calculator class which makes calculating moving averages a one-liner,</span><br />
<span style="font-family: Verdana, sans-serif;">a graph drawing toolkit that let me visualize and debug the accelerometer output</span><br />
<span style="font-family: Verdana, sans-serif;">The time spent programming was a clear win for Phidgets: (Phidgets: 3 mins Arduino: 6 mins)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /><b>■Cost</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $31(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>, <a href="http://akizukidenshi.com/catalog/g/gM-05153/">Accelerometer</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: $150(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>, <a href="http://www.phidgets.com/products.php?category=5&product_id=1042_0">PhidgetSpatial 3/3/3 Sensor</a>)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Just to press home the point, Phidgets is expensive.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">Results</span></h2>
<span style="font-family: Verdana, sans-serif;">Just looking at the implementation speed, Phidgets was faster on all 3 tests.</span><br />
<span style="font-family: Verdana, sans-serif;">There were some (good and bad) characteristics of Phidgets that were made apparent in the tests:</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;"><b>■Good things about Phidgets</b></span></h2>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>1. Very fast hardware construction</b></span><br />
<span style="font-family: Verdana, sans-serif;">As long as we stay in the realm of what Phidgets provide as modular components, prototyping hardware in Phidgets is <b>very</b> fast.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>2. Lets you use various software resources</b></span><br />
<span style="font-family: Verdana, sans-serif;">In the third test, I was struck by how enabling it is to be able to use the various Java utility libraries that I'd accumulated over time, in a hardware prototyping setting.</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets makes hardware prototyping as easy as writing quick and dirty scripts on your PC.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>3. No knowledge of electronics needed</b></span><br />
<span style="font-family: Verdana, sans-serif;">As far as I've played around with (which isn't much), Phidgets seems to let you prototype hardware with very limited knowledge of electronics. This may be very beneficial for programmers who have no experience in hardware.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">■Bad things about Phidgets</span></h2>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>1. Difficult to build stand-alone gadgets</b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets needs to be controlled by a PC, which means that its difficult to build portable/wearable devices.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>2. Not simple enough</b></span><br />
<span style="font-family: Verdana, sans-serif;">Why do I need a screw driver on a prototyping board?</span><br />
<span style="font-family: Verdana, sans-serif;">I don't think the designers really thought what it means to do rapid prototyping.</span><br />
<span style="font-family: Verdana, sans-serif;">The fact that I need to use a breadboard for a simple task as making an LED array (in task #3) is disappointing.</span><br />
<span style="font-family: Verdana, sans-serif;">People should be able to prototype with their bare hands. (no screw drivers, no breadboards, no jumpers)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>3. Doesn't scale</b></span><br />
<span style="font-family: Verdana, sans-serif;">The good thing about Arduino is that the more you improve your prototype, the closer you get to a product.</span><br />
<span style="font-family: Verdana, sans-serif;">With Phidgets, at some point you will need to redesign your hardware, and convert everything you made into "proper" electronics (which won't be a problem if you're happy with only having one copy of your hardware.)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>4. Expensive</b></span><br />
<span style="font-family: Verdana, sans-serif;">In the tests above, the prototypes using Phidgets was 3~5 times as expensive as Arduino.</span><br />
<span style="font-family: Verdana, sans-serif;">This means that people can't really buy a new Phidgets board for each project, so you need to take everything apart before you start a new project.</span><br />
<span style="font-family: Verdana, sans-serif;">The use cases for which this is OK is fairly limited (discussed below).</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">Summary</span></h2>
<span style="font-family: Verdana, sans-serif;">There are several situations where I thought using Phidgets would be perfect.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
・<b>Have a set in your meeting room/brainstorming room</b></span><br />
<span style="font-family: Verdana, sans-serif;">Why not have a Phidgets set lying around in your meeting room?</span><br />
<span style="font-family: Verdana, sans-serif;">The speed at which Phidgets lets you create prototypes means that you can probably make prototypes in the middle of a brainstorming session.</span><br />
<span style="font-family: Verdana, sans-serif;">This would be a fantastic alternative to drawing pictures or building mocks with LEGOs,</span><br />
<span style="font-family: Verdana, sans-serif;">and the downsides of Phidgets portrayed above aren't so critical if the prototypes only need to last for 20 minutes.</span><br />
<span style="font-family: Verdana, sans-serif;">(I would like point (2) above to be fixed before I buy a set for my meeting room though...)</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">
・<b>When every second counts</b></span><br />
<span style="font-family: Verdana, sans-serif;">There are times when you need to build a working prototype as fast as is conceivably possible, like in a hackathon, or if you need to show your boss that the idea he's about to present to the board in an hour just doesn't work. (it's happenned.)</span><br />
<span style="font-family: Verdana, sans-serif;">It may be good to have these things lying around as part of your arsenal.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
・<b>If you're a programmer who's intent on not learning electronics</b></span><br />
<span style="font-family: Verdana, sans-serif;">I think it's great as a communication tool for programmers who have no skill (or intent on learning) electronics to show their ideas to hardware developers in the team, who may happily implement it on a more robust platform.</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<span style="font-family: Verdana, sans-serif;">I would say that for someone who just wants to start learning electronics now (including children), I'd suggest something else (e.g Arduino). However, t</span><span style="font-family: Verdana, sans-serif;">he various characteristics of Phidgets do make them fabulous for certain situations.</span><br />
<br />
<span style="font-family: Verdana, sans-serif;">If you want to play around with Phidgets, try buying the two kits below:</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a> →standard I/O board for connecting the sensors to your PC</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.phidgets.com/products.php?category=18&product_id=2003_5">Phidgets Starter Kit #1</a> →kit containing various Phidgets compliant sensors.</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com1tag:blogger.com,1999:blog-2931113489513736946.post-47731678938907952852015-01-04T10:27:00.001+09:002015-01-04T12:19:33.773+09:00ハード開発スピードテスト:ArduinoとPhidgetsを比較してみた三本勝負<span style="font-family: Verdana, sans-serif;">こんにちは。河本です。</span><br />
<span style="font-family: Verdana, sans-serif;">ハードウェアのプロトタイピングというと<a href="http://arduino.cc/">Arduino</a>が有名ですが、最近<a href="http://www.phidgets.com/">Phidgets</a>という開発環境を入手しました。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFTMXxf99pqsEdw97eJrS3hA_0GeQY1mmAnoiyGd8bZyvncUIldFp9yS3KY8_ysA4mZ3qr3CtLVrPMP2pNW5eOS6cz7WxLY260vElhAyzlANPCMR9qDaBypnIWMo_mERDkax3QKIGIsA/s1600/P1190357.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFTMXxf99pqsEdw97eJrS3hA_0GeQY1mmAnoiyGd8bZyvncUIldFp9yS3KY8_ysA4mZ3qr3CtLVrPMP2pNW5eOS6cz7WxLY260vElhAyzlANPCMR9qDaBypnIWMo_mERDkax3QKIGIsA/s1600/P1190357.JPG" height="480" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">Phidgetsの標準I/Oボード</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">「プロト開発なんてArduinoで充分じゃん!」と思っていたのですが、<a href="http://www.phidgets.com/">公式ページ</a>では「<b>とにかく早く簡単に</b>」開発が行えることに自信を持っている様子です。</span><br />
<span style="font-family: Verdana, sans-serif;">試行錯誤を高速に行うためにも、開発スピードは最重要。もしArduinoより早く開発できるのなら確かに魅力的です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
そこで今回は、ArduinoとPhidgetsの両方で電子工作の定番課題3種を実装して、実装の早さ、簡単さ、その他特性を比較してみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">そもそもPhidgetsってなに?</span></h2>
<span style="font-family: Verdana, sans-serif;">電子回路の知識がほぼ0でセンサ/アクチュエーターを使った開発ができるプラットフォームです。</span><br />
<span style="font-family: Verdana, sans-serif;">↑みたいなI/Oボードにセンサ他を刺すと、PCからJava/C++等の高級言語で制御できます。</span><br />
<span style="font-family: Verdana, sans-serif;">特徴としては:</span><br />
<span style="font-family: Verdana, sans-serif;"><b>簡単</b> →抵抗だの電圧/電流だの気にせずとも、モジュールを刺せば動きます。</span><br />
<span style="font-family: Verdana, sans-serif;"><b>早い</b> →最初からPC上で高級言語で制御するので、ハードとPC/ネットを連携させるシステムがすぐ書けます。</span><br />
<span style="font-family: Verdana, sans-serif;"><b>高い</b> →各パーツがモジュール化されているため、<a href="http://www.phidgets.com/products.php?category=37">スイッチ一つとっても</a>目が飛びでるブルジョア設定です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">比べてみた</span></h2>
<span style="font-family: Verdana, sans-serif;">以下の3つの定番課題をArduinoとPhidgetsの両方で実装してみました:</span><br />
<span style="font-family: Verdana, sans-serif;">#1 Blink →ただのLチカ</span><br />
<span style="font-family: Verdana, sans-serif;">#2 Servos →ロータリーエンコーダーでサーボの角度を制御できる回路</span><br />
<span style="font-family: Verdana, sans-serif;">#3 Pedometer →加速度センサを使って簡単な歩数計を作る</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
やってみた:</span><br />
<span style="font-family: Verdana, sans-serif;"><iframe allowfullscreen="" frameborder="0" height="405" src="//www.youtube.com/embed/j0kXaKjxRj4" width="720"></iframe><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#1 Blink</span></h2>
<span style="font-family: Verdana, sans-serif;">LEDを500ms周期でチカチカさせます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AuBRHxCHdlMvkv8mv-vGEIzqWA3-hPDq3jCmEjJNMJFUYv4xiORmynm-hoyHdEI4tcG646j5oaC_T4SQtZ-BTYzfmFLnvwFRXQyAEOBfz49Unm3lN4OiYC1N6CsiiUEpMG7QToIDrA/s1600/P1190354.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1AuBRHxCHdlMvkv8mv-vGEIzqWA3-hPDq3jCmEjJNMJFUYv4xiORmynm-hoyHdEI4tcG646j5oaC_T4SQtZ-BTYzfmFLnvwFRXQyAEOBfz49Unm3lN4OiYC1N6CsiiUEpMG7QToIDrA/s1600/P1190354.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b><span id="goog_2071175578"></span><span id="goog_2071175579"></span>■実装の説明</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-blink-ino">Arduinoのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-blink-java">Phidgetsのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;">説明は特に要らないですよね。<br />
<br />
<b>■実装時間</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">1分44秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">1分11秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
圧勝というわけではありませんが、Phidgetsのほうが早く実装できました。</span><br />
<span style="font-family: Verdana, sans-serif;">ArduinoではLEDのために抵抗が必要なぶん少し時間がかかりました。</span><br />
<span style="font-family: Verdana, sans-serif;">ただPhidgetsは出力ピンがネジ止めが必要なため、予想以上に手間取りました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ソフト面では特に大きな違いはないと思います。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■値段</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $24(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: $80(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Phidgets高ぇ。。。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#2 Servos</span></h2>
<span style="font-family: Verdana, sans-serif;">ユーザがロータリーエンコーダーを回すと、入力に応じてサーボの角度を変えます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6QhVrmRY6_YUExzIzu98AkqTxJow5IJBSE8-WrhZXt2MeYsvp50QfrDxYlivSEv8bCgoxI3MPWSzf0EcLZVRQrQI1_l5fZNXHB6prP3daOje21QaCVoGWqorzsyvetRhE7m6OyN6chg/s1600/P1190360.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6QhVrmRY6_YUExzIzu98AkqTxJow5IJBSE8-WrhZXt2MeYsvp50QfrDxYlivSEv8bCgoxI3MPWSzf0EcLZVRQrQI1_l5fZNXHB6prP3daOje21QaCVoGWqorzsyvetRhE7m6OyN6chg/s1600/P1190360.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b>■実装の説明</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-servo-ino">Arduinoのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-servotest-java">Phidgetsのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;">ロータリーエンコーダーの値をアナログ入力で受け取り、この値を角度に変換してサーボに送るだけです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■実装時間</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">6分07秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">3分20秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
Phidgetsは半分ぐらいの時間で実装できました。</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgetsでのハード製作は3箇所ケーブルを刺すだけ。</span><br />
<span style="font-family: Verdana, sans-serif;">それに対してArduinoは一度サーボを動かそうとして失敗し(電流不足のため)、別電源を持ってきたりしてます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ソフト面では、Phidgetsはイベントドリブンで書けるため、個人的には好みです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<b>■値段</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $37(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>, <a href="http://www.marutsu.co.jp/pc/i/18783/">Servo S03T</a>, ロータリーエンコーダー)</span><br />
<div>
<span style="font-family: Verdana, sans-serif;">Phidgets: $139(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>, <a href="http://www.phidgets.com/products.php?category=11&product_id=1066_1">Servo Controller,</a> <a href="http://www.phidgets.com/products.php?category=22&product_id=3000_1">Servo</a>, <a href="http://www.phidgets.com/products.php?category=7&product_id=1052_0">Rotary Encoder</a>)</span><br />
<div>
<span style="font-family: Verdana, sans-serif;"><br />
スイッチやセンサが入ってくると、Phidgetsの値段が跳ね上がります。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">#3 Pedometer</span></h2>
<span style="font-family: Verdana, sans-serif;">加速度センサで歩行を検知し、歩数に応じてLED配列を点灯させます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpivGTFkpMwnj3kDgrrBlzvspGnkCR29jfffiNcN6HocORbXtwoiD_HeTir_x66SIiO-bifQCvNtR3kSGptQeHy8JZukTmGiCuNPgsx6YLnf4vHe-jXxA2-H-XEn7SbKa2I_7hda1iYw/s1600/P1190370.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpivGTFkpMwnj3kDgrrBlzvspGnkCR29jfffiNcN6HocORbXtwoiD_HeTir_x66SIiO-bifQCvNtR3kSGptQeHy8JZukTmGiCuNPgsx6YLnf4vHe-jXxA2-H-XEn7SbKa2I_7hda1iYw/s1600/P1190370.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
<b>■実装の説明</b></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-pedometer-ino">Arduinoのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;"><a href="https://gist.github.com/kenkawakenkenke/f9e7458717cc8f8fc67f#file-pedometer-java">Phidgetsのソース</a></span><br />
<span style="font-family: Verdana, sans-serif;">歩行の検知のためには、非常に簡単なハイパスフィルタを作ります。加速度のパワー値(sqrt(x^2+y^2+z^2))の移動平均を計算し、パワー値から移動平均を引いたものをハイパス加速度として使い、これのゼロクロスを検知して歩数を数えます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /><b>■実装時間</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: <b><span style="color: #660000;">13分45秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: <b><span style="color: #660000;">10分15秒</span></b></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
歩数の検知まではPhidgetsが圧倒的に早かったのですが、LEDの配列を用意するところで手間取り、あまり差がない結果となりました。</span><br />
<span style="font-family: Verdana, sans-serif;">LED配置を除くと、Phidgetsでは<b>4分程度</b>で歩数計が作れてしまいました。</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgetsでは加速度センサはUSBポートに刺すだけなのに対し、Arduinoはネットでピン配列を調べたり配線したりする作業に時間が取られたのが印象的です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ソフト面では、歩行検知で<b>Phidgetsの強みがフルに出ました</b>。</span><br />
<span style="font-family: Verdana, sans-serif;">移動平均の計算のために(自作の)移動平均計算用クラスを使いまわしたり、</span><br />
<span style="font-family: Verdana, sans-serif;">加速度データを</span><span style="font-family: Verdana, sans-serif;">グラフ描画ライブラリで画面上に表示することでテスト+デバッグが迅速に行えたため、プログラム開発が素早く行えました。</span><br />
<span style="font-family: Verdana, sans-serif;">プログラミングの時間だけを見るとPhidgetsは圧勝です。(Phidgets:3分半 Arduino:6分半)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /><b>■値段</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduino: $31(<a href="http://www.amazon.co.jp/gp/product/B0044X2E5S?ie=UTF8&camp=1207&creative=8411&creativeASIN=B0044X2E5S&linkCode=shr&tag=kenkawakenken-22">Arduino Uno</a>, <a href="http://akizukidenshi.com/catalog/g/gM-05153/">3軸加速度センサ</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgets: $150(<a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a>, <a href="http://www.phidgets.com/products.php?category=5&product_id=1042_0">PhidgetSpatial 3/3/3 Sensor</a>)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
やはりPhidgetsのコストは桁が違いますね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">結果</span></h2>
<span style="font-family: Verdana, sans-serif;">実装スピードだけで見ると、Phidgetsは3つのテスト全てで勝ちました。</span><br />
<span style="font-family: Verdana, sans-serif;">とはいいつつ、色々な得手不得手が見えてきました。</span><br />
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;"><b>■Phidgetsの長所</b></span></h2>
<br />
<span style="font-family: Verdana, sans-serif;"><b>1. ハード製作が早い</b></span><br />
<span style="font-family: Verdana, sans-serif;">最初に書いたように、Phidgetsではモジュールをプチプチ繋げるだけなので、<b>その範囲で工作できるうちは</b>非常に気軽に早く製作が行えます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>2. PCのリソースがフルに使える</b></span><br />
<span style="font-family: Verdana, sans-serif;">#3のテストでは、僕が自作した便利クラス(移動平均、グラフ描画等)を使うことで、ハードの開発・テスト・デバッグが<b>ただのソフト開発と同じ簡便さ</b>で行えました。</span><br />
<span style="font-family: Verdana, sans-serif;">また制御プログラムをPCの他のプログラムや、ネットワークと連携させることも非常に容易くなります。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>3. 電子工作の知識が要らない</b></span><br />
<span style="font-family: Verdana, sans-serif;">軽く遊んだ限りでは、電子工作を何も知らないソフトウェア開発者がハードのプロト開発を行うことが簡単にできそうです。これまで画面の世界に留まっていたプログラマーがリアルワールドをプログラミングできるようになるのは非常に価値の高いことだと思います。</span><br />
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">■Phidgetsの弱点</span></h2>
<br />
<span style="font-family: Verdana, sans-serif;"><b>1. スタンドアローンのガジェットが作れない</b></span><br />
<span style="font-family: Verdana, sans-serif;">あくまでPCに接続して動かすものなので、持ち回りのよさが必要なガジェット(ウェアラブルとか)は少し厳しいです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>2. 「簡単さ」の詰めが甘い</b></span><br />
<span style="font-family: Verdana, sans-serif;">個人的に致命的だと思いました。</span><br />
<span style="font-family: Verdana, sans-serif;">Digital Outピン(↑の作例でLEDを刺してたところ)に配線するために何故ドライバーが必要なのでしょうか。本当に早いプロト開発を行うには、工具要らずで手でパチパチ接続できるようにしたいものです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>3. スケールしない</b></span><br />
<span style="font-family: Verdana, sans-serif;">Arduinoの良さは、プロトの完成度を高める過程で製品に近づくという点だと思います。</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgetsはあくまでプロト開発しか出来ないため、いくらプロトを改良したところで製品には近づきません。</span><br />
<span style="font-family: Verdana, sans-serif;">いつかちゃんと電子回路化しないといけないのだとすると、二度手間に感じる場合もあるかもしれません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>4. 高い</b></span><br />
<span style="font-family: Verdana, sans-serif;">やはりArduinoと比べて試作が3~5倍ほど高くなります。</span><br />
<span style="font-family: Verdana, sans-serif;">Phidgetsボードを何枚も持つわけにはいかないので、作っては壊しを繰り返すことになります。</span><br />
<span style="font-family: Verdana, sans-serif;">この物作りが成り立つのは、結構ユースケースが限られそうです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">まとめ</span></h2>
<span style="font-family: Verdana, sans-serif;">以上を踏まえてPhidgetsを使ったらいい場面を考えてみたいと思います。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・<b>会議室とかに置いておく</b></span><br />
<span style="font-family: Verdana, sans-serif;"> 会議室にPhidgetsを1セットを置いておき、絵コンテを書いたりレゴでモックを作る感覚で、ワイワイ喋りながらガジェットを作る、といったユースケースには最適だと感じました。</span><br />
<span style="font-family: Verdana, sans-serif;"> アイディアをすぐに遊べる状態にすることで、アイディア出しの活性化効果は抜群だと思います。</span><br />
<span style="font-family: Verdana, sans-serif;"> 「挿すだけで動く」というメリットが活かせて、「高い」というデメリットが気にならないユースケースです。</span><br />
<span style="font-family: Verdana, sans-serif;"> (ただしその場合は、工具が必要な部分を直してもらいたいですが・・・)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・<b>開発スピードが命の場面</b></span><br />
<span style="font-family: Verdana, sans-serif;"> ハッカソンで「とりあえず動くものをすぐに作らないといけない」、上司が無茶言うんで「それじゃうまく行かないよ」ってすぐに見せたい場合など、一分一秒の実装スピードが効く場面では非常に強いと思います。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・<b>俺は電子工作なんて絶対覚えないぜ、っていうプログラマー</b></span><br />
<span style="font-family: Verdana, sans-serif;"> プログラマーがアイディアを形にして、チームのハードウェア開発者に伝えるための手段として使えると思います。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">全部少し特殊な状況です。</span><br />
<span style="font-family: Verdana, sans-serif;">「これから電子工作を始めたい」という人は、素直にArduinoを選んだほうが良いです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">色々難ありですが、場面によっては非常に力を発揮するプラットフォームだと思いました。</span><br />
<span style="font-family: Verdana, sans-serif;">遊んでみたい、という人は以下の2つを買っておけばとりあえず大丈夫です:</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.phidgets.com/products.php?category=0&product_id=1018_2">Phidgets Interface Kit 8/8/8</a> →I/Oボード。ここにセンサを繋げる。</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.phidgets.com/products.php?category=18&product_id=2003_5">Phidgets Starter Kit #1</a> →Phidgets対応センサのセット。RFIDリーダー/ライタとか付いてて面白い。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">こういったものを使って、少しでも沢山のプログラマーがハードの世界に飛び出てくれることを願います。</span></div>
</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-40025219785384625522014-12-27T14:41:00.002+09:002014-12-29T11:00:02.782+09:00河本の実験室の2014年まとめ<span style="font-family: Verdana, sans-serif;">今年も、無くても死なない物を沢山作りました。</span><br />
<span style="font-family: Verdana, sans-serif;">2014年も残り僅かとなったので、まとめてみたいと思います。<span style="font-size: x-small;">(</span><a href="http://kawalabo.blogspot.jp/2013/12/2013.html" target="_blank">去年のまとめ</a><span style="font-size: x-small;">)</span></span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">言葉をカラーパレットに変換する<a href="http://synthsky.com/iroiro/" target="_blank">色色[:iroiro]</a></span></h2>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv31fRnwNDtcQyZ5CpbyRBzCZZmQKd7pYXJiQH2oF7Vuet-2xjjTIxqtZwr11WQKQBerU-pe_CJH9ooIoB5brIb5aYl7wfWuZBaxiRQ66W6mTHJOAagANKYJqk64vfBcXaOZlAsqouEg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-27+10.36.14.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv31fRnwNDtcQyZ5CpbyRBzCZZmQKd7pYXJiQH2oF7Vuet-2xjjTIxqtZwr11WQKQBerU-pe_CJH9ooIoB5brIb5aYl7wfWuZBaxiRQ66W6mTHJOAagANKYJqk64vfBcXaOZlAsqouEg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-27+10.36.14.jpg" height="336" width="640" /></span></a></td></tr>
<tr><td class="tr-caption"><span style="font-family: Verdana, sans-serif;">「<a href="http://synthsky.com/iroiro/?req=%E3%82%BD%E3%83%81%E3%82%AA%E3%83%AA%E3%83%B3%E3%83%94%E3%83%83%E3%82%AF" target="_blank">ソチオリンピック</a>」の検索結果</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">言葉から連想される色を生成するサービスです。(<a href="http://synthsky.com/iroiro/">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">ネットの検索結果に基づき、どんなに抽象的な言葉でも「それっぽい」色を提案してくれます。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
2月の公開後、約50万語が検索されました。</span><br />
<span style="font-family: Verdana, sans-serif;">ちなみに一番検索された言葉は「<a href="http://synthsky.com/iroiro/?req=%E9%9D%92%E5%B3%B0%E5%A4%A7%E8%BC%9D">青峰大輝</a>」です。</span><br />
<span style="font-family: Verdana, sans-serif;">日本のデザイナーだけでなく、中国のアニメ好きに使われたり、<a href="http://aganama.net/blog/2014/02/08/web_service_iroiro/" target="_blank">服のコーディネートをする人</a>が現れたり、予想外に流行りました。</span><br />
<span style="font-family: Verdana, sans-serif;">Mashup Awards 10でも<a href="http://mashupaward.jp/apis/209" target="_blank">8作品</a>にAPIとして利用して頂けたのも嬉しい出来事です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
少し残念なのは、欧米ではあまりウケなかったことです。</span><span style="font-family: Verdana, sans-serif;">色に対する感覚が合わなかったんでしょうかね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">部屋をマリオカートの世界に変えてしまう<a href="http://kawalabo.blogspot.jp/2014/10/romo.html" target="_blank">RomoCart</a></span></h2>
<span style="font-family: Verdana, sans-serif;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/OHOJpzuaJ74" width="640"></iframe>
</span><br />
<span style="font-family: Verdana, sans-serif;">iPhoneで操作できるロボット「<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">Romo</a>」とプロジェクションマッピングを組み合わせて、部屋をマリオカートの世界に変えてしまうゲームを作りました。(<a href="http://kawalabo.blogspot.jp/2014/10/romo.html">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">「生活空間をゲームにしてしまおう!」という夢いっぱいのコンセプトに共感してもらえたのか、<a href="http://www.nicovideo.jp/watch/sm24604995" target="_blank">ニコニコ技術部で一位</a>になり、<a href="http://www.engadget.com/2014/10/07/romocart-turns-your-living-room-into-a-video-game/?ncid=rss_truncated" target="_blank">engadget</a>や<a href="http://www.cnet.com/news/tomorrow-daily-068-arduino-tricorder-potential-myst-tv-show-romocart-racing/" target="_blank">CNET</a>等の海外メディアでも取り上げられました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
単に静的な環境に絵を投影するのではなく、「物」を拡張してパワーアップさせる手段としてプロジェクションマッピングを使うという考え方は、レーシングゲームに留まる話ではなく、色々な発展の方向性があると思います。</span><br />
<span style="font-family: Verdana, sans-serif;">来年も多分色々作ります。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">住民の行動に合わせて部屋の照明環境を最適化するロボット照明「<a href="http://kawalabo.blogspot.jp/2014/01/myra-intelligent-robotic-lighting.html">Myra</a>」</span></h2>
<span style="font-family: Verdana, sans-serif;"><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/RPswQwxrpLc" width="640"></iframe><br />
<br />
住民の場所や行動(読書中、歩行中、テレビ鑑賞中など)を認識し、複数のロボットアーム照明を協調動作させて最適な照明環境を作り上げるシステムです。(<a href="http://kawalabo.blogspot.jp/2014/01/myra-intelligent-robotic-lighting.html">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">「</span><span style="font-family: Verdana, sans-serif;">ぶっちゃけ</span><span style="font-family: Verdana, sans-serif;">照明って見たい場所だけ照らされてりゃいいよね」という考えから作ってみました。</span><br />
<span style="font-family: Verdana, sans-serif;">日本語版の動画は作らなかったのですが、海外では意外とウケて<a href="http://hackaday.com/2014/02/01/autonomous-lighting-with-intelligence/" target="_blank">Hackaday</a>などのメディアに掲載されました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;"><a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しを自動で解くプログラム</a></span></h2>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<blockquote class="twitter-tweet" lang="ja">
<span style="font-family: Verdana, sans-serif;">自動で間違い見つけるプログラム作った。意外とちゃんと作るの難しかった。(一個見逃してるし。)明日まとめる。 <a href="http://t.co/VYryesiiJc">pic.twitter.com/VYryesiiJc</a></span><br />
<span style="font-family: Verdana, sans-serif;">— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/533637148923011074">2014, 11月 15</a></span></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">サイゼリヤに行って間違いさがしがどうしても解けなかったんで、画像認識で解くプログラムを作った、というお話。(<a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">異様にRTされました。みんなサイゼリヤ好きなんですね。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;"><a href="http://kawalabo.blogspot.jp/2014/12/iphoneflir-one.html">「熱さ」が見える机</a></span></h2>
</div>
<div>
<span style="font-family: Verdana, sans-serif;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/DTNY6aJ7jlo" width="640"></iframe>
<br />
iPhoneをサーマルカメラとして使える<a href="http://www.amazon.co.jp/dp/B00P80MJMO/ref=as_sl_pc_tf_lc?tag=kenkawakenken-22&camp=1027&creative=7407&linkCode=as4&creativeASIN=B00P80MJMO&adid=0D4DCPX2CMMMNZG3JPWE&&ref-refURL=http%3A%2F%2Fkawalabo.blogspot.jp%2F2014%2F12%2Fiphoneflir-one.html" target="_blank">FLIR ONE</a>の熱画像をプロジェクションマッピングしてみたら意外と面白かった、という動画です。(<a href="http://kawalabo.blogspot.jp/2014/12/iphoneflir-one.html">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">熱湯と氷水が混ざり合う様子が見れたり、教育やらなんやらで使えそうな雰囲気ですが、あまりこれといった目的で作ってません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
<a href="http://hackaday.com/2014/12/23/real-time-thermal-projection-saves-your-tastebuds-from-the-hot-stuff/" target="_blank">Hackaday</a>や<a href="http://interactivedesign.it/blog/interactive-design/video-mapping/2014/12/24/thermal-projection-mapping-experiment/" target="_blank">イタリアのメディア</a>で紹介されました。</span><br />
<span style="font-family: Verdana, sans-serif;">僕が「なんのために」作ったかというストーリーをちゃんと伝えなかったためか、記事で勝手な意味を持たせられてコメント欄が混乱するという目に遭いました。動画をアップするなら、ちゃんと「なにが課題で」「なんのために」作ったのか分かりやすく伝えなきゃ駄目だという良い例です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">部屋に天気を再現させる<a href="http://tempescope.com/">tempescope</a></span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cMf4NhIGr4f2govOGW4RWVXVrh9nqcDP5hBYETeNOXKrqpQxQ3QVvnaVz6zwMX_Y-KKwtnmbM4pJ_H5UJvp3GMGvTCCj8lmrVVJEy64UWu9MZUbfB52OLFye70WmjtukkTyv8cEHYQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-27+12.11.56.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6cMf4NhIGr4f2govOGW4RWVXVrh9nqcDP5hBYETeNOXKrqpQxQ3QVvnaVz6zwMX_Y-KKwtnmbM4pJ_H5UJvp3GMGvTCCj8lmrVVJEy64UWu9MZUbfB52OLFye70WmjtukkTyv8cEHYQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-27+12.11.56.jpg" height="292" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;">今年で<span id="goog_925939509"></span>tempescopeプロジェクト(<a href="http://tempescope.com/">http://tempescope.com</a>)<span id="goog_925939510"></span>も3年目になりました。</span><br />
<span style="font-family: Verdana, sans-serif;">これまでは細々一人で作ってきたtempescopeですが、去年の<a href="http://ma9.mashupaward.jp/results" target="_blank">MA9でハードウェア賞受賞</a>をきっかけに、<a href="http://www.tempescope.com/who-are-we/" target="_blank">チームができ</a>、<a href="https://www.flickr.com/photos/taketan/12144696725/" target="_blank">写真家に写真も撮ってもらい</a>、</span><br />
<span style="font-family: Verdana, sans-serif;">CEATECやMFT2014で展示したり、<a href="http://www.engadget.com/2014/10/09/tempescope-weather-forecast/" target="_blank">engadget</a>や<a href="http://gizmodo.com/the-tempescope-puts-the-weather-in-a-box-on-your-desk-1644877960" target="_blank">Gizmodo</a>や<a href="https://www.facebook.com/photo.php?fbid=10101011698215829&set=a.10100665866335689.1073741832.36806298&type=1" target="_blank">MAKE:本誌</a>に掲載され、ようやく2015年のクラウドファンディング開始に向けて動き出しました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">個人的にはホリエモンが「欲しい」と言ってくれたあたりがピークです。2回も。</span><br />
<blockquote class="twitter-tweet" lang="ja">
<span style="font-family: Verdana, sans-serif;">面白い
天気を知るのに、まさかこんなクールな方法があるとは - <a href="http://t.co/8JvsEfAbIZ">http://t.co/8JvsEfAbIZ</a></span><br />
<span style="font-family: Verdana, sans-serif;">— 堀江貴文(Takafumi Horie) (@takapon_jp) <a href="https://twitter.com/takapon_jp/status/524787242355552256">2014, 10月 22</a></span></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<br />
<blockquote class="twitter-tweet" lang="ja">
<span style="font-family: Verdana, sans-serif;">ほしい
好きな時間、好きな場所の空をお部屋に再現! 「tempescope」がスゴイ! - <a href="http://t.co/xb2Yt6eQRI">http://t.co/xb2Yt6eQRI</a></span><br />
<span style="font-family: Verdana, sans-serif;">— 堀江貴文(Takafumi Horie) (@takapon_jp) <a href="https://twitter.com/takapon_jp/status/538988110785163264">2014, 11月 30</a></span></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<br />
<span style="font-family: Verdana, sans-serif;"><br />
</span><br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">たったの1Clickで飲み屋が予約できる「<a href="http://xn--1click-uh4et357e.jp/">1Click飲み</a>」</span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGouJ1f37iDt869OGC_jwY4jrUHnLZbOnMtOH4TJ4uW-eUPW7UpmXtmWkXnJ3LELen98NCrbyzMGGdKF09na0KOy2ix_OuWyid_wBfmvYLQt9tgIm0_vjxBSObtvqLocEkJZuibjMUaw/s1600/Unknown.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGouJ1f37iDt869OGC_jwY4jrUHnLZbOnMtOH4TJ4uW-eUPW7UpmXtmWkXnJ3LELen98NCrbyzMGGdKF09na0KOy2ix_OuWyid_wBfmvYLQt9tgIm0_vjxBSObtvqLocEkJZuibjMUaw/s1600/Unknown.jpeg" height="284" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br />
去年の<a href="http://ma9.mashupaward.jp/" target="_blank">Mashup Awards 9で優勝</a>した1Click飲みは事業譲渡して、別の運営主体様にお任せすることになりました。(<a href="http://xn--1click-uh4et357e.jp/">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">まだプロモーションをかけていないので使っている人は少ないのですが、実はちゃんと使えます→ <a href="https://itunes.apple.com/jp/app/1click-yinmi/id795936802?mt=8&uo=4" target="_blank">App Storeリンク</a></span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">実験:<a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span></h2>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCp8juocmsytNcNH6QlEKaRbOfUp9KvO_yWjGCGNZbmyKGrHkwJ11QfviL9JmAKlCnVgVVLt0Km3XkwpZPuIvklntsutv7Bs1k0o6Pbb2DvaQlYz4bYgzFrAf6acelJ3dj3cksT4T4jw/s1600/_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCp8juocmsytNcNH6QlEKaRbOfUp9KvO_yWjGCGNZbmyKGrHkwJ11QfviL9JmAKlCnVgVVLt0Km3XkwpZPuIvklntsutv7Bs1k0o6Pbb2DvaQlYz4bYgzFrAf6acelJ3dj3cksT4T4jw/s1600/_.jpg" height="360" width="640" /></span></a></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
</div>
<span style="font-family: Verdana, sans-serif;">日本の全ての家がWifiを備えていたら、Wifi同士を繋いだネットワークで東京からどこまで通信できるか実験してみました。(<a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">リンク</a>)</span><br />
<span style="font-family: Verdana, sans-serif;">今年はこれ以外にも</span><br />
<span style="font-family: Verdana, sans-serif;">・<a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html" target="_blank">住んでいる場所の時間帯とTopcoderのスコアの関係</a>を調べたり、</span><br />
<span style="font-family: Verdana, sans-serif;">・<a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html" target="_blank">Wikipediaの人に関する情報から色んな分析を</a>したり、</span><br />
<span style="font-family: Verdana, sans-serif;">・<a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html" target="_blank">気象庁のデータをクローリングして、世界で一番過ごしやすい場所を探索</a>したり、</span><br />
<span style="font-family: Verdana, sans-serif;">色んなデータで遊びました。</span><br />
<span style="font-family: Verdana, sans-serif;">初歩的なクローリングや認識技術を組み合わせるだけでも、軽い学会発表ぐらいならできそうなネタが検証できてしまえる、面白い時代になりましたね。</span><br />
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">その他、私事。</span></h2>
<span style="font-family: Verdana, sans-serif;">・7年勤めた日立の中央研究所を辞めて、Googleのソフトウェアエンジニアになりました。</span><br />
<span style="font-family: Verdana, sans-serif;">退職エントリとか書いてないんですが、日立中研に興味ある人は聞いてくださいな。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
・子供が生まれました。</span><br />
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">これが:</span></div>
<div style="text-align: left;">
<blockquote class="twitter-tweet" lang="ja">
<span style="font-family: Verdana, sans-serif;">臨月の妻にプロジェクションマッピングで等高線投影してみた。 <a href="http://t.co/5dIKDhg1hu">pic.twitter.com/5dIKDhg1hu</a></span><br />
<span style="font-family: Verdana, sans-serif;">— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/498028740656365568">2014, 8月 9</a></span></blockquote>
<script async="" charset="utf-8" src="//platform.twitter.com/widgets.js"></script>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: Verdana, sans-serif;">こうなりました:</span></div>
<div style="text-align: left;">
<blockquote class="twitter-tweet" lang="ja">
<span style="font-family: Verdana, sans-serif;">FLIR ONEで見る子供。かわいい。 <a href="http://t.co/e2OgjkiIj2">pic.twitter.com/e2OgjkiIj2</a></span><br />
<span style="font-family: Verdana, sans-serif;">— Ken Kawamoto(ガリのほう) (@kenkawakenkenke) <a href="https://twitter.com/kenkawakenkenke/status/544490334579748865">2014, 12月 15</a></span></blockquote>
</div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: large;">来年の抱負とか。</span></h2>
<span style="font-family: Verdana, sans-serif;">今年は「作って、アップして、メディアに紹介されて満足して、終わり」の物が多すぎた気がします。</span><br />
<span style="font-family: Verdana, sans-serif;">来年はもう少し、最後まで行く物を増やしていきたいと思います。</span><br />
<span style="font-family: Verdana, sans-serif;">例えばtempescopeは来年の今頃は販売している予定です。</span><br />
<span style="font-family: Verdana, sans-serif;">その他のプロジェクトもオープンソース化したり、売ったり、コミュニティを作ってちゃんと形に残すことを目指していきたいです。</span><br />
<span style="font-family: Verdana, sans-serif;">そんなわけで2015年も河本の実験室を宜しくお願いします。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-86792623239222164952014-12-22T08:08:00.001+09:002014-12-29T11:00:26.709+09:00iPhoneをサーモカメラにできるFLIR ONEを遊び倒してみた<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;">こんにちは。河本です。</span><br />
<span style="font-family: Verdana, sans-serif;">ちょっとクリスマスには早いですが、長らく欲しかったFLIR ONEが手に入ったので遊び倒してみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: 1em; margin-right: 1em; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXoLU3r9z69JGOf2NKteRbDoTmm-0qCpI8CdX5DewyYWeXUNub74-cbGUHG_6y-7A50vZw8IoqHLF4Hq2Wrz-D6UmjFbsYPndVdkXSrhi9ITZa37ZjHGehCBvotWMRSLihV_sMcm93BQ/s1600/flir01.jpg" height="460" style="cursor: move; margin-left: auto; margin-right: auto;" width="640" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">FLIR ONEで見れば排気ガスが熱いのが見える!</span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<h2>
<span style="font-family: Verdana, sans-serif;">
FLIR ONEってなに?</span></h2>
<span style="font-family: Verdana, sans-serif;">こいつです:</span><br />
<span style="font-family: Verdana, sans-serif;"><iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kenkawakenken-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00P80MJMO" style="height: 240px; width: 120px;"></iframe>
</span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="color: red; font-family: Verdana, sans-serif; font-size: x-small;">*日本だと並行輸入品でしか買えないので高いです。国内で販売が始まるのを待ったほうがいいです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">iPhoneに装着するだけで、↑みたいな熱画像が撮影できるようになるiPhoneカバーです。</span><br />
<span style="font-family: Verdana, sans-serif;">今のところ0℃から100℃の間で120x160ピクセルの画像が撮れるっぽいです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif;">なにができるの?</span></h2>
<div>
<span style="font-family: Verdana, sans-serif;">FLIR ONEをもって色々撮ってみました。</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV4ceWCyZxNgxYvbPpo2jTyEMyDZkJ0Ol9vPCRcWuNIb-WFe3W3WyyI0cFzUDbN4LmcPOAp9wogY63Y9SxyHgn_C3KclNryxFvgooE8LdPZ3WytFmMssA9Agrrfav_K484OFAgiVDfcg/s1600/IMG_9351.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV4ceWCyZxNgxYvbPpo2jTyEMyDZkJ0Ol9vPCRcWuNIb-WFe3W3WyyI0cFzUDbN4LmcPOAp9wogY63Y9SxyHgn_C3KclNryxFvgooE8LdPZ3WytFmMssA9Agrrfav_K484OFAgiVDfcg/s1600/IMG_9351.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">街を見ると、人がくっきり見える</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpAOdeBMENqXbj8GWmW3koY9OQi6LCnY4qYZ3rLcpSjn93-KnIGgq_w2mYs1FJP9CyR2zSPz7ylPnGqS1BBEQ6PfdJUA_IlgORAKAX-jXHgbMX5SBCwzxSUKYFjsB7YyloNUp81I7Nfg/s1600/IMG_9360.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpAOdeBMENqXbj8GWmW3koY9OQi6LCnY4qYZ3rLcpSjn93-KnIGgq_w2mYs1FJP9CyR2zSPz7ylPnGqS1BBEQ6PfdJUA_IlgORAKAX-jXHgbMX5SBCwzxSUKYFjsB7YyloNUp81I7Nfg/s1600/IMG_9360.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">車はエンジンとタイヤが熱い!</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9PCgbDnLgiR1IxjSawPdgyD2IA-5tkwWiY6wJLi9eUuML-Iz0oBVO2xfpw2ZM4nJ1kMUd2eR5ZboXu_-urPmRSCitb6TYWrgm5sbfn-OQbaTc6ccyUrVVPWAX7z73dLQm6xmjPiDWzw/s1600/IMG_9376.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9PCgbDnLgiR1IxjSawPdgyD2IA-5tkwWiY6wJLi9eUuML-Iz0oBVO2xfpw2ZM4nJ1kMUd2eR5ZboXu_-urPmRSCitb6TYWrgm5sbfn-OQbaTc6ccyUrVVPWAX7z73dLQm6xmjPiDWzw/s1600/IMG_9376.JPG" height="320" width="240" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif; font-size: x-small;">スーパーにて。レンコンだけ冷たい。陳列したばかり?</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5x0vNIjOGL3WaHFYTMA7OhnLWexE_tYtVAI5iXfjLOd5N0bZ669DIHSwQ5AirEXBorYthUfCuHREBvnu9BOuLR96AghgBY4cCgCXBGVte_EhwsfY2buMbcKHVBeycTa2yAyFDX0igww/s1600/flir02.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5x0vNIjOGL3WaHFYTMA7OhnLWexE_tYtVAI5iXfjLOd5N0bZ669DIHSwQ5AirEXBorYthUfCuHREBvnu9BOuLR96AghgBY4cCgCXBGVte_EhwsfY2buMbcKHVBeycTa2yAyFDX0igww/s1600/flir02.jpg" height="253" width="320" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">鍋が熱い!</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvPesXWvO5ATrXJ9twKlFiFvneRmVaMkSZGKRWNToGDJyZwq3AT687svfiVon0PtHmr23ltRsCrl4BRFBifQLCJ_n0I3qaWWl_o-5NXrITCJGZ9LEIOaaiE_xZ0Eci3MgSBrt0Jm3Q-Q/s1600/IMG_9379.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvPesXWvO5ATrXJ9twKlFiFvneRmVaMkSZGKRWNToGDJyZwq3AT687svfiVon0PtHmr23ltRsCrl4BRFBifQLCJ_n0I3qaWWl_o-5NXrITCJGZ9LEIOaaiE_xZ0Eci3MgSBrt0Jm3Q-Q/s1600/IMG_9379.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">Arduino UNO</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGi0PalOXgM7Yj3WL4oSWsRo9dNE6EOmKZIfg4TbvLAlNc39YYq773sibc8EEVHj-jK6YU6D5qn5yMmhMN3oPvp-_8F9GtLeAIlvow9yULvF9VHm8I-rvS3ToDAsTi03habKzjqd6FTQ/s1600/IMG_9363.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGi0PalOXgM7Yj3WL4oSWsRo9dNE6EOmKZIfg4TbvLAlNc39YYq773sibc8EEVHj-jK6YU6D5qn5yMmhMN3oPvp-_8F9GtLeAIlvow9yULvF9VHm8I-rvS3ToDAsTi03habKzjqd6FTQ/s1600/IMG_9363.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">駐車場を見下ろすと、さっきまで走ってた車がわかる</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgust5M6Apl4F7HgSPy_Ry2FqvAg3PDUkzDjHcbcPKW875Q4vsoyuHIWtdSMr9qJYKT3V3zmkAqisn7xLrlGTzczHQM0MCVUJzntiGCjj4i9kkgVSynXFsdBCCzFUZmKXXSoAANPenI6g/s1600/IMG_9346.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgust5M6Apl4F7HgSPy_Ry2FqvAg3PDUkzDjHcbcPKW875Q4vsoyuHIWtdSMr9qJYKT3V3zmkAqisn7xLrlGTzczHQM0MCVUJzntiGCjj4i9kkgVSynXFsdBCCzFUZmKXXSoAANPenI6g/s1600/IMG_9346.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">冷え性の僕(左)と妻(右)</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0HWtZsj9jFaWI2YEz1g6IKTQUKVGhTBplz0-elGPNkYC7LIn9Cqmfum8eCUCyImalrr236_NOqqB885tb5Rct_NNFgFeDJ4epzPaJ-9C1f3xZ1xukc6qJU4ReS5Pt4JYWk6A2a7yAQ/s1600/IMG_9404.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP0HWtZsj9jFaWI2YEz1g6IKTQUKVGhTBplz0-elGPNkYC7LIn9Cqmfum8eCUCyImalrr236_NOqqB885tb5Rct_NNFgFeDJ4epzPaJ-9C1f3xZ1xukc6qJU4ReS5Pt4JYWk6A2a7yAQ/s1600/IMG_9404.JPG" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">赤ちゃん超かわいい。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif;">FLIR ONE×プロジェクタで「熱さ」が見える机を作ってみた</span></h2>
<div>
<span style="font-family: Verdana, sans-serif;">こんなハックもできます。</span><br />
<span style="font-family: Verdana, sans-serif;">FLIR ONEの出力をプロジェクタで投影することで、物の熱さが見える机を作って見ました。</span><br />
<span style="font-family: Verdana, sans-serif;">見た目が同じでも違う温度の水が入ったグラスが違う色になったり、</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">熱湯と氷水をトレーに入れると、少しずつ混ざり合う様子が可視化されて面白いです。</span><br />
<span style="font-family: Verdana, sans-serif;">食べ物を冷まして子供に食べさせるのにも使えそうですね。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ZisPYcLVOzo?feature=player_embedded' frameborder='0'></iframe></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">これを実装したアプリやプロジェクションマッピングのサーバのソースを欲しい人がいたら連絡ください。</span></div>
<h2>
<span style="font-family: Verdana, sans-serif;"><br /></span></h2>
<h2>
<span style="font-family: Verdana, sans-serif;">不満たらたら</span></h2>
<div>
<span style="font-family: Verdana, sans-serif;">以下、改善して欲しい点:</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・<b>カメラを認識するまでの時間が遅すぎる</b>。公式アプリでも自作アプリでも、カメラへの接続を開始してからちゃんと認識するまでボタンを押しまくったりして平均20~30秒ぐらいかかります。即応性がないと、「いざ」という時に接続ができなくて困りそうです。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・<b>iPhoneを充電してくれるわけではない</b>。iPhoneカバーとしては特大サイズですが、追加バッテリーと思えばそこまで酷くはありません。しかしFLIR ONE自身は自分用のバッテリを積んでいるにもかかわらず、iPhoneは充電されません。何故そうした。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・<b>着けたままだとiPhoneを充電できないし、デバッグが面倒</b>。FLIR ONEを着けていると、iPhoneの充電口がふさがれてしまいます。その結果、FLIR ONEを着けたままではiPhoneの充電もできないですし、PCに接続してデバッグすることもできません。↑のプロジェクションマッピングを作るためには、わざわざログをネットワークに吐き出すモジュールを作りました。面倒。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">色々直して欲しい点はありますが、街や世界を今までと全く違った視点で見れるのは本当に楽しい体験です。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">まだ国内で買うと高いですが、是非みなさんも機会を見つけて遊んでみてください。</span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com1tag:blogger.com,1999:blog-2931113489513736946.post-17818930999922062392014-12-01T00:28:00.002+09:002015-04-05T21:41:22.135+09:00世界で一番住みやすい場所を計算してみた<span style="font-family: Verdana, sans-serif;">こんにちは。河本です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
東京は寒すぎず、カラっとした過ごしやすい日が続いてます。</span><br />
<span style="font-family: Verdana, sans-serif;">こんな日が続くと日本は世界で一番快適な国なんじゃないか、なんて思ってしまいますね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ところで本当に世界で一番過ごしやすい地点ってどこなんでしょう?</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.jmbsc.or.jp/hp/online/f-online0a.html" target="_blank">気象庁が出している数値予報データ</a>から計算してみました。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkd8jiTN0SIMVXydqiMUrLpuCTuaTr_jkS8wV37I_iBwNP3evJFermN4Q8rCsa06NokTYvATyEjPpmwI9-Rj_-YdZ15I2DIw7eV_ow4aG7cJcohxl629ZrGcVI_a2VfaoJCZ0ckJw1ZQ/s1600/gsm_temp.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkd8jiTN0SIMVXydqiMUrLpuCTuaTr_jkS8wV37I_iBwNP3evJFermN4Q8rCsa06NokTYvATyEjPpmwI9-Rj_-YdZ15I2DIw7eV_ow4aG7cJcohxl629ZrGcVI_a2VfaoJCZ0ckJw1ZQ/s1600/gsm_temp.jpg" height="362" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">全球の気温 (2013.11.30 06:00+UTC)<br />(Background image taken from TerraMetrics for educational purposes)</span></td></tr>
</tbody></table>
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">方法</span></h2>
<span style="font-family: Verdana, sans-serif;">まず元データとして、気象庁が計算している6時間毎の<a href="http://www.jmbsc.or.jp/hp/online/f-online0a.html" target="_blank">全球域数値予報モデル</a>を取得しました。</span><br />
<span style="font-family: Verdana, sans-serif;">これは、6時間毎に地球を0.5度毎に区切った領域全ての気温、湿度、風速、気圧などを計算したデータです。</span><br />
<span style="font-family: Verdana, sans-serif;">(ちなみに<a href="http://synthsky.com/" target="_blank">Synthetic Sky</a>はこれの1時間毎のデータを使ってます)</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
これを使えば世界中の好きな場所の温度(上図)や湿度(下図)がわかるわけです。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFySjXMh9a-M_9tmE0f35_sznC-ozhj4isrslsaeL676uLMIIY5Lw7qKoNRVInU0dSeKZaJdhLAfx-OOiXNqm5-92mIws3lwfeJLpAsS_OqvJhXHokelVk-oGmAzztnN1qV6ZHBr0oA/s1600/gsm_humid.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFySjXMh9a-M_9tmE0f35_sznC-ozhj4isrslsaeL676uLMIIY5Lw7qKoNRVInU0dSeKZaJdhLAfx-OOiXNqm5-92mIws3lwfeJLpAsS_OqvJhXHokelVk-oGmAzztnN1qV6ZHBr0oA/s1600/gsm_humid.jpg" height="416" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">全球の湿度 (2013.11.30ぐらい)<br />(Background image taken from TerraMetrics for educational purposes)</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br />
また、「過ごしやすさ」を定量化するために「<a href="http://ja.wikipedia.org/wiki/%E4%B8%8D%E5%BF%AB%E6%8C%87%E6%95%B0" target="_blank">不快指数</a>」を使います。</span><br />
<span style="font-family: Verdana, sans-serif;">不快指数とは、知っての通り温度と湿度から「不快さ」を定量化する指標です。</span><br />
<span style="font-family: Verdana, sans-serif;">ただし、65~70を快適さの中心として、これより高い場合は「暑くて不快」、低い場合は「寒くて不快」という評価を行う指標なため、少し扱いにくいのが欠点です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
そこで、もっとわかりやすい「快適指数」という指標を定義しました。</span><br />
<span style="font-family: Verdana, sans-serif;">単純にふるまいが「高いほど快適」「低いほど不快」となるように「不快指数」を変換しているだけです:</span><br />
<span style="font-family: Verdana, sans-serif;">快適指数= (不快指数が67.5以上の場合) 1-(不快指数-67.5)/(85-67.5)</span><br />
<span style="font-family: Verdana, sans-serif;"> (不快指数が67.5未満の場合) 1-(67.5-不快指数)/(67.5-55)</span><br />
<span style="font-family: Verdana, sans-serif;">(0~1内に収まるよう適宜切り捨て/切り上げ)</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">パラメータの選択の意図:</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">67.5=快適指数の快適域の中心</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">85=「暑くてたまらない」の閾値</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">55=「寒い」の閾値</span><br />
<span style="font-family: Verdana, sans-serif;"><span style="font-size: small; font-weight: normal;"><br /></span>
<span style="font-size: small; font-weight: normal;">この定義か</span><span style="font-size: small; font-weight: normal;">ら、地球上の全ての場所の「過ごしやすさ」を定義できるようになりました。</span></span><br />
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">以下の図は一昨日(11月29日)の快適指数を計算したものです。</span></span><br />
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">北半球の多くは寒すぎるため青(不快)になってますね。</span></span><br />
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">日本付近は、陸は青(不快)ですが、海にいけば赤(快適)が広がっています。</span></span><br />
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">逆に、南半球は季節は春で、快適さが広がっています。</span></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqn0xl4-kkLK_X3QDDJrzxA0_PDmQ-bFpM55LhLAMcM0zW5QpOGn7hl4ft6_yDM8pq2VfZmMJaRMAlRqoCp17MA1bgYjxpmcB9nTFu4EpVwspOmbc3f4ywyrw1vx08lEitUF7qpRCMUg/s1600/comfort_1129.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqn0xl4-kkLK_X3QDDJrzxA0_PDmQ-bFpM55LhLAMcM0zW5QpOGn7hl4ft6_yDM8pq2VfZmMJaRMAlRqoCp17MA1bgYjxpmcB9nTFu4EpVwspOmbc3f4ywyrw1vx08lEitUF7qpRCMUg/s1600/comfort_1129.jpg" height="332" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">地球上の「快適指数」(2014/11/29 09:00JST)</span></td></tr>
</tbody></table>
<div>
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">以上のデータを過去1年分(2013年11月29日から2014年11月29日まで)を取得し、以下を計算してみました:</span></span></div>
<div>
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">1. 平均「快適指数」が一番高い場所はどこ?</span></span></div>
<div>
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;">2. 「快適日」(不快指数が65~70の間の日)が年間を通して一番多いのはどこ?</span></span></div>
<div>
<span style="font-size: small; font-weight: normal;"><span style="font-family: Verdana, sans-serif;"><br /></span></span></div>
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">結果</span></h2>
<span style="font-family: Verdana, sans-serif;"><b>1. 平均「快適指数」が一番高い場所はどこ?</b></span><br />
<span style="font-family: Verdana, sans-serif;">各地点における6時間毎の快適指数を単純に平均化し、最大地点を計算しました。</span><br />
<span style="font-family: Verdana, sans-serif;">最大地点はここです:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuXZubDyrHvcf1GY8aeDSdW3send0E7QGCWTSQxQL6dxT_nKhDlfVZ97M_SpVxXTm5jEzfl31zhqE2LSHGwWDGzltEnwNa2DmGL26mww04vsQzqpmC8YdcPSck5e3nWxcnL9dNldJYGA/s1600/avg_comfort_02.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuXZubDyrHvcf1GY8aeDSdW3send0E7QGCWTSQxQL6dxT_nKhDlfVZ97M_SpVxXTm5jEzfl31zhqE2LSHGwWDGzltEnwNa2DmGL26mww04vsQzqpmC8YdcPSck5e3nWxcnL9dNldJYGA/s1600/avg_comfort_02.jpg" height="344" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">2013/11/29~2014/11/29の間の快適指数平均値。白いマークは最大地点。どこだこれ。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">え、うそ日本じゃないの?</span><br />
<div>
<span style="font-family: Verdana, sans-serif;">最大値の場所(白いマーク)は<a href="https://www.google.co.jp/maps/place/0%C2%B034'50.5%22S+31%C2%B036'53.8%22E/@-0.4160733,31.587498,7z/data=!4m2!3m1!1s0x0:0x0?hl=ja" target="_blank">ウガンダ</a>、年間を通して平均快適指数実に87.4の超優良エリアです。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0unKg9-n3VXJ-3ktKyjiMIowx27g56VuqmbSZBv_AJMUeNMiPGQo9VemAXAxKMEtfsVSrsQ9vBB9UHse9lgpe-SVcleYXzDl-utVCnRiZ5T_oqo55b5Pgwd-ftzoYZCqNmYlIInWObQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-01+0.45.16.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0unKg9-n3VXJ-3ktKyjiMIowx27g56VuqmbSZBv_AJMUeNMiPGQo9VemAXAxKMEtfsVSrsQ9vBB9UHse9lgpe-SVcleYXzDl-utVCnRiZ5T_oqo55b5Pgwd-ftzoYZCqNmYlIInWObQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-12-01+0.45.16.png" height="261" width="320" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">世界で一番過ごしやすいのはヴィクトリア湖のほとり。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">ちなみに東京は平均33.6。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">以下の年間の快適指数推移を見ると、この差は明らかです。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">東京は冬は快適指数がサチってます(寒すぎるんですね)。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">ウガンダは年間を通じて高い快適さを叩き出しています。</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShhY9L5tZLynDr00boeCdpZ62ZwVbpchRUGAfLwWXbPHqEHrqdXdjXxYRe8JrGc6WIuE9jlmDvfVrrB_4V3wVwfUi4ZVSENBXyYWmoDyfYQ1_L3tS531HRtIQAZab_U3qWwmCANYDaQ/s1600/comfort_tokyo.png" height="362" style="margin-left: auto; margin-right: auto;" width="640" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">春と秋以外は東京の快適指数は低い</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShhY9L5tZLynDr00boeCdpZ62ZwVbpchRUGAfLwWXbPHqEHrqdXdjXxYRe8JrGc6WIuE9jlmDvfVrrB_4V3wVwfUi4ZVSENBXyYWmoDyfYQ1_L3tS531HRtIQAZab_U3qWwmCANYDaQ/s1600/comfort_tokyo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDW9QEbl7V1SSv8llF-Ypz85Uagb0cpVvnikO7u2yRUDtsVXlJG-ZeJm3PPYag0cutluxQc2PRudTSboXrxqazmTr7KSNjmQLbHzZYlUUBcZKZn1wJ_WpHVulvq_Fz27UdB3sg-wqoGw/s1600/comfort_uganda.png" height="362" style="margin-left: auto; margin-right: auto;" width="640" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">年間を通じて高い快適指数のウガンダ</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDW9QEbl7V1SSv8llF-Ypz85Uagb0cpVvnikO7u2yRUDtsVXlJG-ZeJm3PPYag0cutluxQc2PRudTSboXrxqazmTr7KSNjmQLbHzZYlUUBcZKZn1wJ_WpHVulvq_Fz27UdB3sg-wqoGw/s1600/comfort_uganda.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><b>2. 「快適日」(不快指数が65~70の間の日)が年間を通して一番多いのはどこ?</b></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">各地点において、快適な日(不快指数65~70の間)であった日数の割合を計算しました。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">最大地点はここです:</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8UW0oDAXLZrHBrFHt44SYPReiY0Cki8hC_DmEzEO93QeDz78hWC3V5KIAcgJPFFTWNMYTeJyHV8QULbGzMrcy_idmQJZgR9GWOPztZQCt2n7agl3Co5VuLBJuE7v1IYxU-g3OXftdg/s1600/comfort_ratio.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin8UW0oDAXLZrHBrFHt44SYPReiY0Cki8hC_DmEzEO93QeDz78hWC3V5KIAcgJPFFTWNMYTeJyHV8QULbGzMrcy_idmQJZgR9GWOPztZQCt2n7agl3Co5VuLBJuE7v1IYxU-g3OXftdg/s1600/comfort_ratio.jpg" height="332" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;"><span style="font-family: Verdana, sans-serif;">2013/11/29~2014/11/29の間の快適日数割合。白いマークは最大地点。またここか。</span></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<div>
<span style="font-family: Verdana, sans-serif;">やっぱり<a href="https://www.google.co.jp/maps/place/0%C2%B034'50.5%22S+31%C2%B036'53.8%22E/@-0.4160733,31.587498,7z/data=!4m2!3m1!1s0x0:0x0?hl=ja" target="_blank">ウガンダ</a>です。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">ウガンダの快適日数割合は77%。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">東京はたったの14.3%なので、だいぶ勝ってます。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">どうやら地球で一番快適な場所はウガンダで間違いないようです。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">少し調べてみるとウガンダは「アフリカの真珠」「緑の国ウガンダ」だそうです。(<a href="http://www.arukikata.co.jp/weather/UG/" target="_blank">ソース</a>)</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">日本が世界一快適だなんて、世間知らずの思い上がりでした。反省します。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">まとめ</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・老後はウガンダに住みましょう。</span><span style="font-family: Verdana, sans-serif;">アフリカって灼熱のサバンナに象が歩いてるイメージしか無かったんですが、全然違うんですね。</span><span style="font-family: Verdana, sans-serif;">「どこだこれ」とか言ってすみませんでした。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・今回は温度と湿度から算出した「快適指数」という観点のみで「一番過ごしやすい」地点を算出してみました。他にも「道を歩いてて殺される率」「ハブに噛まれる率」など色んな「過ごしやすさ」の観点を含めて再度過ごしやすさを評価してみたいですね。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・データがあれば、日常のふとした疑問に簡単に答えられるようになります。データを入手する方法や解析テクニックを小学校とかで教えたら、日本はもっと面白い国になるんじゃないですかね?</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<hr />
<h3>
<span style="font-family: Verdana, sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">山手線リアルタイム混雑情報で遊んでみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/03/140.html">140文字の「重み」を言語毎に比較してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しが難しすぎたので大人の力で解決した</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html">Topcoderに一番有利な時間帯を調べてみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html">Wikipediaのデータで人生解析をしてみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html">明日の天気を過去の似た日から合成して可視化してみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-69544671603876684052014-11-16T15:26:00.001+09:002015-04-05T21:41:54.787+09:00サイゼリヤの間違い探しが難しすぎたので大人の力で解決した<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">こんにちは。河本です。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">僕はサイゼリヤに行くとまずキッズメニューの間違い探しを解くんですが、</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;">今回は難しすぎたので、大人の力(=画像処理)で解決することにしました。</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZFvrjL_vh4vAySPdaorVflco2TTSJdmalcIrKijErHjaLJ447R2WojLpGIZcIfIK1XclM_GXM_qPJY81cRZf6Nu1OVJUYdSJgQ-4MCv0Zz38hfM-3f0AJtmNvcZcrc07psJaBvVWVlw/s1600/entire.png" height="332" style="margin-left: auto; margin-right: auto;" width="640" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;"><a href="http://www.saizeriya.co.jp/entertainment/">2014年9月版</a>。みんなもやってみよう!</span></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZFvrjL_vh4vAySPdaorVflco2TTSJdmalcIrKijErHjaLJ447R2WojLpGIZcIfIK1XclM_GXM_qPJY81cRZf6Nu1OVJUYdSJgQ-4MCv0Zz38hfM-3f0AJtmNvcZcrc07psJaBvVWVlw/s1600/entire.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"></span></a></div>
<span style="font-family: Verdana, sans-serif;">(以下、間違い探しの答えが出てきます。見たくない人は↑の画像で頑張ってから読もう。)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large; font-weight: normal;">やり方</span></h2>
<div>
<span style="font-family: Verdana, sans-serif;">いろいろ書いてますが、左面と右面の違う部分を色の差分から見つけてるだけです。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;">紙の歪みを吸収するために、少しややこしいことをしてます。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><b>(1) 間違い探しページの写真を撮る</b></span><br />
<span style="font-family: Verdana, sans-serif;">↑の写真です。普通にiPhoneで撮りました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>(2) ページ領域を抽出する</b></span><br />
<span style="font-family: Verdana, sans-serif;">画像からページの部分を見つける必要があります。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">今回は面倒なので、左側は手作業で指定しました。</span><br />
<span style="font-family: Verdana, sans-serif;">角を手作業でタグ付けして・・・</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhqzH9ZTG57cxporNurCc1DFHzv7vaqN8Sk75n0GmXyRGNF0wnaBCZ-J4UlC0oMhtsi9O8b-Sg_oXxMnxc4lT-B6A6muqgG1FSJrrkd1_62_UkD0a5inZdrt9MscS_glbxybLLg1ArXw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.23.41.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhqzH9ZTG57cxporNurCc1DFHzv7vaqN8Sk75n0GmXyRGNF0wnaBCZ-J4UlC0oMhtsi9O8b-Sg_oXxMnxc4lT-B6A6muqgG1FSJrrkd1_62_UkD0a5inZdrt9MscS_glbxybLLg1ArXw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.23.41.png" height="428" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">こっちは手作業。</span></td></tr>
</tbody></table>
<a href="https://www.google.co.jp/search?client=safari&rls=en&q=%E3%83%9B%E3%83%A2%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%BC%E8%A1%8C%E5%88%97&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=SydoVPKUGKLS8gfqooB4#safe=off&rls=en&q=%E5%B0%84%E5%BD%B1%E5%A4%89%E6%8F%9B" style="font-family: Verdana, sans-serif;">射影変換</a><span style="font-family: Verdana, sans-serif;">で台形補正します。OpenCVなら</span><span style="font-family: Courier New, Courier, monospace;"><a href="http://opencv.jp/opencv-2.1/cpp/geometric_image_transformations.html#cv-warpperspective" target="_blank">WarpPerspective</a></span><span style="font-family: Verdana, sans-serif;">です。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZ-a9TaJNrtex5jMoVPKAAH7JmCXN9lQVkRzuysyk8HM7V0dH2F9A_3owSQXS6X6uhL27qUty9d0UFqLy1Xq-v89b3T6GosCkmJPSDTVFeg0Km08h3dNQp6Bg9PtfHo9ssbpxPd-TZA/s1600/template.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuZ-a9TaJNrtex5jMoVPKAAH7JmCXN9lQVkRzuysyk8HM7V0dH2F9A_3owSQXS6X6uhL27qUty9d0UFqLy1Xq-v89b3T6GosCkmJPSDTVFeg0Km08h3dNQp6Bg9PtfHo9ssbpxPd-TZA/s1600/template.png" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">台形補正しても、紙が曲がってたので少し歪んでる。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">次に、左側の画像をテンプレとして使って、右側の画像から紙部分を<a href="http://whoopsidaisies.hatenablog.com/entry/2013/12/07/135810" target="_blank">SURF</a>+マッチングでオブジェクト認識して見つけます。(参考:<a href="http://whoopsidaisies.hatenablog.com/entry/2013/12/07/135810" target="_blank">whoopsidaisies's diary: OpenCVで画像の特徴抽出・マッチングを行う</a>)</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdtvxQq-tmKAaSbnHWUvRh3LjsxjC25VPRSMxA6dTV0YMLddsiaybKVicE9IBYXK-vroLPMz4cTSHv94vV81vwEMviA11qKCakK-tgue0940khCBxPSafyTO3VhUKiXHCcgDgDR2hIfQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-15+19.30.37.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdtvxQq-tmKAaSbnHWUvRh3LjsxjC25VPRSMxA6dTV0YMLddsiaybKVicE9IBYXK-vroLPMz4cTSHv94vV81vwEMviA11qKCakK-tgue0940khCBxPSafyTO3VhUKiXHCcgDgDR2hIfQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-15+19.30.37.png" height="354" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">右面は自動で見つける</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">そんなわけで、両面の画像ができました。</span><br />
<span style="font-family: Verdana, sans-serif;">両方歪んでますが、そもそも紙が曲がってるので射影変換ではこれが限界です。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzFGVc2FoDK1U8v-NQW9BeExwx0FRF82O3AA0jkdh1qOC1Njj4Z1RHSoerdmELnHOZl1of0lIE3JQfFNJix4oDAoJ9DtDKF45lSQVFWeack0MsFWZEwQHkVOZKEhFdfFNTBTr-ea4-Sg/s1600/template.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzFGVc2FoDK1U8v-NQW9BeExwx0FRF82O3AA0jkdh1qOC1Njj4Z1RHSoerdmELnHOZl1of0lIE3JQfFNJix4oDAoJ9DtDKF45lSQVFWeack0MsFWZEwQHkVOZKEhFdfFNTBTr-ea4-Sg/s1600/template.png" height="320" width="240" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuxxeDtfY9wrnXdRFlMb6QENLt0gfP0GQ0k2OcTv4kfoNGmy-OAFFqGvS5GEPFr-THp43DYFPkYL8mZyi3tlAvG3fSFlLWhPre1pU9Do3AhiwfMtL0NP-IKKjll3LnROt96h7K_dMWTg/s1600/target.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuxxeDtfY9wrnXdRFlMb6QENLt0gfP0GQ0k2OcTv4kfoNGmy-OAFFqGvS5GEPFr-THp43DYFPkYL8mZyi3tlAvG3fSFlLWhPre1pU9Do3AhiwfMtL0NP-IKKjll3LnROt96h7K_dMWTg/s1600/target.png" height="320" width="240" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif; font-size: x-small;">左面と右面</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><b>(3) 局所差分を算出</b></span><br />
<span style="font-family: Verdana, sans-serif;">ざっくり両面の画像が取れましたが、歪みのため単純比較はできません。</span><br />
<span style="font-family: Verdana, sans-serif;">例えば、左と右のピクセルの色距離を単純に比較(</span><span style="font-family: Courier New, Courier, monospace;">AbsDiff</span><span style="font-family: Verdana, sans-serif;">)するだけでは、こんなことになってしまいます:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsQzhMboEndNL2ylXUF8x95tqMKOgfRQtjdmEgH3ul3YhjmqzIk04XLZsrxso8BxEuo98dLZQN3__TEs8kTtexI2PDH5yct65zcBpsCs8lxAPwQKBU9mnRtDjWVcbADANJzkXe2f5utA/s1600/simpleCompare.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsQzhMboEndNL2ylXUF8x95tqMKOgfRQtjdmEgH3ul3YhjmqzIk04XLZsrxso8BxEuo98dLZQN3__TEs8kTtexI2PDH5yct65zcBpsCs8lxAPwQKBU9mnRtDjWVcbADANJzkXe2f5utA/s1600/simpleCompare.png" height="320" width="240" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">左面と右面の同じ位置のピクセルの色の距離。これでは間違い部分は見つけられない。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">そこでどうするかというと、</span><br />
<span style="font-family: Verdana, sans-serif;">左面の小さい領域を取り出し、</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAtaQAmsLOp8GNm_NYj_fGP1c9OfYyOijUhICRBXh5HNWORVUOOEjCRhCL4qh3z1y6jClGmris9pXwkKfJbu6Omr9bHxs5nq-s4uST8c2WHveR3NHYWSZ59xrfuu1Th8hNAssX2G_RtQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.51.02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAtaQAmsLOp8GNm_NYj_fGP1c9OfYyOijUhICRBXh5HNWORVUOOEjCRhCL4qh3z1y6jClGmris9pXwkKfJbu6Omr9bHxs5nq-s4uST8c2WHveR3NHYWSZ59xrfuu1Th8hNAssX2G_RtQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.51.02.png" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">100x100の小さい領域。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">再度オブジェクト認識で右面から同じ領域を見つけ、</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28olFOTNBVW-tdv9zRgkZvP2-dDzXND4bs-EI4KUHdYbCoHBrY7KB7c-WyxmXGHkhgDHIRStCp18IBeQ-IT_mbK-gRIuDJWX9_6Camb2hTOqLtNDtmUVv3RTUgOZplWa505KdldWzUg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.54.31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28olFOTNBVW-tdv9zRgkZvP2-dDzXND4bs-EI4KUHdYbCoHBrY7KB7c-WyxmXGHkhgDHIRStCp18IBeQ-IT_mbK-gRIuDJWX9_6Camb2hTOqLtNDtmUVv3RTUgOZplWa505KdldWzUg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+13.54.31.png" height="213" width="320" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">見つけた領域の左面と右面を比較、差分抽出(</span><span style="font-family: Courier New, Courier, monospace;">absDiff→threshold→erode→dilate)</span><span style="font-family: Verdana, sans-serif;">します。</span><br />
<span style="font-family: Verdana, sans-serif;">文字の輪郭はどうしても差分ノイズが乗りますが、</span><span style="font-family: Courier New, Courier, monospace;">erode</span><span style="font-family: Verdana, sans-serif;">で大体消えます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcVO2z5xkx0QbV_j60-o-Fr7HySUZmjDwgVh2-G2nzzXFInVYcqV0esKyyfcsgId4UOmDcoRXqnRxvfT6dN7QBfXZuz-5WaDvhsl_CaaLMGiwh8MY5KnOjREkspBya9u_d3dQ-5O_PA/s1600/findDiff.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQcVO2z5xkx0QbV_j60-o-Fr7HySUZmjDwgVh2-G2nzzXFInVYcqV0esKyyfcsgId4UOmDcoRXqnRxvfT6dN7QBfXZuz-5WaDvhsl_CaaLMGiwh8MY5KnOjREkspBya9u_d3dQ-5O_PA/s1600/findDiff.png" height="150" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;">この局所領域を少しずつずらして、ページ全体の差分画像を作り上げます:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghihX8FyuyyD9RRQBHgkTG0N91janbgihqfRTP038RqP5tkhyphenhyphencLvLX-Kl6DxDUKDZ5PJe-BsnUA67V2EUPfCx7ePP5JNC7Fc0RQoK00x3b0vzcsy1e8x82WNWHIItSligKf3IWwa8qHA/s1600/pDiff.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghihX8FyuyyD9RRQBHgkTG0N91janbgihqfRTP038RqP5tkhyphenhyphencLvLX-Kl6DxDUKDZ5PJe-BsnUA67V2EUPfCx7ePP5JNC7Fc0RQoK00x3b0vzcsy1e8x82WNWHIItSligKf3IWwa8qHA/s1600/pDiff.png" height="320" width="240" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzFGVc2FoDK1U8v-NQW9BeExwx0FRF82O3AA0jkdh1qOC1Njj4Z1RHSoerdmELnHOZl1of0lIE3JQfFNJix4oDAoJ9DtDKF45lSQVFWeack0MsFWZEwQHkVOZKEhFdfFNTBTr-ea4-Sg/s1600/template.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzFGVc2FoDK1U8v-NQW9BeExwx0FRF82O3AA0jkdh1qOC1Njj4Z1RHSoerdmELnHOZl1of0lIE3JQfFNJix4oDAoJ9DtDKF45lSQVFWeack0MsFWZEwQHkVOZKEhFdfFNTBTr-ea4-Sg/s1600/template.png" height="320" width="240" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif; font-size: x-small;">(左)差分画像 (右)元のページ</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Verdana, sans-serif; font-size: x-small;">ちゃんと答えのところに大きい差分が出てる。</span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><br /></span></div>
<span style="font-family: Verdana, sans-serif;"><b>(4) 間違い部分の抽出</b></span><br />
<span style="font-family: Verdana, sans-serif;">最後に差分画像から輪郭抽出(</span><span style="font-family: Courier New, Courier, monospace;">findContours</span><span style="font-family: Verdana, sans-serif;">)して、「間違い」を探します。</span><br />
<span style="font-family: Verdana, sans-serif;">見つけた領域を元の画像に描画したのが以下です:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0PBCTavBBtdUDttXsxiIZMDjXGnY-KpX7sAtDYZJKUjrxhp7MWJ3ozIKCmPfrstgqM9M__lgzf-eeo74oJPUYYuiwvGbbMzLNJEM9hscNkwP1KSb5cAlO4cgn9WLJNdPU4vXpe4BGw/s1600/out_tagged.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw0PBCTavBBtdUDttXsxiIZMDjXGnY-KpX7sAtDYZJKUjrxhp7MWJ3ozIKCmPfrstgqM9M__lgzf-eeo74oJPUYYuiwvGbbMzLNJEM9hscNkwP1KSb5cAlO4cgn9WLJNdPU4vXpe4BGw/s1600/out_tagged.png" height="480" width="640" /></span></a></div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">誤認識は3つあります。</span><br />
<span style="font-family: Verdana, sans-serif;">また、一個だけ見つけられていないのがありますね。(どこでしょう?)</span><br />
<span style="font-family: Verdana, sans-serif;">実際には二値化のステップの閾値を下げれば見つけられますが、そのぶん誤認識も増えます。</span><br />
<span style="font-family: Verdana, sans-serif;">今回の問題では、精度を下げてでも再現率を上げた方がいいですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">というわけで、一番最初にページ領域を手作業でタグ付けする部分以外は、全自動で間違い探しを解くことができました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Verdana, sans-serif; font-size: x-large; font-weight: normal;">さいごに</span></h2>
<div>
<span style="font-family: Verdana, sans-serif;">・最初にテンプレを手作業で作らないといけないのは、いろいろ自動化する方法があります。例えば「同じような画像が2つ並んでる一番大きい領域を探す」みたいなことをしたり、机を見つけて除外するとかすればいいんですが、ちょっと汎用性が落ちそうなので今回は止めました。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・<a href="http://www.saizeriya.co.jp/entertainment/">サイゼリヤのサイト</a>に過去の間違い探しの画像データが上がってます。元画像なので、精度よく間違い認識できます。答えも載ってるけどな!</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXtZ5yEivUjY4mjPN_H261mCbMfXuC4ZA2-xYNbBIPFOLt56NUbw3WsCWFt2L0isdEfEweaeEQ3ONZcx4LBO4wNbkqeeW3dfI0TW8B2cXImfeyDXfyhwJO_sGeeJtokRVXInvDujNDsw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-11-16+15.13.24.png" height="400" style="margin-left: auto; margin-right: auto;" width="392" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;">歪みが無いので簡単に間違いを認識できる。</td></tr>
</tbody></table>
<div>
<div>
<span style="font-family: Verdana, sans-serif;">・iPhoneアプリにしたり、メニューに直接答えを投影したりとか色々見せ方が考えられますね。暇な時作ります。</span></div>
</div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Verdana, sans-serif;">・OpenCVが使えれば世の中の大抵の問題は解決できる。</span></div>
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<hr />
<h3>
<span style="font-family: Verdana, sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">山手線リアルタイム混雑情報で遊んでみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/03/140.html">140文字の「重み」を言語毎に比較してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html">世界で一番住みやすい場所を計算してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html">Topcoderに一番有利な時間帯を調べてみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- </span><a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html" style="font-family: Verdana, sans-serif;">Wikipediaのデータで人生解析をしてみよう</a><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html">明日の天気を過去の似た日から合成して可視化してみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-79884390726140444942014-11-03T15:42:00.001+09:002015-04-05T21:42:33.338+09:00建物のWifiをホッピングして東京から大阪まで通信できるか<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixpRidWz8skI4lg30Nkrq78dMacICF5ZRRPBMp6QRMsuedVINhPLDoDXfnIISOluac2RpywXkbABZY4IYDDZF_EBSG14Tc3L4CpPl9dr1OECfYp-6Kfsk6nSNMORfcikBr5500xeF1YA/s1600/%E9%96%A2%E6%9D%B1%E3%81%AE%E5%BB%BA%E7%89%A9%E5%88%86%E5%B8%83.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixpRidWz8skI4lg30Nkrq78dMacICF5ZRRPBMp6QRMsuedVINhPLDoDXfnIISOluac2RpywXkbABZY4IYDDZF_EBSG14Tc3L4CpPl9dr1OECfYp-6Kfsk6nSNMORfcikBr5500xeF1YA/s1600/%E9%96%A2%E6%9D%B1%E3%81%AE%E5%BB%BA%E7%89%A9%E5%88%86%E5%B8%83.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">日本ほど建物密度が高い国なら、Wifiだけでどこまでも行けるはず・・!<br /><span style="font-size: xx-small;">(Satellite Image taken from TerraMetrics for educational purposes)</span></span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">こんにちは。河本です。</span><br />
<span style="font-family: Verdana, sans-serif;">最近ネットの自由を脅かす様々なニュースが話題になってますね。</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://arstechnica.com/tech-policy/2014/07/snowden-nsa-employees-routinely-pass-around-intercepted-nude-photos/" target="_blank">NSA職員が傍受したヌード写真で遊んでたり</a>、</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.forbes.com/sites/emmawoollacott/2013/11/27/is-the-uk-sleepwalking-towards-internet-censorship/" target="_blank">英国がネット検閲に力入れ始めたり</a>、</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.gizmodo.jp/2014/10/post_15793.html" target="_blank">ハンガリー政府が「インターネット税」の導入を決めたり</a>。</span><br />
<span style="font-family: Verdana, sans-serif;">現行のインターネットは、施政者の息がかかった電気通信事業者のインフラ無しでは繋ぐことすら出来ません。</span><br />
<span style="font-family: Verdana, sans-serif;">これはしょうがないことなのでしょうか?</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
ところでネットワークの種類に<a href="http://en.wikipedia.org/wiki/Wireless_ad_hoc_network" target="_blank">WANET</a>というものがあります。</span><br />
<span style="font-family: Verdana, sans-serif;">簡単に言うと、短距離の無線ノード同士を接続することで、バケツリレー的にデータを遠くまで運ぶ技術です。</span><br />
<span style="font-family: Verdana, sans-serif;">中央の統制者が居ないため、検閲しにくく、インターネット従量課税なんてアホなこともできません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br />
そこで今回は、もし<b>住宅に置かれたWifi基地局同士を繋いで純度100%の「草の根インターネット」を作ったら</b>、東京からどれぐらい遠くまで通信できるのか、を検証してみたいと思います。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJjRkty2wEkheV_NI7XFhKv8lLtuQMWkjA6AKlDH7od5lrfIb1pHTQZogkMLsoy8W-RASfRva3-z_FhMyZtfB10-rvqeMhaFyyn5fFCanSE-diiNM_h0RFPs56vucIoYrrrDyEUMoZg/s1600/%E8%8D%89%E3%81%AE%E6%A0%B9%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJjRkty2wEkheV_NI7XFhKv8lLtuQMWkjA6AKlDH7od5lrfIb1pHTQZogkMLsoy8W-RASfRva3-z_FhMyZtfB10-rvqeMhaFyyn5fFCanSE-diiNM_h0RFPs56vucIoYrrrDyEUMoZg/s1600/%E8%8D%89%E3%81%AE%E6%A0%B9%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF.png" height="362" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">各戸に短距離無線しか無くても、複数の家を中継すれば遠いところまで通信できる</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br />
<span style="font-size: x-large;">前提条件</span></span><br />
<span style="font-family: Verdana, sans-serif;">・国内の全ての建物に1台の無線基地局が置かれている</span><br />
<span style="font-family: Verdana, sans-serif;">・基地局は通信圏内にある他の基地局と相互接続されている</span><br />
<span style="font-family: Verdana, sans-serif;">・通信距離は色々実験する(Wifi:~100m ブーストしたWifi:3200m)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">今回は「そもそも接続可能なのか」という観点だけを考えるので、伝送速度やロバスト性などは考えないとする。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">建物データの取得</span><br />
<span style="font-family: Verdana, sans-serif;">この検証のためには、国内の全ての建物の位置を取得する必要がありますが、そんなデータはどこにも公開されていません。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">そこで今回は、Google Mapsから画像認識してクローリングしてきました。</span><br />
<span style="font-family: Verdana, sans-serif;">怒られそうなので詳細は省きますが、このように建物の中心点と大きさを認識します:</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxDYZ6n6vHQJTnZyz4Ydhnn3kGK0sMmYV2aMcNA6Jx8lp_spVWIO8QnfT2Ud0TZeRelWihQbM8u5tJXlkc-BLZgBDLY1Jsg9Y6XmG43K8WGJo__qjSmQrH1xaj7gG0FaMSQOqSMRa3g/s1600/%E5%BB%BA%E7%89%A9%E3%81%AE%E7%94%BB%E5%83%8F%E8%AA%8D%E8%AD%98.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxDYZ6n6vHQJTnZyz4Ydhnn3kGK0sMmYV2aMcNA6Jx8lp_spVWIO8QnfT2Ud0TZeRelWihQbM8u5tJXlkc-BLZgBDLY1Jsg9Y6XmG43K8WGJo__qjSmQrH1xaj7gG0FaMSQOqSMRa3g/s1600/%E5%BB%BA%E7%89%A9%E3%81%AE%E7%94%BB%E5%83%8F%E8%AA%8D%E8%AD%98.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">建物認識の結果<br /><span style="font-size: xx-small;">(Satellite Image taken from TerraMetrics for educational purposes)</span></span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">こんな感じで全国4000万戸の建物を抽出しました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">下の図は国内の全建物の密度を示してます。東京と大阪が濃いですね。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoGuHTXsXtpVRhlYZ2snDXGHOjyjROYmaqEHvB7IYAe-DPGfzYP9JuMWYPQ3Ct5GeFOnIB6cuVLF2uDMhVsVzzL4mkZ_y-k8_VEZRWX5-CBRmax8wfQ5zpELhZZY3-lh6ShHGkvJv5IQ/s1600/%E5%9B%BD%E5%86%85%E3%81%AE%E5%BB%BA%E7%89%A9%E3%83%9E%E3%83%83%E3%83%95%E3%82%9A.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoGuHTXsXtpVRhlYZ2snDXGHOjyjROYmaqEHvB7IYAe-DPGfzYP9JuMWYPQ3Ct5GeFOnIB6cuVLF2uDMhVsVzzL4mkZ_y-k8_VEZRWX5-CBRmax8wfQ5zpELhZZY3-lh6ShHGkvJv5IQ/s1600/%E5%9B%BD%E5%86%85%E3%81%AE%E5%BB%BA%E7%89%A9%E3%83%9E%E3%83%83%E3%83%95%E3%82%9A.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">国内の建物分布<br /><span style="font-size: xx-small;">(Satellite Image taken from TerraMetrics for educational purposes)</span></span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">Wifiを使う場合の通信範囲</span><br />
<span style="font-family: Verdana, sans-serif;">各家に通常のWifi基地局(通信半径100m)しか無い場合に、東京駅からホッピングで通信できる理論的な範囲(=100m以内にある建物同士を繋いで行った時に、東京駅からカバーできる領域)を計算してみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUoXFvC0lobgzt5-KV1_adySq8g_9-hLLwNiRbG0xBQ516zuzGB925muVDojxp7K02JXcn00sYLdCm0XX2UpbdVB-ryo9IEOms94haG9WYsMFOLQv-aAvEC2047WiQWHoqd7gt4TfPPA/s1600/area_100.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUoXFvC0lobgzt5-KV1_adySq8g_9-hLLwNiRbG0xBQ516zuzGB925muVDojxp7K02JXcn00sYLdCm0XX2UpbdVB-ryo9IEOms94haG9WYsMFOLQv-aAvEC2047WiQWHoqd7gt4TfPPA/s1600/area_100.png" height="364" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離100mのWANETで東京駅からWifiのホッピングで通信可能な範囲</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">意外と狭いですね。</span><br />
<span style="font-family: Verdana, sans-serif;">通信領域内の建物は246万戸、全体の5%程度の建物しか含まれません。</span><br />
<span style="font-family: Verdana, sans-serif;">東京の半分と埼玉県の一部分しか入っていません。</span><br />
<span style="font-family: Verdana, sans-serif;">大阪と通信するなんて、夢のまた夢でした。</span><br />
<div>
<span style="font-family: Verdana, sans-serif;"><br /></span><span style="font-family: Verdana, sans-serif;">よく見ると、荒川と多摩川に塞き止められていることがわかります。</span><br />
<span style="font-family: Verdana, sans-serif;">Wifiの通信距離では、川を越えられないんですね。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg553ZUPulugvPjMFYFY1C6qouIuJjghV9KnkYtaeBtkQfwv1KHOtQ0c3J7JS2i_U95yEFpK1iXQUjxB0-Iy6JeBQMG21XoY5QVuunw_IQ0BoilGs1ku54CGXJtEWo_-VB1Mfn4VvBT_Q/s1600/Wifi%E3%81%AF%E5%B7%9D%E3%82%92%E8%B6%8A%E3%81%88%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg553ZUPulugvPjMFYFY1C6qouIuJjghV9KnkYtaeBtkQfwv1KHOtQ0c3J7JS2i_U95yEFpK1iXQUjxB0-Iy6JeBQMG21XoY5QVuunw_IQ0BoilGs1ku54CGXJtEWo_-VB1Mfn4VvBT_Q/s1600/Wifi%E3%81%AF%E5%B7%9D%E3%82%92%E8%B6%8A%E3%81%88%E3%82%89%E3%82%8C%E3%81%AA%E3%81%84.png" height="337" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">荒川を越えられなかった。(赤点:東京駅から通信できる建物。対岸には赤点が存在しない。)</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">次に、必要なホップ数を見てみましょう。</span><br />
<span style="font-family: Verdana, sans-serif;">下の図では、東京駅から通信する際に中継する建物の数を表しています。</span><br />
<span style="font-family: Verdana, sans-serif;">最大(<a href="https://www.google.co.jp/maps/place/%E6%9D%B1%E5%90%BE%E9%87%8E%E9%A7%85%EF%BC%88%E5%9F%BC%E7%8E%89%EF%BC%89/@35.892087,139.260681,17z/data=!3m1!4b1!4m2!3m1!1s0x60192ee639d98069:0x21c8138530fce89a" target="_blank">東吾野あたり</a>まで)で700ホップも必要なことがわかります。</span><br />
<span style="font-family: Verdana, sans-serif;">今回は通信の性能の話はしませんが、スループットを出すのも大変そうですね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4jruwn3Tvu3cjH6nKlAv-f2AyFoSyJgjE281uwaIRoS9zGDQLVAyoInYG4X9sXXS5BufepEr4486eK86DoXbyv3k-_AD9fk_8RVVYvjJl31L_0ujrpF-_rJJCRdzl3FA1wPWEa-X2Uw/s1600/numHops_100.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4jruwn3Tvu3cjH6nKlAv-f2AyFoSyJgjE281uwaIRoS9zGDQLVAyoInYG4X9sXXS5BufepEr4486eK86DoXbyv3k-_AD9fk_8RVVYvjJl31L_0ujrpF-_rJJCRdzl3FA1wPWEa-X2Uw/s1600/numHops_100.png" height="362" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">ノード間通信に必要なホップ数。都内はだいたい100ホップぐらいで行ける。</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">というわけで、一般的なWifi基地局では、都内ですら通信できない場所があるという、残念な結果になりました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">Wifiをブーストした場合の通信範囲</span><br />
<span style="font-family: Verdana, sans-serif;">普通のWifi(IEEE 802.11 a/b/g/n)で通信できる距離は、国内では100mだけですが、</span><br />
<span style="font-family: Verdana, sans-serif;">せっかくなのでブースターを使って通信距離を伸ばした場合に、どれぐらい範囲が広がるか実験してみましょう。(日本では違法です)</span><br />
<span style="font-family: Verdana, sans-serif;"><a href="http://www.ebay.com/itm/2-Mile-Range-45dBm-Long-Range-WIFI-Booster-USB-Adapter-Receiver-Antenna-Combo-/140437583647" target="_blank">このブースター</a>は3.2kmまで行けるなどと言っているので、</span><br />
<span style="font-family: Verdana, sans-serif;">200m, 500m, 1000m, 2000m, 3200mで実験してみました。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><b>各建物の通信距離が200mの場合</b></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn8F9bDlBAAhvRummIY5M3D6Rw4xfjnjEtaMy_TLyW85vrteczBK048W2bfLDilD6vLE7Jn1qik5eI5GkMYwEIq55QWJd4S78i3igbJg7_8JvuHsZxwdyHrmLJmKTOzvVEx-oRNiSg/s1600/numHops_200.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkOn8F9bDlBAAhvRummIY5M3D6Rw4xfjnjEtaMy_TLyW85vrteczBK048W2bfLDilD6vLE7Jn1qik5eI5GkMYwEIq55QWJd4S78i3igbJg7_8JvuHsZxwdyHrmLJmKTOzvVEx-oRNiSg/s1600/numHops_200.png" height="364" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離200mのWANETで東京駅から建物をホッピングして通信できる範囲</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">通信可能な建物は798万戸、全体の17%です。</span><br />
<span style="font-family: Verdana, sans-serif;">急に広がりましたね。一番北は群馬まで届いています。</span><br />
<span style="font-family: Verdana, sans-serif;">興味深いのが、荒川と多摩川の越え方です。</span><br />
<span style="font-family: Verdana, sans-serif;">通信距離が200mあっても川の本流では越えられていないため、川が細くなる場所まで大回りしてのルートが取られています。</span><br />
<span style="font-family: Verdana, sans-serif;">一方、江戸川と相模川はそれでも越えられていない様子です。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-weight: bold;"><span style="font-family: Verdana, sans-serif;">各建物の通信距離が500mの場合</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi84OYxSm8wn2g9QJF-0GHaOuetNPTYQxg0heP4vFkIgzj4l9Ih6DBGtkHAT_HXVoo3flYm4Ro4d9EcKXRo4GI-jGcUifR7AUEFnXnH2KoMUYn0r-Nn_WcH2cR4qytpR5tAggntOsRzoQ/s1600/numHops_500.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi84OYxSm8wn2g9QJF-0GHaOuetNPTYQxg0heP4vFkIgzj4l9Ih6DBGtkHAT_HXVoo3flYm4Ro4d9EcKXRo4GI-jGcUifR7AUEFnXnH2KoMUYn0r-Nn_WcH2cR4qytpR5tAggntOsRzoQ/s1600/numHops_500.png" height="374" width="640" /></span></a></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離500mのWANETで東京駅から建物をホッピングして通信できる範囲</span></td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">通信できる建物は1320万戸、全体の28%です。</span><br />
<span style="font-family: Verdana, sans-serif;">川は難なく越えられるようになりました。</span><br />
<span style="font-family: Verdana, sans-serif;">北は<a href="https://www.google.co.jp/maps/place/%E7%A6%8F%E5%B3%B6%E7%9C%8C%E3%81%84%E3%82%8F%E3%81%8D%E5%B8%82/@37.0878951,140.7857612,10z/data=!3m1!4b1!4m2!3m1!1s0x60210447d5208bc7:0x807a04d828077453" target="_blank">いわき</a>まで届いています。</span><br />
<span style="font-family: Verdana, sans-serif;">しかし伊豆半島の田舎っぷりには負けてしまった様子です。 </span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-weight: bold;"><span style="font-family: Verdana, sans-serif;">各建物の通信距離が1000mの場合</span></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7hlE9rkIMoLm9ojoExDeKv7c_K5dRfAbBxPy1yesyV3scKFtQqRwmfnLVSz2yg62D-L2W8K6t4hsijcZdt7NW1lD6C6a6j_J9kts4u331ivQGhxhfP6XFDc1fhly06a2AS-lQpZoj0g/s1600/numHops_1000.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7hlE9rkIMoLm9ojoExDeKv7c_K5dRfAbBxPy1yesyV3scKFtQqRwmfnLVSz2yg62D-L2W8K6t4hsijcZdt7NW1lD6C6a6j_J9kts4u331ivQGhxhfP6XFDc1fhly06a2AS-lQpZoj0g/s1600/numHops_1000.png" height="344" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離1000mのWANETで東京駅から建物をホッピングして通信できる範囲</span></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">通信可能な建物は3202万戸、全体の68%です。</span><br />
<span style="font-family: Verdana, sans-serif;">一気に通信範囲が全国レベルに広がりました。</span><br />
<span style="font-family: Verdana, sans-serif;">大阪ばかりか、九州まで到達できたのは驚きですね。</span><br />
<span style="font-family: Verdana, sans-serif;">九州まで行くのに1200ホップ程度で済んでいることも予想外でした。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">一方、北の<a href="https://www.google.co.jp/maps/place/%E7%A6%8F%E5%B3%B6%E7%9C%8C%E3%81%84%E3%82%8F%E3%81%8D%E5%B8%82/@37.0878951,140.7857612,10z/data=!3m1!4b1!4m2!3m1!1s0x60210447d5208bc7:0x807a04d828077453" target="_blank">いわき</a>はどうしても越えられていないようです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">また、伊豆付近の接続エリアが疎なのが気になりますね。</span><br />
<span style="font-family: Verdana, sans-serif;">このへんを空爆されたら西と東の通信が遮断されそうです。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-weight: bold;"><span style="font-family: Verdana, sans-serif;">各建物の通信距離が2000mの場合</span></span><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNUGyi7PzAwjgQeeJpynbcMImB8SkI6Wc3oIWhaq8BTjyytjhFcz_Gt2CyYVqtb9dioj3BJ_SMQeInQLJY9Uc2k4Q6VlZBIpOgS6FI5Xf7Cu94KoDKZ_FGJkXsyqt6IWv_6IaiCuk45A/s1600/numHops_2000.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNUGyi7PzAwjgQeeJpynbcMImB8SkI6Wc3oIWhaq8BTjyytjhFcz_Gt2CyYVqtb9dioj3BJ_SMQeInQLJY9Uc2k4Q6VlZBIpOgS6FI5Xf7Cu94KoDKZ_FGJkXsyqt6IWv_6IaiCuk45A/s1600/numHops_2000.png" height="366" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離2000mのWANETで東京駅から建物をホッピングして通信できる範囲</span></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">通信可能な建物は3258万戸、全体の70%です。</span><br />
<span style="font-family: Verdana, sans-serif;">さっきから50万戸ぐらいしか増えてません。</span><br />
<span style="font-family: Verdana, sans-serif;">鳥取まで開通したぐらいの変化でしょうか。</span><br />
<br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-weight: bold;"><span style="font-family: Verdana, sans-serif;">各建物の通信距離が3200mの場合</span></span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPrXLVWUQcT_ACyccD6iF1EbxhZ3CvBTZ4k6R_T0rIpZVbfO8DhjnsiDiNVtZqK186oAbPyG_H9pN20rKnF0wKZRQ8ikct2PuN7GdAqvgl7Yeg-5c1bYBU8CV6KPSx78MvZFEXhOQryg/s1600/numHops_3200.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPrXLVWUQcT_ACyccD6iF1EbxhZ3CvBTZ4k6R_T0rIpZVbfO8DhjnsiDiNVtZqK186oAbPyG_H9pN20rKnF0wKZRQ8ikct2PuN7GdAqvgl7Yeg-5c1bYBU8CV6KPSx78MvZFEXhOQryg/s1600/numHops_3200.png" height="348" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td class="tr-caption" style="font-size: 13px;"><span style="font-family: Verdana, sans-serif;">ノード間通信距離3200mのWANETで東京駅から建物をホッピングして通信できる範囲</span></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<span style="font-family: Verdana, sans-serif;">通信可能な建物は3380万戸、全体の72%です。</span><br />
<span style="font-family: Verdana, sans-serif;">2000mとほとんど違いがわかりません。長野県の山間部にもネットが開通したぐらいです。</span><br />
<span style="font-family: Verdana, sans-serif;">九州まで350ホップで通信できるようになったのは嬉しいですが、相変わらず<a href="https://www.google.co.jp/maps/place/%E7%A6%8F%E5%B3%B6%E7%9C%8C%E3%81%84%E3%82%8F%E3%81%8D%E5%B8%82/@37.0878951,140.7857612,10z/data=!3m1!4b1!4m2!3m1!1s0x60210447d5208bc7:0x807a04d828077453" target="_blank">いわき</a>が越えられていません。。。</span><span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif; font-size: x-large;">まとめ</span><br />
<span style="font-family: Verdana, sans-serif;">・一般的なWifiをホッピングするだけで23区内は通信できる(かも)。その外には行けない。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・1000mぐらい通信距離があれば全国レベルのネットワークが貼れる</span><br />
<span style="font-family: Verdana, sans-serif;"> →全部の家に1000mの基地局を置く必要はないかもしれない。例えば川の手前とかに置くだけで、残りは通常のWifiで十分かもしれない。(未検証)</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・完全に自由が守られた国では、こんなネットワークは無駄かもしれません。でも広域災害が起きたり、日本のインターネットへの締め付けが強くなってきたときに「<b>市民がいかにして自らを守るか</b>」を市民レベルで常に考えていくことに価値があると思います。</span><br />
<span style="font-family: Verdana, sans-serif;">・例えば独裁国家にこっそり無線基地局をばらまいて、検閲不可能なネットワークを無理やり張っちゃったりしたら面白いよね。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・地図とか衛星写真を画像認識すると色々解析できて面白い。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">・いわきの闇は深い。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span style="font-family: Verdana, sans-serif;">おしまい。</span><br />
<span style="font-family: Verdana, sans-serif;"><br /></span>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjck-lWy3Xv2QL3NRTupmpC66a6toB5y_8MyTaP87pwx4SuZytcuZkO2dvrUQ3TKfoer-c4w2yd5zIYNAZAiPorRZxBsjoBBJ30Jf3hzD0njzJ5Pq-gcn9j82Hk6a4cilf-jtprdXPp7w/s1600/%E9%96%A2%E8%A5%BF%E3%81%AE%E5%BB%BA%E7%89%A9%E5%88%86%E5%B8%83.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Verdana, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjck-lWy3Xv2QL3NRTupmpC66a6toB5y_8MyTaP87pwx4SuZytcuZkO2dvrUQ3TKfoer-c4w2yd5zIYNAZAiPorRZxBsjoBBJ30Jf3hzD0njzJ5Pq-gcn9j82Hk6a4cilf-jtprdXPp7w/s1600/%E9%96%A2%E8%A5%BF%E3%81%AE%E5%BB%BA%E7%89%A9%E5%88%86%E5%B8%83.png" height="330" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: xx-small;"><span style="font-family: Verdana, sans-serif;">(Satellite Image taken from TerraMetrics for educational purposes)</span></span></td></tr>
</tbody></table>
<br />
<hr />
<h3>
<span style="font-family: Verdana, sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">山手線リアルタイム混雑情報で遊んでみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/03/140.html">140文字の「重み」を言語毎に比較してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html">世界で一番住みやすい場所を計算してみた</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しが難しすぎたので大人の力で解決した</a></span><br />
<span style="font-family: Verdana, sans-serif;">- </span><a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html" style="font-family: Verdana, sans-serif;">Topcoderに一番有利な時間帯を調べてみた</a><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/08/wikipedia.html">Wikipediaのデータで人生解析をしてみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html">明日の天気を過去の似た日から合成して可視化してみよう</a></span><br />
<span style="font-family: Verdana, sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com1tag:blogger.com,1999:blog-2931113489513736946.post-30085580195989255092014-10-04T20:25:00.001+09:002014-10-07T19:52:20.788+09:00RomoCart, a hack to turn your living room into a Mario Kart course<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">(In Japanese <a href="http://kawalabo.blogspot.jp/2014/10/romo.html" target="_blank">here</a>)</span></div>
<div class="separator" style="clear: both; text-align: right;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRBNOT2Hs-KKNq6x_jgGRN2X6vlP0QPA4svataRqp3dJiWRMHfommVZ_56FAmSJKjQOC58GW5m3Hvrn8m8ejR8PoWNM8O2SMEkA3cE8GZ8-6uxzLowCajBPGN9rP7agf7slXiKa3QdiA/s1600/P1170323.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRBNOT2Hs-KKNq6x_jgGRN2X6vlP0QPA4svataRqp3dJiWRMHfommVZ_56FAmSJKjQOC58GW5m3Hvrn8m8ejR8PoWNM8O2SMEkA3cE8GZ8-6uxzLowCajBPGN9rP7agf7slXiKa3QdiA/s1600/P1170323.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />RomoCart is the third in our series of home hack projects (<a href="http://tempescope.com/" target="_blank">Tempescope</a>, <a href="http://kawalabo.blogspot.jp/2013/08/moving-windows-simple-way-to-transform.html" target="_blank">Moving Windows</a>, <a href="http://kawalabo.blogspot.jp/2014/01/myra-intelligent-robotic-lighting.html" target="_blank">Myra</a>) to make your living room a more exciting place to be in.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Here, we used <a href="http://www.amazon.com/gp/product/B00FTLV29I/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00FTLV29I&linkCode=as2&tag=kesla-20&linkId=O5YEXCHJV4S47NQQ" target="_blank">Romo</a>, an educational robot toy that can be controlled using an iPhone app, to recreate the world of <a href="http://www.amazon.com/gp/product/B001GIUWX0/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B001GIUWX0&linkCode=as2&tag=kesla-20&linkId=V3ZKS6OWEY67II7T" target="_blank">Mario Kart</a> in your living room.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/77JFjtKEhSw" width="640"></iframe>
</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">By combining Romo and projection mapping, RomoCart lets you race robots around a race course generated in your living room, whilst firing missiles and throwing bananas at opponents.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">How it works</span></h2>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCart initially scans your room, and generates an optimal race course based on the layout of your room.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7MYeEdtbp1ZjdVnbzAlV2srRlx6vnLlucmcjnqt39fOH4_xC1atKLxwAuoo-8EEWU2N2sxayQl-XhBYysHwuUYHUPbyp6zTS9ju5txTsx_etybiGK25IvyPJNWFMH2vul858wUkfTiA/s1600/course_01.png" height="179" style="margin-left: auto; margin-right: auto;" width="320" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">The RGBD camera finds obstacles,</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK1UiPzZv-9-1Ri8ggISgpluUr-iPhVjkfw6P2GpWdY5oj1w3OgAYnuXqPbdL8vhqrUosfVnGLzjrkMroL1fSNb2Y4Jkar2jcdI0EqbLxV1HPhSPghHL4ugws-wE-roJ4WOjjk9dgDfA/s1600/course_02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK1UiPzZv-9-1Ri8ggISgpluUr-iPhVjkfw6P2GpWdY5oj1w3OgAYnuXqPbdL8vhqrUosfVnGLzjrkMroL1fSNb2Y4Jkar2jcdI0EqbLxV1HPhSPghHL4ugws-wE-roJ4WOjjk9dgDfA/s1600/course_02.png" height="179" width="320" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">and generates a circuit that best fits the open space.</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">The system tracks the Romos using the camera, and projects the game environment according to their positions.</span></div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh256pmpZek4pVWYi_ofnyrP9QHwe7oEY1Q3MviB8qkJsmHgLV-wHEN4M6-H0u8lbtkq_44y4z8Wy7FafjpkOU5TQ9n85um-6pPJhlTEYVX025-gTtbZEpLmlcw4Tw7gvT3As22iTkxsQ/s1600/start_race.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh256pmpZek4pVWYi_ofnyrP9QHwe7oEY1Q3MviB8qkJsmHgLV-wHEN4M6-H0u8lbtkq_44y4z8Wy7FafjpkOU5TQ9n85um-6pPJhlTEYVX025-gTtbZEpLmlcw4Tw7gvT3As22iTkxsQ/s1600/start_race.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">We gave Romos some exciting smoke trails...</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">During the race, players can pick up various items,</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglSEINC3YXhrPS1pXfOJc5ZP2rirEaN4fBFq3RceIqT-qM8OSqzGhcQBBflI63gLD9t6Ymutrkj2hhkjEyxBcibtf6Y8bfzn8Xx-Xx7mVJbDQg733Rpfnhjyq7ruIXXsX2WNTxqtkfzA/s1600/items.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglSEINC3YXhrPS1pXfOJc5ZP2rirEaN4fBFq3RceIqT-qM8OSqzGhcQBBflI63gLD9t6Ymutrkj2hhkjEyxBcibtf6Y8bfzn8Xx-Xx7mVJbDQg733Rpfnhjyq7ruIXXsX2WNTxqtkfzA/s1600/items.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">Various items and abilities exist, like the "accelerate" item which makes the player move twice as fast.</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">they can drop bananas, </span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSjFyA4RikwQMjyDZjcAkkgkIyY-k2Kuflb-bw-qY_DzUe1WjWfWThPp2m5HbOF_aV9zkcGAKKQ301GPLkgLGAC-L1QqblBkP-MEkeY8Qhq0ajiZYrjF5fDjXTKJ_xmaElMirs79Xkg/s1600/drop_banana.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSjFyA4RikwQMjyDZjcAkkgkIyY-k2Kuflb-bw-qY_DzUe1WjWfWThPp2m5HbOF_aV9zkcGAKKQ301GPLkgLGAC-L1QqblBkP-MEkeY8Qhq0ajiZYrjF5fDjXTKJ_xmaElMirs79Xkg/s1600/drop_banana.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">Flood the floor with bananas!</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />and fire missiles at your friends.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1GPXRh8EHL8V2zJKH-_1v0VzGrYw5Jqvb3Oo6InPSjatFZgeCR0PV9kQX3BAsv3Y5Dp2VSFa3jecm44MM6QgYQ6dU1yTyhWK-s8mNwwvvX1Tq1-q72vJb21i91IPqasxgu3IBLKD1g/s1600/missile_fire.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1GPXRh8EHL8V2zJKH-_1v0VzGrYw5Jqvb3Oo6InPSjatFZgeCR0PV9kQX3BAsv3Y5Dp2VSFa3jecm44MM6QgYQ6dU1yTyhWK-s8mNwwvvX1Tq1-q72vJb21i91IPqasxgu3IBLKD1g/s1600/missile_fire.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">Unleash missiles in your living room!</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">Because the RGBD camera tracks obstacles in real time, you can even step on incoming missiles to protect your Romo.</span><br />
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hqtRInBrJmE84CZ6sAGVkXCTSE9kbUdz0DvaUVnF1r88ZjwteKqZNCX8ZUzyf6NfXGyq6c90dihjz9S5bR5PsRMMqwaH-qix3-TiXD6U3OTmU5367io9btDMQa5yu3c9V75mQYcfcw/s1600/missile_block.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hqtRInBrJmE84CZ6sAGVkXCTSE9kbUdz0DvaUVnF1r88ZjwteKqZNCX8ZUzyf6NfXGyq6c90dihjz9S5bR5PsRMMqwaH-qix3-TiXD6U3OTmU5367io9btDMQa5yu3c9V75mQYcfcw/s1600/missile_block.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">In RomoCart, even your mum can join in as a <a href="https://www.google.co.jp/search?q=mario+thwomp&safe=off&client=safari&rls=en&source=lnms&tbm=isch&sa=X&ei=CJkvVLG8CNXt8gXXlYCYCg&ved=0CAgQ_AUoAQ&biw=1024&bih=525" target="_blank">Thwomp</a></span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">We've given special abilities to different objects.</span></div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUQtP61Bch6OT-fK2GKrBm-vEflTXaZtz5DU3wXVaGL0Wq4wT_f0-QIxd8XL2Drvsr_kMt_OTsTD8EQ48sEadUCW_LUNLF_8rzG8lpWyRMB5iW_2ECSOXtl_mg-i6B5YgIQCd8iWYUKA/s1600/evil_bear3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUQtP61Bch6OT-fK2GKrBm-vEflTXaZtz5DU3wXVaGL0Wq4wT_f0-QIxd8XL2Drvsr_kMt_OTsTD8EQ48sEadUCW_LUNLF_8rzG8lpWyRMB5iW_2ECSOXtl_mg-i6B5YgIQCd8iWYUKA/s1600/evil_bear3.png" height="436" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">A teddy bear acts as a rotating turret.</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;">and finally, when you cross the finish line, you're welcomed by fireworks.</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKwHMLOllH1VA9ji7rf9aK4WV-9KeteEEkS5uTs4OhyeHU5PKgBisA6v6SVaYZyG9uqYOzdrJXQD7DktpPd73JagOhzQd1wU_2Vj15CToGs-P-EQk52N7sOrS6H83caFwWu9WJN4zQw/s1600/hanabi.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKwHMLOllH1VA9ji7rf9aK4WV-9KeteEEkS5uTs4OhyeHU5PKgBisA6v6SVaYZyG9uqYOzdrJXQD7DktpPd73JagOhzQd1wU_2Vj15CToGs-P-EQk52N7sOrS6H83caFwWu9WJN4zQw/s1600/hanabi.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><br /></td></tr>
</tbody></table>
<div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCart physically turns a part of your home into a racing game.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">
<br />
</span><br />
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">The System</span></h2>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCart uses 3 pieces of hardware:</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">Romo</span></h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfljqCDMejan5MSna_hIRXukD6pOjCUs_t292An0g46z71lv13R-hVPph164uzecSSTlNK31eiv58BdYddHC0K6R3F0BTnZeH4KyAYnZgXp7Y1dF9KrHMX_bccv8v296sjec_9cmcKfw/s1600/P1150914.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfljqCDMejan5MSna_hIRXukD6pOjCUs_t292An0g46z71lv13R-hVPph164uzecSSTlNK31eiv58BdYddHC0K6R3F0BTnZeH4KyAYnZgXp7Y1dF9KrHMX_bccv8v296sjec_9cmcKfw/s1600/P1150914.JPG" height="480" width="640" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Buy them from <a href="http://www.amazon.com/gp/product/B00FTLV29I/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00FTLV29I&linkCode=as2&tag=kesla-20&linkId=O5YEXCHJV4S47NQQ" target="_blank">Amazon</a>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Romos have two caterpillar tracks that you can control independently, thus letting you program a "moving iPhone" very easily.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">For RomoCart, we built an app "</span><a href="http://kawalabo.blogspot.jp/2014/10/pcromoromote.html" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">Romote</a><span style="font-family: Arial, Helvetica, sans-serif;">" that receives and executes commands from a PC wirelessly.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">We use a gamepad to let users control the Romo, but override their movements with specific actions when, for example, the Romo gets hit by a missile.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">We thus use Romo's as an "intelligent radio controlled car".</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">RGBD Camera</span></h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkIgXuhE52ITg_hvKFNQUyzIKuy-oh5-rqumRa0CLj1B5zLcPUtKMr3mmATE0En45Kl43V15r5704fffV_JRHZBpiMEXfgDSYlO1gyOYuTemuV55IA03E7myudsrPw2JEkBfe6adugcA/s1600/P1170344.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkIgXuhE52ITg_hvKFNQUyzIKuy-oh5-rqumRa0CLj1B5zLcPUtKMr3mmATE0En45Kl43V15r5704fffV_JRHZBpiMEXfgDSYlO1gyOYuTemuV55IA03E7myudsrPw2JEkBfe6adugcA/s1600/P1170344.JPG" height="480" width="640" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
Hang an RGBD camera (like <a href="http://www.amazon.com/gp/product/B00KZIVEXO/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00KZIVEXO&linkCode=as2&tag=kesla-20&linkId=EZIK277FGW6UYALY" target="_blank">Kinect</a>, or <a href="http://www.amazon.com/gp/product/B00KK2OGC6/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00KK2OGC6&linkCode=as2&tag=kesla-20&linkId=IPZ2MU2PHEI2GKOS" target="_blank">Xtion Pro Live</a>) from your ceiling, to track objects, and auto-generate circuits.<br />
(We recommend Xtion, as it's lighter and works on USB bus power)</div>
</div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">Projector</span></h4>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCJbOIbDin8ORMbNpBIA_qLsR-B_39qDA2eIJksqYQFWhPahZpO1baACLnwT3lxKiyd9mi9avGo2iR3j2Uaw37C4CVmIQYyLYtrAcwIqRNlGZ7NAkBnTx4DQUXaSSU5PYSNblgccqfQ/s1600/P1170347.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCJbOIbDin8ORMbNpBIA_qLsR-B_39qDA2eIJksqYQFWhPahZpO1baACLnwT3lxKiyd9mi9avGo2iR3j2Uaw37C4CVmIQYyLYtrAcwIqRNlGZ7NAkBnTx4DQUXaSSU5PYSNblgccqfQ/s1600/P1170347.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
Any projector will do, but you need to be able to get your projector as high up as possible to project onto a sizeable area of your living room.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">We used a pico projector "<a href="http://www.amazon.co.jp/gp/product/B00AIFWSJS?ie=UTF8&camp=1207&creative=8411&creativeASIN=B00AIFWSJS&linkCode=shr&tag=kenkawakenken-22&creativeASIN=B00AIFWSJS&adid=0XNSDFJBG6Y4X4TNZXPC&&ref-refURL=" target="_blank">Sanwa PRJ-3</a>", because it's cheap, fairly bright, and can be attached to common tripods, but <a href="http://www.amazon.com/gp/product/B00B11C6HW/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00B11C6HW&linkCode=as2&tag=kesla-20&linkId=64DFZSBUN7ZLZMOH" target="_blank">short throws</a> should work equally well.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">In RomoCart, a single Java program receives the depth feed from Xtion, finds objects (including Romo), renders the game environment, and projects it onto the floor.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
</div>
<div>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">Algorithms</span></h2>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">How do you calibrate the Xtion against projectors?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">You want to project the game environment to the correct position with respect to the Xtion's coordinate system. You need to calibrate the view projection matrix for the projector.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://blog.3dsense.org/programming/kinect-projector-calibration-human-mapping-2/" target="_blank">This</a> is a useful link I used to do this.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">I'll release the code when I have the time.</span></div>
</div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">How do you auto-generate the circuit from obstacles?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">There are many ways of going about this.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">I defined a "good" course to be one that vaguely follows the borders of obstacles, while not actually going through them.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">I therefore generate a <a href="http://en.wikipedia.org/wiki/Voronoi_diagram" target="_blank">Voronoi diagram</a> using obstacle borders as control points, and find the longest loop.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">1:15 in the video should give you a good idea of how it works.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(If you're interested, give me a message)</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">How do you track the positions of Romo?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">We know the input from the gamepad, so we can use that as prior knowledge of Romo's movement. We calculate a probability for each object in the view being our Romo (using concordance with the movement given from the gamepad, as well as the object's size and height) to find and track our Romo.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">This may be a good place to use particle filters, but things worked pretty well using a fairly dumb tracker.</span></div>
</div>
<div>
<br /></div>
<div>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">Summary</span></h2>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">We presented a system that uses projection mapping and Romo to turn a portion of your room into a Mario Kart-like world.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">We showed that by combining very simple hardware and some common tracking algorithms, we can hack our house to be part of an exciting game environment.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">All of the source code will be released when we find the time.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">We hope this work will persuade others to follow and start similar projects that integrate the real environment with games.</span><br />
<br /></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjngitYkoJIdoKdEtmj4LU4rTOd7AXgv3RncRuadW3dNEKJGs_dRv8Iyl56Tihj2uG7jGZcZPqXU1PAg9hD73UitvlvmDSgqdy-RiDjJVmJRLym6FGFPjcyU_MlaJ1IqPL1sHwI2-fKQQ/s1600/P1170159.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjngitYkoJIdoKdEtmj4LU4rTOd7AXgv3RncRuadW3dNEKJGs_dRv8Iyl56Tihj2uG7jGZcZPqXU1PAg9hD73UitvlvmDSgqdy-RiDjJVmJRLym6FGFPjcyU_MlaJ1IqPL1sHwI2-fKQQ/s1600/P1170159.jpg" height="480" width="640" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-54972730001101376132014-10-03T17:30:00.000+09:002014-10-06T08:43:02.834+09:00RomoCart:Romoとプロジェクションマッピングで部屋をマリ○カートのサーキットにしてみた<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;">(<a href="http://kawalabo.blogspot.jp/2014/10/romocart-hack-to-turn-your-living-room.html" target="_blank">In English here</a>)</span></div>
<div class="separator" style="clear: both; text-align: right;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRBNOT2Hs-KKNq6x_jgGRN2X6vlP0QPA4svataRqp3dJiWRMHfommVZ_56FAmSJKjQOC58GW5m3Hvrn8m8ejR8PoWNM8O2SMEkA3cE8GZ8-6uxzLowCajBPGN9rP7agf7slXiKa3QdiA/s1600/P1170323.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRBNOT2Hs-KKNq6x_jgGRN2X6vlP0QPA4svataRqp3dJiWRMHfommVZ_56FAmSJKjQOC58GW5m3Hvrn8m8ejR8PoWNM8O2SMEkA3cE8GZ8-6uxzLowCajBPGN9rP7agf7slXiKa3QdiA/s1600/P1170323.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
<br />
こんにちは、河本です。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">最近<a href="http://trendy.nikkeibp.co.jp/article/pickup/20140616/1058442/" target="_blank">なにかと</a><a href="https://blog.oneme.jp/event-report/romo/" target="_blank">話題の</a>教育用ロボット「<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">Romo</a>」を入手出来たので、早速こんなものを作ってみました。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/OHOJpzuaJ74" width="640"></iframe>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;">見飽きた部屋を<a href="http://www.amazon.co.jp/gp/product/B00IFTTOAK?ie=UTF8&camp=1207&creative=8411&creativeASIN=B00IFTTOAK&linkCode=shr&tag=kenkawakenken-22" target="_blank">マ○オカート</a>風ゲームのサーキットに変えてしまう、レーシングマニア垂涎のシステムです。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
中学生のころ時間も忘れてロケットスタートを極め、バナナを置き、甲羅を投げた思い出を、自分の部屋でまた体験したくはありませんか?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">プロジェクションマッピングとロボットを使ってその夢を</span><span style="font-family: Arial, Helvetica, sans-serif;">実現するのが「RomoCart」です。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">何言ってるか分からんという方は、まず上記ビデオを見てください。</span><br />
<h3>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></h3>
<div>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">どんなゲームなの?</span></h2>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCartは、まず部屋のレイアウトをカメラで測定して、最適なコースを自動生成するところから始まります。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7MYeEdtbp1ZjdVnbzAlV2srRlx6vnLlucmcjnqt39fOH4_xC1atKLxwAuoo-8EEWU2N2sxayQl-XhBYysHwuUYHUPbyp6zTS9ju5txTsx_etybiGK25IvyPJNWFMH2vul858wUkfTiA/s1600/course_01.png" height="179" style="margin-left: auto; margin-right: auto;" title="部屋の中の障害物を認識し・・・" width="320" /></span></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Verdana, sans-serif; font-size: small;">部屋の中の障害物を認識し・・・</span></td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK1UiPzZv-9-1Ri8ggISgpluUr-iPhVjkfw6P2GpWdY5oj1w3OgAYnuXqPbdL8vhqrUosfVnGLzjrkMroL1fSNb2Y4Jkar2jcdI0EqbLxV1HPhSPghHL4ugws-wE-roJ4WOjjk9dgDfA/s1600/course_02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK1UiPzZv-9-1Ri8ggISgpluUr-iPhVjkfw6P2GpWdY5oj1w3OgAYnuXqPbdL8vhqrUosfVnGLzjrkMroL1fSNb2Y4Jkar2jcdI0EqbLxV1HPhSPghHL4ugws-wE-roJ4WOjjk9dgDfA/s1600/course_02.png" height="179" width="320" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Verdana, sans-serif; font-size: small;">いいコースを自動生成します。</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">そしてRomoの位置と向きを認識し、</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rQOPlFrkQtqIKSmLTQEPtRm591CRowSuIGK7Kl6Qss2fF0_9kweVQMwtaLjMfhpGR2e5gm1mW9i1oAn3OR-qvaveXd1CkN0LJyr2RaKQ2IEP4dbleZJAy4E90foa7Hpneukf_yFmuA/s1600/go_to_start02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3rQOPlFrkQtqIKSmLTQEPtRm591CRowSuIGK7Kl6Qss2fF0_9kweVQMwtaLjMfhpGR2e5gm1mW9i1oAn3OR-qvaveXd1CkN0LJyr2RaKQ2IEP4dbleZJAy4E90foa7Hpneukf_yFmuA/s1600/go_to_start02.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">Romoを認識してスポットライト投影中</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">レースが始まります。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">ゴミ箱や椅子の間をぬってゴールを目指しましょう。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh256pmpZek4pVWYi_ofnyrP9QHwe7oEY1Q3MviB8qkJsmHgLV-wHEN4M6-H0u8lbtkq_44y4z8Wy7FafjpkOU5TQ9n85um-6pPJhlTEYVX025-gTtbZEpLmlcw4Tw7gvT3As22iTkxsQ/s1600/start_race.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh256pmpZek4pVWYi_ofnyrP9QHwe7oEY1Q3MviB8qkJsmHgLV-wHEN4M6-H0u8lbtkq_44y4z8Wy7FafjpkOU5TQ9n85um-6pPJhlTEYVX025-gTtbZEpLmlcw4Tw7gvT3As22iTkxsQ/s1600/start_race.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">走ると煙が出る!</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">レース中は色々アイテムを拾ったり、</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglSEINC3YXhrPS1pXfOJc5ZP2rirEaN4fBFq3RceIqT-qM8OSqzGhcQBBflI63gLD9t6Ymutrkj2hhkjEyxBcibtf6Y8bfzn8Xx-Xx7mVJbDQg733Rpfnhjyq7ruIXXsX2WNTxqtkfzA/s1600/items.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglSEINC3YXhrPS1pXfOJc5ZP2rirEaN4fBFq3RceIqT-qM8OSqzGhcQBBflI63gLD9t6Ymutrkj2hhkjEyxBcibtf6Y8bfzn8Xx-Xx7mVJbDQg733Rpfnhjyq7ruIXXsX2WNTxqtkfzA/s1600/items.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">加速アイテムとかバナナアイテムとか色々あります</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">バナナを置いたり、</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSjFyA4RikwQMjyDZjcAkkgkIyY-k2Kuflb-bw-qY_DzUe1WjWfWThPp2m5HbOF_aV9zkcGAKKQ301GPLkgLGAC-L1QqblBkP-MEkeY8Qhq0ajiZYrjF5fDjXTKJ_xmaElMirs79Xkg/s1600/drop_banana.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihSjFyA4RikwQMjyDZjcAkkgkIyY-k2Kuflb-bw-qY_DzUe1WjWfWThPp2m5HbOF_aV9zkcGAKKQ301GPLkgLGAC-L1QqblBkP-MEkeY8Qhq0ajiZYrjF5fDjXTKJ_xmaElMirs79Xkg/s1600/drop_banana.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">部屋をバナナだらけにしよう</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />ミサイルを撃ったりしましょう。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1GPXRh8EHL8V2zJKH-_1v0VzGrYw5Jqvb3Oo6InPSjatFZgeCR0PV9kQX3BAsv3Y5Dp2VSFa3jecm44MM6QgYQ6dU1yTyhWK-s8mNwwvvX1Tq1-q72vJb21i91IPqasxgu3IBLKD1g/s1600/missile_fire.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEif1GPXRh8EHL8V2zJKH-_1v0VzGrYw5Jqvb3Oo6InPSjatFZgeCR0PV9kQX3BAsv3Y5Dp2VSFa3jecm44MM6QgYQ6dU1yTyhWK-s8mNwwvvX1Tq1-q72vJb21i91IPqasxgu3IBLKD1g/s1600/missile_fire.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">居間でミサイルが炸裂</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">現実拡張型のゲームなので、例えば飛んできたミサイルを踏んで壊すこともできます。</span><br />
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hqtRInBrJmE84CZ6sAGVkXCTSE9kbUdz0DvaUVnF1r88ZjwteKqZNCX8ZUzyf6NfXGyq6c90dihjz9S5bR5PsRMMqwaH-qix3-TiXD6U3OTmU5367io9btDMQa5yu3c9V75mQYcfcw/s1600/missile_block.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6hqtRInBrJmE84CZ6sAGVkXCTSE9kbUdz0DvaUVnF1r88ZjwteKqZNCX8ZUzyf6NfXGyq6c90dihjz9S5bR5PsRMMqwaH-qix3-TiXD6U3OTmU5367io9btDMQa5yu3c9V75mQYcfcw/s1600/missile_block.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">RomoCartではお母さんも<a href="https://www.google.co.jp/search?q=%E3%83%89%E3%83%83%E3%82%B9%E3%83%B3&safe=off&client=safari&rls=en&source=lnms&tbm=isch&sa=X&ei=o6QsVMqPINCiuQS_xICwDg&ved=0CAgQ_AUoAQ&biw=1093&bih=526">ドッスン</a>です</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;">物を認識して機能を持たせることもできます。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">例えばクマのぬいぐるみを置くと回転砲台になるようにしてみました。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUQtP61Bch6OT-fK2GKrBm-vEflTXaZtz5DU3wXVaGL0Wq4wT_f0-QIxd8XL2Drvsr_kMt_OTsTD8EQ48sEadUCW_LUNLF_8rzG8lpWyRMB5iW_2ECSOXtl_mg-i6B5YgIQCd8iWYUKA/s1600/evil_bear3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUQtP61Bch6OT-fK2GKrBm-vEflTXaZtz5DU3wXVaGL0Wq4wT_f0-QIxd8XL2Drvsr_kMt_OTsTD8EQ48sEadUCW_LUNLF_8rzG8lpWyRMB5iW_2ECSOXtl_mg-i6B5YgIQCd8iWYUKA/s1600/evil_bear3.png" height="436" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;">弾幕グマ</span></td></tr>
</tbody></table>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">そんなこんなを経て、早くゴールを目指しましょう。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKwHMLOllH1VA9ji7rf9aK4WV-9KeteEEkS5uTs4OhyeHU5PKgBisA6v6SVaYZyG9uqYOzdrJXQD7DktpPd73JagOhzQd1wU_2Vj15CToGs-P-EQk52N7sOrS6H83caFwWu9WJN4zQw/s1600/hanabi.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdKwHMLOllH1VA9ji7rf9aK4WV-9KeteEEkS5uTs4OhyeHU5PKgBisA6v6SVaYZyG9uqYOzdrJXQD7DktpPd73JagOhzQd1wU_2Vj15CToGs-P-EQk52N7sOrS6H83caFwWu9WJN4zQw/s1600/hanabi.png" height="360" width="640" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: small;"> 部屋に花火が咲きます</span></td></tr>
</tbody></table>
<div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">マリ○カートの世界を家の中で物理的に再現する、そんな未来のゲームの姿を先取りしてみました。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">システム構成</span></h2>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCartで使うのは、3つのハードです:</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">Romo</a></span></h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfljqCDMejan5MSna_hIRXukD6pOjCUs_t292An0g46z71lv13R-hVPph164uzecSSTlNK31eiv58BdYddHC0K6R3F0BTnZeH4KyAYnZgXp7Y1dF9KrHMX_bccv8v296sjec_9cmcKfw/s1600/P1150914.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfljqCDMejan5MSna_hIRXukD6pOjCUs_t292An0g46z71lv13R-hVPph164uzecSSTlNK31eiv58BdYddHC0K6R3F0BTnZeH4KyAYnZgXp7Y1dF9KrHMX_bccv8v296sjec_9cmcKfw/s1600/P1150914.JPG" height="480" width="640" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">教育用ロボット「<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">Romo</a>」です。</span><span style="font-family: Arial, Helvetica, sans-serif;">国内だと<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">OneMeストア</a>で</span><span style="font-family: Arial, Helvetica, sans-serif;">買えます。</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">iPhoneアプリで二つのキャタピラを自由に制御できるので、思うがままに前進・回転・後退させられます。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">簡単に「走るiPhone」が作れちゃうナイスなロボットです。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCartでは、PCからネットワーク経由でRomoに指令を出せるリモコンアプリ「<a href="http://kawalabo.blogspot.jp/2014/10/pcromoromote.html" target="_blank">Romote</a>」を作り、</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">PCに繋いだ<a href="http://www.amazon.co.jp/gp/product/B003UIRHLE?ie=UTF8&camp=1207&creative=8411&creativeASIN=B003UIRHLE&linkCode=shr&tag=kenkawakenken-22&psc=1" target="_blank">ゲームコントローラー</a>から操作できるようにしました。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">更にミサイルが当たったりバナナを踏んだりすると、制御をオーバーライドしてスピンさせたり加速させたりしています。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">プログラムで制御できるからこそ、ただのラジコンには不可能な表現が実現できます。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">ちなみにRomote AppはApp Store公開予定ですが、<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171">OneMeでRomoを買う</a>と、無料でソースごと貰えるようにしました。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">深度カメラ</span></h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkIgXuhE52ITg_hvKFNQUyzIKuy-oh5-rqumRa0CLj1B5zLcPUtKMr3mmATE0En45Kl43V15r5704fffV_JRHZBpiMEXfgDSYlO1gyOYuTemuV55IA03E7myudsrPw2JEkBfe6adugcA/s1600/P1170344.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkIgXuhE52ITg_hvKFNQUyzIKuy-oh5-rqumRa0CLj1B5zLcPUtKMr3mmATE0En45Kl43V15r5704fffV_JRHZBpiMEXfgDSYlO1gyOYuTemuV55IA03E7myudsrPw2JEkBfe6adugcA/s1600/P1170344.JPG" height="480" width="640" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://www.amazon.co.jp/gp/product/B00D62LJE0?ie=UTF8&camp=1207&creative=8411&creativeASIN=B00D62LJE0&linkCode=shr&tag=kenkawakenken-22&=computers&qid=1412210143&sr=1-1&keywords=kinect+for+windows" target="_blank">Kinect</a>でも<a href="http://www.amazon.co.jp/gp/product/B0067PGV8M/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B0067PGV8M&linkCode=as2&tag=kenkawakenken-22" target="_blank">Xtion Pro Live</a>でも何でもいいので深度カメラを天井に設置しましょう。</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"> 個人的には外部電源無しで動く<a href="http://www.amazon.co.jp/gp/product/B0067PGV8M/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=B0067PGV8M&linkCode=as2&tag=kenkawakenken-22" target="_blank">Xtion</a>がおすすめです。</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCartではこれを使って床の上の物体を認識してRomoの場所をトラッキングしたり、サーキットを自動生成したりしてます。</span></div>
</div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">関係ないですが、天井に深度カメラを常につけておくと、いつでも立体家族写真が撮れて楽しいですよ。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">プロジェクター</span></h4>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCJbOIbDin8ORMbNpBIA_qLsR-B_39qDA2eIJksqYQFWhPahZpO1baACLnwT3lxKiyd9mi9avGo2iR3j2Uaw37C4CVmIQYyLYtrAcwIqRNlGZ7NAkBnTx4DQUXaSSU5PYSNblgccqfQ/s1600/P1170347.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCJbOIbDin8ORMbNpBIA_qLsR-B_39qDA2eIJksqYQFWhPahZpO1baACLnwT3lxKiyd9mi9avGo2iR3j2Uaw37C4CVmIQYyLYtrAcwIqRNlGZ7NAkBnTx4DQUXaSSU5PYSNblgccqfQ/s1600/P1170347.JPG" height="480" width="640" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">どんなプロジェクターでもいいんですが、床に投影するためにはなるべく上から距離を稼いで投影しないといけません。</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">そこでおすすめなのはこいつです:</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-fe.amazon-adsystem.com/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=kenkawakenken-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=B00AIFWSJS" style="height: 240px; width: 120px;"></iframe>
</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">超小型で三脚の上に付けられるので、上の写真のように天井近くに 設置するのも容易です。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">RomoCartでは、XtionのフィードをJavaで書いたプログラムで受け取りRomoの居場所をトラッキングし、プロジェクターでゲーム環境を床に投影して、ゲーム進行を行います。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">割と簡単な構成ですね。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">アルゴリズム的な話</span></h2>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">プロジェクターとXtionってどうやってキャリブレーションするの?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Xtionで測った3次元空間に対して投影する際、プロジェクターのどの座標系に射影できる必要があります。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Xtionとプロジェクターの対応点を沢山(手動でも自動でも)探して射影行列を作り、プロジェクタの位置と姿勢を推定します。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">そのあとゲーム環境を</span><span style="font-family: Arial, Helvetica, sans-serif;">(</span><a href="http://jmonkeyengine.org/" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">JMonkeyEngine</a><span style="font-family: Arial, Helvetica, sans-serif;">でも</span><a href="http://japan.unity3d.com/" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">Unity</a><span style="font-family: Arial, Helvetica, sans-serif;">でもなんでも使って)</span><span style="font-family: Arial, Helvetica, sans-serif;">3Dで描画</span><span style="font-family: Arial, Helvetica, sans-serif;">し、推定したカメラ位置から見た絵を投影します。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://blog.3dsense.org/programming/kinect-projector-calibration-human-mapping-2/" target="_blank">このへん</a>のリンクを参考にしてください。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">そのうちプログラムを公開します。</span></div>
</div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">部屋のレイアウトからコースの自動生成ってどうやってるの?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">いろんな考え方があると思いますが、僕は「いいコース=遮蔽物に沿いつつ、それほど近寄らない経路」という仮定を置き、<a href="http://ja.wikipedia.org/wiki/%E3%83%9C%E3%83%AD%E3%83%8E%E3%82%A4%E5%9B%B3" target="_blank">ボロノイ図</a>から最長ループを探索する、というアルゴリズムを作ってみました。</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">詳細知りたい人はメッセージください。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">文献調べてませんが、色んな方法あると思います。もっといい方法考え着いたら是非教えて下さい。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;">Romoの位置の認識ってどうやるの?</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">今回はRomoの挙動が事前にコントローラーの入力から分かっているので、床の上の物体の動きとコントローラーの入力値から尤度を計算して、最も尤度が高い物体をRomoとして認識しています。</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">他にも粒子フィルタ使ったりとか色々な方法があり得ると思います。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">ちなみに位置認識は割と容易ですが、Romoの向きの認識はもっと難易度高いです。面白い問題なので是非チャレンジしてみてください。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h2>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-large;">おわりに</span></h2>
<div>
<h4>
<span style="color: #660000; font-family: Arial, Helvetica, sans-serif;">プロジェクションマッピング+ロボットの構成は熱い!</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">プロジェクションマッピングというと静止した物体にマッピングするのが一般的ですが、</span></div>
</div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">ロボットの環境を投影するために使うと、ロボットの表現力を幾倍にも高められます。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">ラジコンだけではただのラジコンですが、そこに認識+投影を加えると、今まではゲームでしか出来なかった「ミサイルを撃つ」、「滑る床を作る」、「魔法を使う」等の色んなことが現実でも可能になります。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">今回はレーシングゲームとして実装しましたが、他にも幅広いゲームや、今までにない表現がプロジェクションマッピング+Romoで出来ますね。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<h4>
<span style="color: #660000; font-family: Arial, Helvetica, sans-serif;">Romoはプログラマーに「足」を与える</span></h4>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">ハードウェアを作れないソフトウェア技術者が「リアル」な世界に触れるための道具が</span><span style="font-family: Arial, Helvetica, sans-serif;">少しずつ</span><span style="font-family: Arial, Helvetica, sans-serif;">揃ってきました。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">スマホやKinectの普及で現実がセンシングできるようになり、ピコプロジェクターやHMDにより現実への情報提示ができるようになりました。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">Romoは更に「動き」を与える新たな道具です。</span></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">これまで画面内の世界に生きてきたプログラマーでも、Romoを使えばいとも簡単に現実世界に飛び出て「さわれる」「動かせる」「踏める」システムが作れます。</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;">ぜひ、みなさんもRomoと一緒に現実世界に飛び出てみませんか?</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjngitYkoJIdoKdEtmj4LU4rTOd7AXgv3RncRuadW3dNEKJGs_dRv8Iyl56Tihj2uG7jGZcZPqXU1PAg9hD73UitvlvmDSgqdy-RiDjJVmJRLym6FGFPjcyU_MlaJ1IqPL1sHwI2-fKQQ/s1600/P1170159.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjngitYkoJIdoKdEtmj4LU4rTOd7AXgv3RncRuadW3dNEKJGs_dRv8Iyl56Tihj2uG7jGZcZPqXU1PAg9hD73UitvlvmDSgqdy-RiDjJVmJRLym6FGFPjcyU_MlaJ1IqPL1sHwI2-fKQQ/s1600/P1170159.jpg" height="480" width="640" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com2tag:blogger.com,1999:blog-2931113489513736946.post-35157276632111322982014-10-03T01:28:00.000+09:002014-10-03T01:28:22.383+09:00PCからRomoを操作するためのリモコンアプリ「Romote」<span style="font-family: Arial, Helvetica, sans-serif;">iPhoneから操作できる教育用ロボット「<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">Romo</a>」、iPhoneアプリだけで完結してる場合はいいのですが、少し凝った事をしたい時はPCから制御したくなります。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">そこで、PCからRomoに指令を送れるサーバ+クライントアプリを作りました。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: large;">構成</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">ざっくり説明するとこんな感じです:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOiJM5QPk5qDh0E2ApK0SY9w37UtTH9mteWahDMJmjX22IeXab1aOE9TJaB1mXB-LPKll9KsaLSTT7bYb2v82boPg_ERvQcNpd6lb_k9LoT0X_hnq7xB8-zWAqzHYcC6yOExFfapFXkA/s1600/romote_flow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOiJM5QPk5qDh0E2ApK0SY9w37UtTH9mteWahDMJmjX22IeXab1aOE9TJaB1mXB-LPKll9KsaLSTT7bYb2v82boPg_ERvQcNpd6lb_k9LoT0X_hnq7xB8-zWAqzHYcC6yOExFfapFXkA/s1600/romote_flow.png" height="296" width="640" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;">Romoではリモコンアプリ「Romote」が走っており、PCではRomoServerManagerが走っていると想定します。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(1) Romoteはネットワーク経由でRomoServerManagerに接続リクエストを出します</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(2) するとRomoServerManagerは新しくこのデバイスを制御するためのプロキシRomoModelを作り、ユーザプログラムに返します。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(3) あなたはRomoModelに対してsetRawPower/ setExpression等のコマンドを投げると、</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(4) ネットワークを介してRomoteでハンドリングされます。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">(5) なお、コマンドによっては結果が帰ってくるものもあります。(getImageやgetDeviceAttitude等)</span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: large;"><br /></span></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
<span style="font-size: large;">アプリ側の設定</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">1. App Storeで「Romote」をダウンロード、インストール</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"> 注:2014/10/1現在まだ公開されていません。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"> なお、App Storeでは有料ですが、<a href="http://px.a8.net/svt/ejp?a8mat=2BWMCC+6S3QSY+OFG+15NP77&a8ejpredirect=https%3A%2F%2Fwww.oneme.jp%2Fproducts%2Fdetail.php%3Fproduct_id%3D171" target="_blank">OneMe</a>でRomoを購入した人は無料でダウンロードできるらしいです。受け取ってない人は聞いてみてください。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
2. 起動するとこんな画面が出てきます。</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWe4aYbeqrfyJjoHik2p3FuUU-URgpk8LnGIusDhR_ZfgkPwWPZ36SbYVfAIVEEi587uqo-RcUC0bWSOzIvpqjdHZT5QpSOg5njf7M6ZDTclYMspv4sdvAVqS6DJV1spklaDk_HWLuQ/s1600/Screen+Shot+2014-10-03+at+0.15.30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZWe4aYbeqrfyJjoHik2p3FuUU-URgpk8LnGIusDhR_ZfgkPwWPZ36SbYVfAIVEEi587uqo-RcUC0bWSOzIvpqjdHZT5QpSOg5njf7M6ZDTclYMspv4sdvAVqS6DJV1spklaDk_HWLuQ/s1600/Screen+Shot+2014-10-03+at+0.15.30.png" height="320" width="180" /></span></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span id="goog_569380303"></span><span id="goog_569380304"></span>3. Romoに乗せる</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH2_te-9_H3LYfiyMLSnX5yJf-kiN45gJG2Sy_PhkbIoBwTp9ZoCWO6m1PR3vglXHYjpVeObdAWBdEVAEjS36DwEJgDs6CKvO7kjYKroqBFdw7zQYBUEbNqRMo3uXErA0DzqLGN3KGQQ/s1600/P1150914.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH2_te-9_H3LYfiyMLSnX5yJf-kiN45gJG2Sy_PhkbIoBwTp9ZoCWO6m1PR3vglXHYjpVeObdAWBdEVAEjS36DwEJgDs6CKvO7kjYKroqBFdw7zQYBUEbNqRMo3uXErA0DzqLGN3KGQQ/s1600/P1150914.JPG" height="240" width="320" /></span></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;">乗せないと始まらない。</span></td></tr>
</tbody></table>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">4. サーバのアドレス/ポート設定</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Romoteアプリの画面をタッチすると、設定画面が現れます。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">ここでサーバーとなるPCのIPアドレスを設定してください。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">ポートはデフォルトのままでいいはず。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">PC側の設定(Javaプログラムから制御する場合)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">1. Githubの<a href="https://github.com/kenkawakenkenke/RomoteServer" target="_blank">RomoteServer</a>のページをcloneするなりzipでダウンロードするなりしてください。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">2. RomoServerSamples/lib/romoServer.jarがRomoと接続するためのサーバプログラムです。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">3. 使い方は、サンプルプログラムを参照してください:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">StartAndStop.java - 前に進んで止まる</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">GetImages.java - 0.5秒おきにカメラ画像を取得して表示する</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">GUI_ExpressionsEmotions.java - 表情を設定する</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">GamepadDemo.java - ゲームパッドを使ってRomoを操作するデモ</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">ShowColor.jar - iPhone画面にフルスクリーンで色を表示するデモ</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">PC側の設定(その他)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">romoServerはただのTCP通信で指令を送るプログラムなので、どんな言語でもサーバーを作れます。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">そのうち作ります。</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0tag:blogger.com,1999:blog-2931113489513736946.post-24035008101834010502014-08-16T22:47:00.000+09:002019-06-30T17:37:11.146+09:00Wikipediaのデータで人生解析をしてみよう<span style="font-family: "verdana" , sans-serif;">■概要</span><br />
<div>
<span style="font-family: "verdana" , sans-serif;">人物に関するWikipediaの項目は人の出生から生き方、死に方まで色々載ってる。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">せっかく大量にあるんだし、人の人生に関する解析をしてみよう。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">例えば:</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・こういう幼少を過ごした人はこうなるとか、</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・こういう名前/誕生日の人はこういう人生を過ごしやすいっていうのは本当?とか、</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・時代毎の名前/職業等傾向とか、</span><br />
<span style="font-family: "verdana" , sans-serif;">いろいろ調べてみよう。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">■データ</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・Wikipediaの<a href="http://ja.wikipedia.org/wiki/Wikipedia:%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89">データベースダンプ</a>を取得、</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・その中から人に関する項目だけ抽出(「存命人物」や「*没」などの文字列が含まれるエントリ)</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・名字、名前、生年月日、死没日などをパースして取得。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">・更にカテゴリ名に「日本の*」が含まれるエントリを日本人に関するエントリとして取得。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">日本人は計119024人。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">以下、雑多な解析結果。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■死亡した年と、その時の年齢</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7fCIQ4yk1AC4VoRxI8B3HxtdNI5nwMG2ck-TSMbnIMzlMSGqnCXycXe4OTVbSIyYbdja3CeXGWLM9eXb-F-ylTED2ffFSgRrULJkVwCkh_EFGIKkI0hkdzDSjwjc6ZOJ0ey07j0yucw/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E5%AF%BF%E5%91%BD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7fCIQ4yk1AC4VoRxI8B3HxtdNI5nwMG2ck-TSMbnIMzlMSGqnCXycXe4OTVbSIyYbdja3CeXGWLM9eXb-F-ylTED2ffFSgRrULJkVwCkh_EFGIKkI0hkdzDSjwjc6ZOJ0ey07j0yucw/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E5%AF%BF%E5%91%BD.png" width="400" /></span></a></div>
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho3zonY7F2VXKVIw-nLoYFSve6yMZCaakdnxChVx_MiwT-27cVNjkUJiHOOsuN9AbN2HOjR1b3l2mvI3Oukdqa6XQVzEFrRCtugRGAAdrclJOvHbVkrPBqWHPbYAIo7iIREyKjjNa2jg/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E5%B9%B3%E5%9D%87%E5%AF%BF%E5%91%BD.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho3zonY7F2VXKVIw-nLoYFSve6yMZCaakdnxChVx_MiwT-27cVNjkUJiHOOsuN9AbN2HOjR1b3l2mvI3Oukdqa6XQVzEFrRCtugRGAAdrclJOvHbVkrPBqWHPbYAIo7iIREyKjjNa2jg/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E5%B9%B3%E5%9D%87%E5%AF%BF%E5%91%BD.png" width="400" /></span></a></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">近代化と共に寿命が伸びている様子が見える</span></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">戦争時は(Wikipediaに載ってる人の)平均寿命が低くなっている</span></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■「○子」みたいな名前の出現頻度</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">「まるこ」みたいな名前は少し昔のイメージがあるけど、実際どうなんだろう?</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4li9Xhrv7kv2T20FxjrxOysqWWAh0ljStJlAe3IQinmwxzraDRuhK_5dzo5VrqkP_j-ch2JXjPomRe0snZZ6x00K6yzJQB3P23B8dCEOtpqvtrDht04unZvA-zVgbRlfRknz90T3yyA/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E3%80%8C%E3%80%9C%E5%AD%90%E3%80%8D%E3%81%AE%E5%89%B2%E5%90%88.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4li9Xhrv7kv2T20FxjrxOysqWWAh0ljStJlAe3IQinmwxzraDRuhK_5dzo5VrqkP_j-ch2JXjPomRe0snZZ6x00K6yzJQB3P23B8dCEOtpqvtrDht04unZvA-zVgbRlfRknz90T3yyA/s1600/wikipedia%E3%81%A6%E3%82%99%E8%A6%8B%E3%82%8B%E3%80%8C%E3%80%9C%E5%AD%90%E3%80%8D%E3%81%AE%E5%89%B2%E5%90%88.png" width="320" /></span></a></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><span style="color: red;">「○子」は1970年がピーク、古くは1875年ぐらいからある</span>。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">Wikipediaに載ってる一番若い「○子」は2006年生まれの<a href="http://ja.wikipedia.org/wiki/%E5%B9%B8%E7%94%B0%E9%9B%9B%E5%AD%90">幸田雛子</a></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■名前の長さの平均</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">最近名前が短くなってる気がするけど、実際どうだろう?</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">生年毎の平均的な名前(の読み)の長さを算出してみた。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">(読みの長さ=拍の数。例えば「ヒョウ」=2)</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN8cKmw-6hEABAqImA05A4MWwuQjXkuda8j7JSRT5V_kqODKyfbtgoCtmLmeSiIRtHEt1s5uNQsqSaBK2xJuZj9hWECF9-wmxgYM6QnjlFvuEHiQhWB2mC07tB3VQ9-cascaaq5fwRiw/s1600/140816_%E5%B9%B3%E5%9D%87%E5%90%8D%E5%89%8D%E3%81%AE%E9%95%B7%E3%81%95.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhN8cKmw-6hEABAqImA05A4MWwuQjXkuda8j7JSRT5V_kqODKyfbtgoCtmLmeSiIRtHEt1s5uNQsqSaBK2xJuZj9hWECF9-wmxgYM6QnjlFvuEHiQhWB2mC07tB3VQ9-cascaaq5fwRiw/s1600/140816_%E5%B9%B3%E5%9D%87%E5%90%8D%E5%89%8D%E3%81%AE%E9%95%B7%E3%81%95.png" width="400" /></span></a></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">名前の長さは単調減少している</span>。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→戦時中は少しだけ増えてるのが気になる。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→2000年以降のばらつきはデータが少ないため。</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;"></span><br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: "Hiragino Kaku Gothic ProN"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
</div>
<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<div style="font-family: "Hiragino Kaku Gothic ProN"; font-size: medium; margin: 0px;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">■名前と人生</span></div>
<div style="margin: 0px;">
<span style="font-family: verdana, sans-serif;">「こういう名前の人は溺死しやすい」「こういう名前はサッカー選手になりやすい」みたいなこと調べてみましたが、なんとなく名前差別とかでボコられそうなので割愛します。</span></div>
</div>
</div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■逮捕されやすい職業</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">一番逮捕されやすい職業はなんだろう?</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">職業が抽出できたエントリから、職業毎の「逮捕」という単語が含まれるエントリの割合を算出し、ランキングを作ってみた。</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gVQmE8xIqcyKpEBkPranoJiAGIVG9d9oxaLeUPLc4MPg7y0JoEP4D0khymQQaaMVYH4lh9na-mRqC-ctHCJCnCOhN14RFFXB_jGPXpSkDuzIRJCdWrqrUdpAJJ3iMEQZe265xyQQlg/s1600/1405018_%E8%81%B7%E6%A5%AD%E6%AF%8E%E9%80%AE%E6%8D%95%E7%8E%87.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gVQmE8xIqcyKpEBkPranoJiAGIVG9d9oxaLeUPLc4MPg7y0JoEP4D0khymQQaaMVYH4lh9na-mRqC-ctHCJCnCOhN14RFFXB_jGPXpSkDuzIRJCdWrqrUdpAJJ3iMEQZe265xyQQlg/s1600/1405018_%E8%81%B7%E6%A5%AD%E6%AF%8E%E9%80%AE%E6%8D%95%E7%8E%87.png" width="328" /></span></a></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">「元幹部」エントリの9割(12人中11人)は逮捕済</span></span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">→その他、いかにもな職業がランキング上位をしめた。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;">みんな逮捕されたくなかったらアナキストや元事業家は避けよう。</span></div>
<div>
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■誕生日分布</span><br />
<span style="font-family: "verdana" , sans-serif;">1月1日から12月31日まで、一番多い誕生日はいつだろう?</span><br />
<span style="font-family: "verdana" , sans-serif;">全データから算出:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8A8452Xm9m5gRPoa6tUuVT20n1cw6sr-blvDNFId1jnjz882uKFM_jhMpf9BqrVGa7R-9rnq0B-VL_WLMeuVDF0-A1SOjgyi4pQa4vxb0HM57VUeJvqfCjuiOwbYU5wzLJ9A4IbQdmg/s1600/140518_birthday+of+year.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8A8452Xm9m5gRPoa6tUuVT20n1cw6sr-blvDNFId1jnjz882uKFM_jhMpf9BqrVGa7R-9rnq0B-VL_WLMeuVDF0-A1SOjgyi4pQa4vxb0HM57VUeJvqfCjuiOwbYU5wzLJ9A4IbQdmg/s1600/140518_birthday+of+year.png" width="400" /></span></a></div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">1月1日の誕生が多く、年末にかけての誕生日が少ない</span>。</span><br />
<span style="font-family: "verdana" , sans-serif;">これって単に、届け出が適当だから?年末に生まれた子はキリよく1月1日の誕生日として届け出る人が多い、とかありそう。</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">1960年以降の誕生日:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidOHUic9ziSqHigZuQpNG-fR4-b3yDhyNj_DZSwjZwn8uCID1-9rVbIsLfhKXapqLCNzgx15pdQpCNPgoEd7lTG-wSH-ZDK-_I8JyJEbjTBIh9xNQfB0xhRjRPfjQAaZ4nnr7TgVnbaQ/s1600/140816_%E8%AA%95%E7%94%9F%E6%97%A5%E6%AF%8E%E9%A0%BB%E5%BA%A6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="202" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidOHUic9ziSqHigZuQpNG-fR4-b3yDhyNj_DZSwjZwn8uCID1-9rVbIsLfhKXapqLCNzgx15pdQpCNPgoEd7lTG-wSH-ZDK-_I8JyJEbjTBIh9xNQfB0xhRjRPfjQAaZ4nnr7TgVnbaQ/s1600/140816_%E8%AA%95%E7%94%9F%E6%97%A5%E6%AF%8E%E9%A0%BB%E5%BA%A6.png" width="400" /></span></a></div>
<span style="color: red; font-family: "verdana" , sans-serif;">→最近の誕生日だけにすると、1月1日のピークは消える。</span><br />
<span style="font-family: "verdana" , sans-serif;">昔の人は誕生日を盛ってた?</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="color: red; font-family: "verdana" , sans-serif;">→今度は、3月31日の誕生日が異様に少ない。(多分有意に)</span><br />
<span style="font-family: "verdana" , sans-serif;">早生まれを避けるため?それにしては3月30日が下がってなさすぎる。</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="color: red; font-family: "verdana" , sans-serif;">→7月7日がその付近と比べ1.7倍近い。</span><br />
<span style="font-family: "verdana" , sans-serif;">明らかに盛ってる。その他8月8日や12月12日などのゾロ目も多い傾向。</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">■職業毎の生まれた月</span><br />
<span style="font-family: "verdana" , sans-serif;">生まれた月でなりやすい職業とかあるのだろうか?</span><br />
<span style="font-family: "verdana" , sans-serif;">まず、全体での月ごとの生まれた人数:</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYwHNyS6GiUab_3iQhAEiTwaUsZjhP5q_-yMLWt-M7-FOC6KecHG0oqatYmqbiHf35-Peoj758qKUCEgsrGb-_dFFnoFu9SB-SDrkARbv8AvBOhUb5gR9uh32kMSMR0zRWiroRUj9jkg/s1600/140816_%E6%9C%88%E6%AF%8E%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E3%81%9F%E4%BA%BA%E6%95%B0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYwHNyS6GiUab_3iQhAEiTwaUsZjhP5q_-yMLWt-M7-FOC6KecHG0oqatYmqbiHf35-Peoj758qKUCEgsrGb-_dFFnoFu9SB-SDrkARbv8AvBOhUb5gR9uh32kMSMR0zRWiroRUj9jkg/s1600/140816_%E6%9C%88%E6%AF%8E%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E3%81%9F%E4%BA%BA%E6%95%B0.png" width="400" /></span></a></div>
<span style="font-family: "verdana" , sans-serif;">→1月が若干多い傾向。6月が最小。</span><br />
<span style="font-family: "verdana" , sans-serif;">(本当は月の日数とかで正規化したほうがいいよね)</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">スポーツ選手の誕生月分布(職業に「選手」という単語が含まれる人の誕生月傾向):</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikW7lzhfihM2b5yRlLzsRWJOVvKNnQl2MUFN4etZQftXnreU-cq37O0CC6J0XRLuMzZBSOespaVkl2n6SwAUkRCdKc2xA8jnuJcKzQqeYZEZIDKThk65YDgtr_WOSfyimnKPWvvDzN1g/s1600/140816_%E3%82%B9%E3%83%9B%E3%82%9A%E3%83%BC%E3%83%84%E9%81%B8%E6%89%8B%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E6%9C%88.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikW7lzhfihM2b5yRlLzsRWJOVvKNnQl2MUFN4etZQftXnreU-cq37O0CC6J0XRLuMzZBSOespaVkl2n6SwAUkRCdKc2xA8jnuJcKzQqeYZEZIDKThk65YDgtr_WOSfyimnKPWvvDzN1g/s1600/140816_%E3%82%B9%E3%83%9B%E3%82%9A%E3%83%BC%E3%83%84%E9%81%B8%E6%89%8B%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E6%9C%88.png" width="400" /></span></a></div>
<span style="font-family: "verdana" , sans-serif;">→<span style="color: red;">4月が最多で、そこから単調減少。早生まれの悪影響がモロに出てる。</span></span><br />
<span style="font-family: "verdana" , sans-serif;">(多分、全体平均で正規化とかして、月ごとのスポーツ選手に成る確率とかに直した方が分かりやすいんだろうけど酔っぱらってるので生データだけ出します)</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">政治家の誕生月分布(職業に「政治家」という単語が含まれる人の誕生月傾向):</span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC-xcwuIlKSw6DaVWoH0OKEvVzhGc5QQsy2VtyDfpflhrMMJQeKiG-ddF4KcGsJTYgTJg0EPETY6_a5hN0YYui8X7KPUbdw6Wo3cIZNa6Caf1raFt1HyjnzwSMgGvZXQ4Uj0ct64iUWQ/s1600/140816_%E6%94%BF%E6%B2%BB%E5%AE%B6%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E6%9C%88.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC-xcwuIlKSw6DaVWoH0OKEvVzhGc5QQsy2VtyDfpflhrMMJQeKiG-ddF4KcGsJTYgTJg0EPETY6_a5hN0YYui8X7KPUbdw6Wo3cIZNa6Caf1raFt1HyjnzwSMgGvZXQ4Uj0ct64iUWQ/s1600/140816_%E6%94%BF%E6%B2%BB%E5%AE%B6%E3%81%AE%E7%94%9F%E3%81%BE%E3%82%8C%E6%9C%88.png" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;">→全体傾向に従ってる?</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;">番外編:エントリに「逮捕」という単語が含まれている人の誕生月分布:</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyor_QRq65xHkt90X64sr9dggBMwV7Cm69Kkvk5K-Te5kJmEYUGKhbVatCXLZ434yhSUpCS4fYlbNcLOrgB4VIWb09w3Ri3oqOFnuzbGmlNuD7UN4GWstkTsLwEiSL150yRCtwY6k8xQ/s1600/140816_%E8%AA%95%E7%94%9F%E6%9C%88%E3%81%A8%E9%80%AE%E6%8D%95.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif;"><img border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyor_QRq65xHkt90X64sr9dggBMwV7Cm69Kkvk5K-Te5kJmEYUGKhbVatCXLZ434yhSUpCS4fYlbNcLOrgB4VIWb09w3Ri3oqOFnuzbGmlNuD7UN4GWstkTsLwEiSL150yRCtwY6k8xQ/s1600/140816_%E8%AA%95%E7%94%9F%E6%9C%88%E3%81%A8%E9%80%AE%E6%8D%95.png" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;">→2月が異様に多い。(検定してないけど多分有意に。)</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;"><a href="http://rocketnews24.com/2011/09/07/128431/">この記事</a>では連続殺人犯は11月に多いらしいけど。</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "verdana" , sans-serif;"><br /></span></div>
<hr />
<h3>
<span style="font-family: "verdana" , sans-serif;">他の分析エントリ</span></h3>
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/04/blog-post.html">山手線リアルタイム混雑情報で遊んでみよう</a></span><br />
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2015/03/140.html">140文字の「重み」を言語毎に比較してみた</a></span><br />
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/12/blog-post.html">世界で一番住みやすい場所を計算してみた</a></span><br />
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/blog-post.html">サイゼリヤの間違い探しが難しすぎたので大人の力で解決した</a></span><br />
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2014/11/wifi.html">建物のWifiをホッピングして東京から大阪まで通信できるか</a></span><br />
<span style="font-family: "verdana" , sans-serif;">- </span><a href="http://kawalabo.blogspot.jp/2014/01/quick-analysis-on-effect-of-your-time.html" style="font-family: Verdana, sans-serif;">Topcoderに一番有利な時間帯を調べてみた</a></div>
<div>
<span style="font-family: "verdana" , sans-serif;">- </span><a href="http://kawalabo.blogspot.jp/2013/04/blog-post.html" style="font-family: Verdana, sans-serif;">明日の天気を過去の似た日から合成して可視化してみよう</a><br />
<span style="font-family: "verdana" , sans-serif;">- <a href="http://kawalabo.blogspot.jp/2013/04/short-note-on-use-of-twitter-for.html">「頭痛」を含むツイートと気圧の関係を調べてみた</a></span></div>
kenhttp://www.blogger.com/profile/11506748267335426087noreply@blogger.com0