久々に足の小指を激しくヒットデータベース

昨日、家のキッチンの柱に、右足の小指を激しくヒットしてしまいました。普段はスリッパを履いているのですが、その時は風呂上がりの裸足で歩いていた時でした。今回は、あまりのヒットに流血までしてしまう大惨事に(だたの切り傷ですが・・)。しかし、私はこのようなヒットでも、決して怒らず(痛くて怒れないけど)ニコニコ暮らしております。

こういう事故が起こると、”この柱はいつも小指をぶつける”などのイメージが沸きがちですが、この”いつも”という評価は慎重にならなければなりません。詳しくは、過去のエントリー(2005/07/14 ”足の小指激しくヒット平穏術”)を参照して頂きたいのですが、簡単に紹介すれば,小指をヒットした日付を記録し,”いかに小指ヒットが希有なこと”と認識し,痛さを記念に思い、むしろ”ヒット君こんにちは”的に平穏にごまかそうという素敵な術である.

最新小指ヒットデータベース
・2007/12/26 自宅のリビングからバスルームに移動するエリアで右足小指を激しくヒット(流血)
・2006/08/20 自宅のキッチンからリビングに移るエリアで右足小指を激しくヒット
・2005/11/04 研究室で重い机の足に右小指を激しくヒット
・2005/07/14 研究室で扉に足の小指激しくヒット
・2005/03/02 研究室(実験室)で先輩の実験装置の角に右の小指激しくヒット
・2004/07/14 研究室のシンクの角に右の小指激しくヒット

普段、家の中をうろうろし、1日平均40回程度、小指をヒットしうる柱・扉などを通過すると仮定する。3年間半で6回のヒット数であるから

足の小指激しくヒット率(打率): 6 / (40 * (365 * 3.5)) = 0.01174%

たった0.012%程度の極めて低い確率です。また、人生80年だとすると約137回しか”小指をヒット”できないことになります。
ここまでくると、小指のヒットがサプライズプレゼントのように愛おしく感じてきませんか?(流血しているけど)
未だに指がジンジンしていますが、こんな方法で痛みを和らげるのはいかがでしょうか?

TBS 世界遺産 “ベスト・オブ・世界遺産” Blu-ray版

毎週欠かさず見ているTBS世界遺産ですが、この度、初めてBlu-rayによるハイヴィジョン映像のソフトが発売されました。

51TWZlsmFJL__AA240_.jpg
ベスト・オブ「世界遺産」10周年スペシャル (Blu-ray版) @ amazon.co.jp

既に同じ内容でDVD版が発売されていましたが、今回晴れてBlu-ray版で発売されました。映像は、1080i (おそらく1440x1080i)で、音声は、リニアPCMで入っています。音声は相変わらずの”世界遺産”サウンドで心地よく、映像は普段のTVで放映されているクオリティで収録されています。一方で放映時には、地デジ・BS-iの18Mbps程度のビットレートの為、ブロックノイズが発生する可能性がありますが、Blu-rayによる再生はそのあたりの心配がなく安心して見ていられます。

空から見る世界遺産ということで、万里の長城、アメリカ、イタリアなどが収録されていますが、とにかくイタリアの回が素晴らしく、素晴らしいです。とにかくどのように撮ったのか?と思われるほど素晴らしい空撮技術を使って撮影されており、普通では見られない角度から様々な世界遺産を見ることができます。

もちろん肉眼で見る世界遺産は最高のものですが、時間とお金の制限は存在します。人生で全ての世界遺産を回ることは不可能なので、この番組で良い世界遺産を選択するという意味と、実際に足を運んだ事がある世界遺産でも見たことない角度(空からなど)から見るという意味で、とても興味深い番組だと思っています。

とにかく素晴らしいのでご興味のある方は、是非ご覧ください。またウチに遊びに来ていただければバッチリお見せします!

時限爆弾の赤と青のラインのどちらを切ったら良いかを考察する

