ならば

音とかで遊んでいたログ

Unicode+ライフゲーム

ライフゲームで更新されるビットパターンをUnicodeのコードポイントとして文字列に変換した。
wonderflで実行できる。環境によってはフォントの問題で表示できない文字があるかも。

ビットパターンは横に並ぶ16ビットごとに切り出して、それを一文字として見る。文字セットはUnicodeの文字が連続する領域を、開始位置と終了位置のコードポイントで指定する。例えば、16ビット全部ゼロの部分は、開始位置の文字に変換される。文字セットに含まれる文字の数が256未満の場合はビットパターンが表す数に対して単純に文字数で剰余を取っている。

32ビットごとに切り出すようにして、文字セットの範囲を狭めなければ基本多言語面の文字がすべて収まるためカオス極まる気がするけど、表示できない文字も多そうなので試していない。


このエントリを書いた人はこんなエントリも書いています: QRコード+ライフゲーム - ならば

boidsで作る音符の群れ

boidsアルゴリズムに従って、音符を泳がした。

   

音符が線を通り過ぎたとき、その線に対応する高さの音が鳴る。
音符は全音符、二分音符、四分音符、八分音符の四種類。


wonderflで実行できる。クリックで音符を追加。

単純な五線以外の形で音の線を作っても面白いかも。

顔文字の編集距離グラフ

顔文字の編集距離でグラフを作ってみた。
編集操作は挿入・削除・置換で、各コストは1とした。Microsoft IME 2007で入力できる顔文字をもとに、編集距離が1になる顔文字同士をつないでいる。孤立する顔文字はグラフから削除した。

最大次数17を持つ顔文字は (^_^) である。スタンダード。


顔文字の自動分類に応用できそうな気がする。

個人版2011年のハイプ・サイクル

いつもに輪をかけて仕様もないネタが浮かんだので急いで吐き出す。

ハイプ・サイクル([英]hype cycle)とは、コンサルティングファームのガートナーが考案した技術コンサルのツールのひとつ。新しく登場した技術が、

  1. 発表されて一部のメディアやアルファなんとかな人たちに認知されていって、
  2. 話題が広まり、多くの人から注目を集め、過度な期待が持たれるようになり、
  3. 実態や行き過ぎた適用による失敗が明らかになるにつれ、反動的な批判が巻き起こった後、
  4. 時間が経過するにつれて真の有効性や適用範囲が知られるようになって、
  5. 最終的に市場のなかで一定の立場を獲得する

過程を表す図。
グラフのように見えるが客観的な指標でプロットできるわけではなく、作者の見解を図示するものである。
 
 CC BY-SA 3.0


話題の新技術がいつハイプ(過度な期待、誇大広告)を超えて浸透していくかを表し、流行やバズワードに流されない適切な投資・導入のタイミングを顧客に知らせるために使われるようだ。

ハイプ・サイクルといいながらカーブであってサイクルではないだろうというツッコミに始まり、いろいろな批判があるらしいが、ガートナーのレポートではよく使われる。


まあそういう堅い話は置いておいて、これを個人的な熱意に強引に適用するとどうなったかという例を下に出す。強調しておきたいのは、縦軸はあくまで学習に対する熱意であって習熟度ではない。スキルとは全く関係ない。


これを作ると、

  • 今は何に対しても熱意がないんですね
  • 日頃プログラミングしてないんですね
  • 飽きっぽい性格なんですね

などという診断が下るのである。だからどうしたと言われるとどうもならない。
というか飽きっぽい性格でなければそもそもこういうカーブにならない気がする。

市場は熱しやすく冷めやすい。

まばたきで画面キャプチャを撮る

Webカメラに顔を映して、まばたきしたときに自動でアクティブウィンドウの画面キャプチャを撮って保存する。
左下のウィンドウに映っている目の周りの四角が青くなったときが目を瞑ったとき。

   


Camera Mouse Suiteというソフトと、自作のキャプチャプログラムを組み合わせている。

Camera Mouse Suite

Camera Mouseは、Webカメラに映した頭の動きでマウスを操作するソフト。頭を上下左右に振ることでマウスポインタを動かして、一定時間同じ場所にマウスポインタを置けばクリックできる。このソフトの機能追加バージョンがCamera Mouse Suiteで、マウスポインタの停留時間の代わりに、まばたきでクリックする機能がある。

  

Blink Timeに、目を瞑っている最少時間を設定する。この時間が、生理的な(一瞬の)まばたきと、クリックのための意図的な(ある程度長い)まばたきを区別するための閾値となる。目のチャタリングに対するソフトウェア的な対策といえる。

使い方は簡単。PCにWebカメラをつないで起動すると、自動的に顔が検出される。上の画面でいくつかの項目を設定した後、ソフトの指示に従って頭を動かしたり目を瞑ったりすれば、すぐにマウスを操作できるようになる。

自作のキャプチャプログラム

Camera Mouse Suiteはフリーソフトだけどオープンソースではないので、まばたきしたときにクリック以外の何かをさせるように改造できない。そこで、マウスイベントをグローバルフックして、クリックされた場合にアクティブウィンドウをキャプチャ・保存するプログラムを作った。作った部分はこれだけ。

感想

Camera Mouseの使用感について。
使いやすくて高精度だった。比較としては、手を使わずにマウスポインタを動かすという目的に絞れば、ITU Gaze Trackerに比べてセットアップは遥かに楽だしマウスポインタも操作しやすい。

まばたきの検出は他のソフトを使ったことがないので比較できないけれど、充分実用的な精度だと思う。ただ、今回のどうでもいいケースでは連写と呼べるほど高速なまばたきは検出できなかった。まばたきでモールス信号を高速に発信するソフトも作りたいと思っていたのに。

二重振り子を聴く

二重振り子が弦をかき鳴らすという思い付き。

音階はマイナーペンタトニックスケールで、下の弦からC, E♭, F, G, B♭。
一段目の振り子の錘では、二段目の振り子の錘よりも1オクターブ下の音が鳴る。
少しふわふわさせたかったので重力加速度は弱めてある。

一段目の振り子の錘を掴んだまま振り回すと楽しくなるかも。

日本のカルトグラム

カルトグラム(統計地図、[英]cartogram)とは統計データに基づいて面積や距離を伸縮した地図のこと。例えばGDPに基づいた世界地図のカルトグラムでは米中日や欧州の面積が肥大し、アフリカの面積は縮小する。世界地図については、FedExが素晴らしいサイトを公開している。

カルトグラムを生成するソフトウェアのひとつにScapeToadがある。これを使って都道府県別の統計データを基に日本地図のカルトグラムを作ってみた。

  • (比較として通常の地図)

  • 人口

  • 県内総生産

  • 年間降雪量

  • 年間うどん・そば消費量


 うどんだけというデータがなかった。

使用データ