今クールのフジテレビ月9ドラマは、”ガリレオ”というドラマでした。第3回位(?)と最終話だけ、たまたま家に居たので見ることができました。福山雅治さんが天才物理学者を演じ、天才的な頭脳で様々な事件を解決していくという物語でした。第3話(?)では、大きな地震が起こる不思議な家の事件で、その振動を解明する計算式に、バネの振動に関する運動方程式がかかれていたため、少しは数学者の監修が入っているのかな?という印象でした。しかし、最終回はとても酷い内容でした。東京が吹っ飛ぶ規模の破壊力がある時限爆弾装置に、柴咲コウさん演じるヒロインが閉じこめられるというどうしようもない内容だけでなく、その装置の外観の酷さ(古臭さ)と、その回路基板があまりに酷いものでした。その装置を天才的な(?)頭脳で解体していくわけですが、DIPタイプのいわゆる74ロジックIC(標準ロジックIC)が数十個ついているようなボードがあり、とても最先端とは思えないものでした。プログラマブルな論理回路が当たり前のこの時代に、明らかに20年位前の古い回路であり、途中でWindowsの起動音が聞こえたりと回路を少しでも知っている人なら、”あり得ない”の大合唱が聞こえてきそうな回路でした。極めつけは、時限爆弾のカウントダウンタイマーに赤と青の2つのラインがつながっていてどちらを切るか迷うというベタな展開でした。結果は、赤でも青でもなく、奥に埋もれていたピンクのラインを切ることで爆発直前にタイマーが止まるという展開でしたが、今回のエントリーでは、映画・ドラマでよく見受けられる時限爆弾の赤・青の2本ラインに実際に出会したときにどちらを切れば良いか考察してみたいと思います。実にくだらないエントリーです。

まず、仮に出会した時にやるべきことは逃げることです。回路を考える前に逃げるようにしてください。このエントリでは、もう爆発まで10秒を切っており、10秒以内では、爆発規模を考えて自分が助からない、または今回のドラマのような展開で知人が爆弾に備え付けられている場合でかつ、なぜかポケットにニッパーが入っている場合を仮定しています。また、”赤・青”の2本のみ爆発カウントタイマーにつながっていると仮定します。ガリレオの最終回の様に、青・赤以外に何十本もある場合は、たとえ10秒でも安全な場所を探すほうが賢明です。

条件である”青・赤の2本のみタイマーにつながっている”というシステムを考えた時に、どういう回路構成が成立しうるかいろいろ考えて見ました。まず、いちいち犯人が青・赤のラインを使って、しかも一つを切ったら爆発で、もう一つならタイマーが止まるなんていう設計にするのか?かなり疑問ですが、とりあえずこの仮定を元に考えてみました。

*パターン(1):爆弾を起動させる電源ラインを赤・青で引き回し、タイマー側のスイッチで起動させる方式

timer_bomb_circuit1.jpg

切るべきライン:赤・青どちらを切ってもタイマーは止まらないが、爆発はしない。
解説:一般的には一番ありがちな回路である気がします。おそらく、赤・青ともに”太い”ラインが使われている可能性が高いです(直線抵抗を減らすため)。しかしこの回路だと、1/2の確率で間違えたら爆発するという条件を満足できません。

*パターン(2):爆弾を起動させるスイッチを制御するデジタルラインを赤・青で引き回す方式
timer_bomb_circuit2.jpg

切るべきライン:赤・青のどちらを切っても”爆発する”か、”爆発しない”である。

2本のラインを、ディジタル信号とディジタルグランドで使う場合です。その信号により爆弾側のスイッチを制御し、爆弾を起動させる方式です。ここで図のPull up / Pull downの部分がポイントです。おそらくスイッチを制御するディジタルラインが切断されたとき(浮いた時)の処理はなされている可能性が高いと思われます。つまり、ラインが切断されたときに、スイッチが入るか、スイッチが切れるかは犯人が意図的に仕組むことができます。しかしここは、おそらく”切断時はスイッチが切れる=爆発しない”設計にしている可能性が高いのではないかと思われます。理由は東京を吹っ飛ばす程度の爆弾であった場合、その回路の開発中にラインの切断などは起こりうる現象であり、安全側を考えるとここは切れる方向に設定している気がします。こう考えると、この回路の場合、青・赤どちらを切っても、”タイマーはとまりませんが、0秒になっても爆発しない”ことが考えられます。この場合も1/2の確率で爆発する仕組みになっていません。

*パターン(3):タイマーなどは爆弾側に含まれており、タイマーの時刻データのみ青・赤ラインで配線している方式
timer_bomb_circuit3.jpg

切るべきライン:どちらを切ってもタイマーの表示は止まるが、爆発は止められない。

パターン1が仕組みとしてはありがちですが、現実的な回路で考えると、この方式も多い気がします(2本しか配線がないという条件なので)。この方式の場合、どちらを切っても時刻カウントの表示は止まりますが(むしろ表示されなくなる)、爆発自体を制御するタイマーが止まらないので爆発は回避できません。この場合も1/2の確率で爆発する仕組みになっていません。

*他のパターンも当然あり得ます。

結論

■赤・青で迷う必要はない。
 映画などによくある赤・青の2本のみがタイマーから出ている時限爆弾は、1/2の確率で爆発するというシステムは少ないのではないかと思われる。もちろん1/2の確率で爆発させる回路は考えれば実現できますが、犯人がいちいち複雑な回路を組む必要性がないと思われます。むしろ、”どちらでも良いから切るか、切らないか”を悩むべきである。

■青でも赤でもラインは切るべきである。
 犯人も爆弾開発中に誤動作を防ぐためにある程度フェールセーフな設計にしている可能性はあります(たとえば、タイマーにつながっている2本が何らかの原因で開発中に切れたときにも爆発はしない設計)。そのため、どうせ切らないで爆発してしまうなら、”切った方がいいのではないか?”と思われます(言い切るのも危険ですが・・・)パターン3の場合があるので、タイマーの表示が止まっただけでは安心せず、少しでも逃げるべきです。

全くもってくだらないエントリーとなりましたが、現実問題として、2本のラインしか出ていないようなタイマーはまずないでしょう(笑)また、もしラインを切ることを考えるのであれば、タイマー近くのラインではなく、爆弾を発火させる直前のラインを切るべきです。おそらく高電圧・高電流が掛かるので、ラインは太いはずです。太い線を探しましょう。
というわけで、”ガリレオ”の最終回を含め、ライン2本のどちらを選ぶなんていうシチュエーションはあり得ないので、そろそろこのベタなシーンはやめてもらいたいものです。

宇宙ステーションからの視点をGoogle Earth上に再現

(2013/10/18現在:本記事のシステムは、最新版のMr.Orbitに移行しました。https://www.spacewalker.jp/~mrorbit/ )

 

先日公開した”呼べる地球”に引き続き、”宇宙ステーションのからの視点”ソフトを開発しました。呼べる地球で利用したGoogle Earthを外部アプリケーションからコントロールできる機能(Google Earth COM API)は、文字列検索による位置の移動だけでなく、視点を直接指定することもでき、たとえば東経X度、北緯Y度、高度Zkmといった指定が可能です。そこで、宇宙ステーションの現在の位置を計算し、その値を随時入力してみたところ、Google Earth上でも割と面白く見えたため、今回公開に至ったわけです。前回と同様に動作している様子を動画で撮影していますので、興味があればご覧ください。


(音声による解説付き)

人工衛星が地球を回っている道を軌道と呼びます。その軌道を計算することを軌道計算と呼びます。今回開発したソフトはその軌道計算を行い、現在宇宙ステーションがどこにいるかを算出しています。その算出結果(経度・緯度・高度)をGoogle Earth上に随時投げ込むことにより、宇宙ステーションからの視点を実現できるという仕組みです。初期状態では地表に向かって真下の視点となっていますが、距離・チルト・方位角の指定により様々な方向を見ることができます。

宇宙ステーションは、人工衛星の1つですから、第一宇宙速度という速度を持って地球を回っています。その速度は時速28000kmというモーレツな速度で、地球を1時間半で1周してしまいます。今回のソフトでも視点がその速度で移動していくわけですが、地球規模で考えると時速28000kmというスピードはとても心地よく、ゆっくりと地球が流れている様子はとても癒されます。

使い方

1)Google Earthのインストール(最新版4.2以降を使ってください。旧ヴァージョン4.0あたりでは動かなかったことを確認しています)
2)Google Earthは”起動しない”:開発したソフトから起動するのでGoogle Earthは事前に起動しないでください。
3)開発したソフトのダウンロード(ZIP圧縮済み)
4)開発したソフトの実行
・”Get Latest ISS TLE via Internet”ボタンを押してインターネット経由で最新の軌道情報を取得する(*軌道計算をするためには、その計算の種となる最新の軌道情報が必要になります)
・問題なく取得できたら、”TLE Set”ボタンを押して軌道情報を更新する。
・”Azimuth & Elevation Set”ボタンを押して、Google Earthを起動する。
・何回か”Azimuth & Elevation Set”ボタンを押して宇宙ステーションの軌道にGoogle Earthの視点が動くか確認する。
・”Continuous Control”ボタンを押して、随時軌道計算結果をGoogle Earthに送信するモードにする(これで宇宙ステーションと同じ軌道に追尾するようになります)
・Distance, Tilt, View Azimuthのスライダーバーを変えて視点を変える

以上です。

Tiltを変えると地球の縁が見えたりして結構綺麗です。宇宙ステーションからの視点を是非ご覧ください。全画面表示にしてほっておいても癒し系のスクリーンセーバーとなりますよ!

ロールプレイングゲームに対する新提案(Public Experiential Point)

職場から駅まで歩く間に小さな公園があります。その公園には鉄棒、滑り台、砂場という典型的な遊具が揃っているわけですが、そこに来ている子供達は、鉄棒でも砂場でも遊んでいません。公園に集まって、NINTENDO DSをやっています。おそらくアドホックモードの無線LANを使った対戦ケームなどをしているものと思われます。この現状は今の日本の時代を表しているとは思いますが、日本以外の先進国でも見られる現象かもしれません。私もPlayStation3、NINTENDO DS Liteを持っているため、ゲームを全て否定しているわけではありませんが、今回のエントリーでは、このゲームに関して、とくにロールプレイングゲームに対する新しい提案をしてみたいと考えています。

ドラクエ(ドラゴンクエスト)シリーズに代表される、ロールプレイングゲーム(Role Playing Game)は、その名の通り勇者、魔法使いなどのRole(役)を演じて(Playing)旅をするなどのゲームですが、多くのゲームの場合、途中で”レヴェルアップ” (Level upping)という過程を伴います。何らかの悪役を倒すゲームの場合、その悪役や悪役の住む城にたどり着くまでに自身を鍛えていかないと太刀打ちできないという構図です。このレヴェルアップは、多くの敵と戦うことにより経験値という値を上げ、一定の経験値が貯まるとレヴェルが上がるという仕組みが多いようです。現実に照らし合わせて考えても多くの経験により鍛えられていくというのはある程度理解はできますが、問題はそのレヴェルアップという過程に時間が掛かりすぎるという点です。非常に単純な作業を繰り返し最後の敵を倒すために、世界中の子供達(大人も含め)が人生の大切な時間を削って仮想的な経験値上昇に邁進しています。もちろんそれはゲームをクリアするためというモチベーションの元にその単純な作業を行っているわけですが、この時間を何とかその人の人生向上へ、また人類全体として前進するものにしたいと考えています。

同じような経験を私もしたことがあります。某レースゲームがありまして、そのレースゲームは、基本的には32回のレースを勝ち進めば良いのですが、車の選択やコースの逆周などを組み合わせると全部で320回のレースがあり、その320回のレースに全て勝つと特別な車が貰えるというものでした。もちろん挑戦しませんでしたが、このようなゲームのシナリオにある種の怒りを覚えたわけです。ゲームを作る側は、少し条件を変えただけで320通りのレースゲームを実現することは容易ですが、ユーザー側はそれに踊らされて320回も走らないと特別車を得ることができないというシナリオがユーザーを馬鹿にし過ぎていると思ったわけです。レースをクリアしたか、まだしていないかというデータはメモリのどこかに保存されているわけですが、その勝敗を記録するたった1ビットを上げるために人類の貴重な時間を費やすわけです。ロールプレイングゲームも一緒です、経験値やレヴェルといった値を保持するメモリの1ビットの為に一番頭の柔らかい時期の大切な時間を膨大に費やさなければならないのです。

そこで、”一般公的な経験値”(Public Experimential Point)の提案です。ロールプレイングゲームで様々な謎解きや最後の敵を倒すという過程は否定しませんが、あのレヴェルアップという過程は時間の浪費・頭を使わないという点で肯定できません。そこで、レヴェルアップの過程はゲームではなく、実生活での作業・勉強・行動などを経験値として換算し、それをゲームに反映させるというものです。たとえば学校の宿題、外でのサッカー、読書、砂場での立体構造物想像、夕飯作りの手伝いなど何でも良いので個人の向上および、人類が1ミリでも前進する行動を何とか汎用な経験値として算出しゲーム内の経験値として反映させるのです。

子供は親が言わなくてもゲームはやります。このモチベーションは、はやくゲームをクリアしたいというモチベーションかもしれません。つまりロールプレイングゲームでは最後の敵を早く倒したいというモチベーションかもしれません。その最終ゴールのモチベーションを実現するために必要なレヴェルアップという過程を実生活で”経験”してもらいたいのです。1時間宿題をしたらレベルアップ、そんなものでも良いかもしれません。とにかく、世界規模で発生している頭を使わず単純作業で時間ばかり掛かるレヴェルアップの時間を何とか削減し、宇宙開闢の謎や環境問題など最高のインテリジェンスが求められる分野につながるように使ってほしいのです。

宿題などに限定せず、ボランティアでも、ジョギングでも何でも良いという意味と、そのポイントを、一つのゲームではなく、同じように単純無駄で長時間を伴うゲームなどに使えるという意味で、”一般公的な経験値”と名付けましたが、やはりそのあらゆる作業・行動を1)どのように数値化するかと、それを2)誰が認定するかという点に課題があります。私は、1)に関しては単純に時間で良いのかなと思っています。ゲームの中で1時間レヴェルアップの時間が伴うなら1時間宿題なり、ジョギングをするのがまず基準の評価で良いのかなと思っています。2)誰が認定するかは、まず親を中心にすべきだと考えています。モンスターペアレントに代表されるように明らかに教育を他力本願で考えている親が多いようですが、先生の前にまず親が教えることは多いはずです。少なくとも子供の教科書を年度初期に一回でも読んでどんなことを学校で学んでいるか把握している親がどのくらいいるでしょうか?おそらく何もせずに経験ポイントだけ与えるような甘い親も出てくるでしょうが、それは現状の放置親教育と変わらないので、前進はしませんが後進もしません。ただ親としては、”この宿題をやったら経験値あげる”ではなく、子供の方から”この宿題をするから、この手伝いをするから、この遊びをしてくるから経験値を認定して”と、どのような経験をするのか、またそれによって何を得るのかを子供たちに考えさせるようにしたいものです。日本の教育は受動的なものが多く、自ら考えるのは夏休み研究くらいしかありません。最近は、夏休み研究代行ビジネスまである末期状態なので、能動的に考えさせる仕組みを与えないと本当に将来は真っ暗です。

最新のロールプレイングゲームは、良く出来ていてレベルアップの過程でも極めて高度な頭を使うようなものかもしれません。ゲーム内で経験値をためることによって、ブラックホールの謎が解け、100mを8秒で走れ、ベートーヴェンのピアノ・ソナタ第29番が弾けるようになるなら全く否定しませんが、現状はなかなか難しいと思いますので、何か個人が向上する、そして人類として前進することをやってゲーム内に反映してほしいものです。漢字検定や英単語を覚えるゲームがあるようですが、それでも良いかと思います。レベルアップの過程になったらゲームを切り替えて単語を100個覚え、そのポイントをレベルアップに反映させても良いかもしれません。それも同じゲーム会社の製品じゃないと無効とかではなく、汎用で一般的な概念を提案したいのです。ドラクエシリーズとFF(ファイナル・ファンタジー)シリーズは累計で1億2000万本位売れているそうです。1本あたり約48時間のレベルアップ過程があるとすると、寿命が80年の人が約10000人になります。100%無駄とは言いませんが、10000人の人生がレベルアップではなく何か素敵な”経験”を積んだら少し世の中が変わったかもしれません。ドラクエのような社会的に影響のあるソフトウェアのオプション機能として試験導入などしてくれれば嬉しいものです。夏休み明けに、こんないろいろな経験をしてドラクエをクリアしたみたいな話題が溢れてくると面白いですね。いろいろな経験を積むことにより、その経験を医者・弁護士・アスリート・宇宙飛行士など本当の人生のロールに繋げていってほしいものです。

呼べる地球を作ってみた(音声認識によるGoogle Earthコントロール)

地球儀は、教育的にもインテリアとしてもとても素晴らしいだと思っています。実際私も小さいころよく眺めていましたし、星レベルとしての見るというスケール感と、さまざまな地形、そして多くの国などを教えてくれました。一方でGoogle Earthをはじめとするディジタル地球儀のようなものが一般的になってきています。ただの印刷物だった地球の表面から、衛星の写真とダイナミックなインターネットのコンテンツを連動させたGoogle Earthはいわば地球儀の進化系と言えます。Google Earthに限らず、”触れる地球”など多くのディジタル地球儀が存在するわけですが、今回は、”呼べる地球”を作ってみました。種明かしをすれば、Google Earthを音声認識で制御してキーワードに関する地点に移動するというものです。とりあえず、動作中の映像を撮ってみました。


(音声による解説付き)

同じようなコンセプトはいくらでもあるかと思いますが、今回ちょいとプログラムを書いて作ってみました。上の映像にもあるように、今はテレビにパソコンがつなげる時代ですので、大型テレビなどを使って何か地理の授業でも役立てばいいなぁとは思っています。

今回開発したソフトは雑な作りですが公開しますので、興味があれば使ってみてください。あ、ウェブカメラ付属のものでも十分ですがマイクが必要です。

使い方

1)Google Earthのインストール(最新版をお試しください。現時点で、4.2.0198.2451(beta)で確かめました。

** 以下の2)ですが、コントロールパネルで”音声認識”があり、”Microsoft Japanese v6.1 Recognizer”がインストールされていれば2)をインストールする必要はないかもしれません。

2)音声認識エンジンのインストール(2つ) : Download details: Speech Software Development Kit 5.1
2.1)SpeechSDK51.exe : 認識エンジン本体
2.2)SpeechSDK51LangPack.exe :日本語認識言語パック
2.3)スタート>コントロールパネル>音声認識にて、Microsoft Japanese Recognizer v5.1を選択する(英語で認識させたい場合は、Microsoft English Recognizer v5.1)
3)開発したソフトウェアのダウンロード(バグがあるかも。あったらすみません)
 “呼べる地球”ダウンロード(Beta 1.0)
4)3でダウンロードしたソフトを起動(ここでGoogle Earthは事前に立ち上げないでください。通信をするためには、このソフトからGoogle Earthを起動する必要があります。)
5)とりあえず”アメリカ”などで検索をし、Google Earthが立ち上がり、Google Earthと連動するか確かめる。ここで1回目の検索は必ず失敗します。Google Earthの起動を伴うための問題です。もう一度検索してもらえば動くはずです)
6)音声認識にチェックボックスをいれて、マイクで地名を”呼ぶ”(事前にマイクの調整などはおこなっておいてください)

* 開発したソフトが起動しない場合はご連絡ください。
* ソースコードがほしい方は連絡してください。追記:すみません。昔の記事でコードがどっかいっちゃいました。

***

ここから技術情報です。同等のアプリを作りたい人は参考にしてください。要点を箇条書きにします。

・Google Earthとの連動は、Google Earth COM APIを用いる。earth.idlが公開されているので、VC++でも.NETでも、Javaでも自由に呼び出せる。その中のISearchControllerGEを用いている。ほかにもカメラコントロールなどいろいろインターフェイスはあります。
・文字認識は、上記でダウンロードしているMicrosoft Software Development Kit 5.1を用いている。しかし古いもので、VC++Ver6.0までしかコンパイルが通らない。それ以降は.NETのものがあるようだ。.NETでも音声認識およびCOM通信が容易なので.NETで作ればよかったんですけどね。