2007-05-29[n年前へ]
■The Lunar Timescope
The Lunar Timescope は携帯電話用の The Lunar Surface Telescope です。携帯電話を手にすれば、「いつかの月」を眺めることができます。朝の満員電車の窓際で、昼休みの机の片隅で、夜のバスの席で揺られながら、過去や未来の「ある日の月」を眺めることができます。
過去や未来の月を眺めてみたり、今日や明日の月を眺めてみたり…、そんな風に色んな毎日の月を眺めてみれば、少しづつ月が揺れ動いていることもわかるかもしれません。ゆっくり、けれど、容赦ないほど早く流れていく時の中で眺めることが難しいような、月の顔が移り変わるようすを眺めることができます。鞄やポケットに入れた携帯電話の画面を通して、そんな時間や月のさまの移り変わりを眺めることができます。
歴史の教科書に載っている有名な日に浮かんでいたはずの月、有名ではないけれどあなたにとっては大事な日に見えるだろう月、そんな色んな月を携帯電話で見ることができるのが、The Lunar Timescope です。携帯電話のブックマークに登録しておけば、いつか、役に立つこともあるかもしれません。左のQRコード、あるいは、このURLを携帯電話に登録すれば、手にした携帯電話を入り口にして、時間をまたぐ月見旅行に出かけることができるのです。紀元前4000年の夜にナイル川を照らしていた月、昨日の夕方に空に浮かんでいた月、どんな月も、携帯電話の画面に浮かんでくるはずです。
今の時代、あなたの手元にはいつも携帯電話がある…という人も多いことでしょう。自分が手にして、自分のいつも手元にある道具だからこそ、その道具を介して時間や空間の中をワープすることができたなら、どうなるだろう?…と思うことがあります。そんな、時間や空間の中を自由に操ることができる道具を手元に作り出すことができたら…と思い、こんな道具を作ってみました。
2007-07-05[n年前へ]
■「制御」と「物語」
制御工学の教科書のページをめくれば、どんなに少なく見積もっても、ページの半分ほどがフィードバック制御に関することに費やされている。
フィードバック制御、それを実に大雑把に言うならば、「現在の状態に応じて"足りないもの"を補う」「"不安定なもの"を"安定"にする」制御だ。つまり、不安定性になっていまうものを回復し、安定にさせること、である。乱暴に言ってしまえば、世の中に満ちあふれている制御は、全部そんなものに見える。
物語の基本パターンは、怪物退治と聖杯探求です。怪物は外側からこの世界を脅かすものです。英雄はその怪物を退治して、世界の秩序を回復します。一方、聖杯探求では、世界の秩序の中心が不意に消失し、世界が迷宮化してしまいます。英雄はその消失したものを探し出すことで世界の秩序を回復することになります。「文学を科学する 」を読みながら、人は「現在の世界の"足りないもの"を補い」「"不安定な世界"を"安定"にする」物語を読みながら、同時に、「現在の自分の"足りないもの"を補い」「"不安定な自分"を"安定"にしようとする」ものなのだろうか、と思う。心の中の足りないものを補い不安を和らげる、つまり、心を癒す、そんな制御を物語はしているのだろうか。
「文学を科学する 」 P.76 3.5 小説はいかに語るか
「可観測行列行列が正則でなければ、現在の状態を正確に知ることはできないし、可制御行列が正則でなければ、任意の状態に制御することはできない」とクールに断言する制御工学の教科書を読みながら、次世代の制御理論は人や世界の制御・安定化をいかに実現するのだろうか?とふと思う。
心の癒しというテーマ、それはぼくにいわせれば、とても単純な物語です。物語というものはそういう性格をもっている。心の制御工学というものがあるのなら、それは一体どういうものだろうか。
「文学を科学する 」 P.125 ストーリー性の重視
2007-07-14[n年前へ]
■デッサン技術と画像処理プログラム
画像加工サービス "Imagination You Make"の中に含まれている「画像をイラストレーション風に加工するプログラム」は、割に時間をかけて作った。何しろ、Imagination You Make の1機能として、このイラストレーション化プログラムを作ったのではなく、イラストレーション化プログラム用のフロント・エンドとして、(Ruby on Railsの勉強がてら)Imagination You Makeを作ったのだった。Imagination You Makeが出力する解像度ではわからないが、イラストレーション加プログラムの出力はベクトル化処理もされていて、PostScriptとして出力を保存することもできたりする。…その後、Railsで動くサービス側に興味を惹かれたこともあって、「画像処理ジェネレータ・サービス」を作り出す"Imagenerator"を作ってみたりもしたけれど、やはり、本来の「画像をイラストレーション風に加工するプログラム」を作り直す作業は続けている。
「画像をイラストレーション風に加工するプログラム」の画像処理アルゴリズムを作るために、さまざまな試行錯誤を繰り返した。それと同時に、デッサンやイラストレーションや油絵や似顔絵書きなど、絵画に関するテキストを結構読んだ。「イラストレーション風に加工する」するために、「イラストレーション」がどういうもので、どういう風にすれば描けるようになるかをたくさんのテキストから学ぼうとした。
いろいろ実験してみて、普通 人物画や肖像画を描くときは、写真撮影ではないのですから、陰影とか明暗といったようなことは、あまり考えないでいいと気づきました。 安野光雅 「絵の教室」そういう絵画の教科書を読んでみた結果、試行錯誤の結果として作られた画像処理アルゴリズムが、デッサンやイラストのテキストに載っている「描き方」と瓜二つになっていることも多かった。これが、とても新鮮だった。処理アルゴリズムに正解なんてないだろうが、「そう悪くない答え」をプログラミングすることができたように感じ、楽しく気持ちの良い感覚だった。
2007-10-30[n年前へ]
■"Rail is draw"
一月くらい前の日曜日、テキトーにRailsでコントローラを一個作って、mongrelプロセスを投げた。当初は、コントローラ名が"rails"だったというくらい、何の考えもなく作った。それが、ラクガキ画像検索&画像処理をする"rails"コントローラだ。
mongrelプロセスを投げる前に、「いくらなんでも"rails"という名前をテキトーに使うのは上手くないな」と思い、名前を"railis"と変えた。変えたといっても、やはり何の考えもなく、キーボードの"i"を押して"rails"に"i"を挿入しただけだ。虚数の"i"、虚実の「虚」を混ぜ、エイチ・アイ・ジェイ…の「アイ」、その時読んでいたRubyの教科書に従って言うなら、ほんの少しの「愛」を混ぜた。
mongrelを投げてから、ふとroute.rbを眺めると、"Rail is draw"というURLになっている。それは、まるで"私が進む線路は私が描く"というように見える文字列だ。「描いたイメージに自分がなれる…」というWEBアプリに、何だかとても似合う文字列になっている。偶然というのは、面白く楽しい。
2007-11-25[n年前へ]
■「海面に写る太陽」の不思議
初日の出と足元に広がるミステリー
新年の代表的な景色が「初日の出」だ。海の向こう、水平線の向こうから太陽が姿を現す。空に太陽が昇ると、太陽に照らされ水面が静かに光りだす。そんな景色を見ているとき、ふと「あること」が気になりだし、とても不思議に思えてきた。
海面に太陽が写っているようなのだが、海面に写った太陽はまるで「道」のように水平線から足元まで続いている。よく考えてみると、これは少し不思議に思える。海面に反射した、つまり、海面という鏡に映った太陽の姿がなぜ「上下反転した太陽」でなく「輝く道」のように見えるのだろうか。
昔学校で習った理科の教科書の中には、確かこんな図が描いてあった。そして、太陽の光が水面で反射するときには、「入射角と反射角が同じになるように(海面からの太陽の反射光が)進む」ということだったように思う。そして、その結果、水面には上下さかさまになった太陽の姿が見える、はずだった。
実際、夕暮れ時に風やんだ静かな河口で夕日を眺めた時を思い出せば、それは川面に写る太陽は教科書通りの「上下さかさまの姿」そのままだった。なぜ、目の前の海面にうつる太陽は逆さの点光源ではなく、輝く道のように見えるのだろう?その理由を考えていくうちに、「海面が波立っていること」「太陽に対する(微小)海面の向き」「海面でのフレネル反射率」が原因だということがわかってきた。
まずはじめに確実なことは、海面は平らでも滑らかでもない、ということだ。風や色々なものが原因で、海面は波立っている。海面はその場所ごとに、数限りない色々な方向を向いている。だから、「入射角と反射角が同じになるように(海面からの太陽の反射光が)進む」のだとしても、海面に写り込む太陽は、決して一点だけに見えるわけでなく、さまざまな海面上に写って見えることになる。
実際、表面が粗く波立った海面に太陽光が入射した時の反射光の分布を計算してみると、右の図のようになる(Modified - Blinn - Phong Model)。海面が微視的に色々な方向を向いているので、海面からの太陽光の反射は一方向のみに照射されるのでなく、色々な方向に向く。しかも、右の図は、まだ比較的表面が平らな場合の計算結果なので、実際の海面からの反射光はもっとさまざまな方向に広がる。
そして、重要なことは(微小領域ごとの)海面の向きにより海面からの反射光強度が等方的に分布するのではない、ということである。海面が太陽の方向を向いているときには、その(海面から見た)海面単位面積辺りに入射する太陽光強度が強くなる。そういった効果は、太陽の反射光強度を強める方向に働く。また、海面が私たちの方向に向いている(傾いている)箇所では、(微小海面から見た)水平に近い角度で太陽光が入射・反射することになる。すると、海面でのフレネル反射率が高くなり、これまた、太陽の反射光強度を強める方向に働く(右図は太陽光の入射角に対する海面での反射率を示したもの)。特にフレネル反射率は入射角度が海面に対して、水平に近くなればなるほど非常に高くなり、最後には全反射になる。そのため、「太陽光が私たちの目に反射するような角度になる微小海面」がそれほど多くなかったとしても、反射光は非常に強く見えるのである。
これらの効果が合わさった結果、太陽光の反射光が眩しく映り込むような箇所はどのようになるかを図示して考えてみると、「自分の足元の海面から太陽の方向へ延びる線上」となることがわかる。太陽と私たちを結ぶ線以外の方向は、海面での太陽光の反射率が低くなるので、太陽の姿はほとんど写らず、波立った海面に映り込む太陽の姿が見えるのは、自分の足先の海面から水平線まで光り輝く道状の領域ということになるのである。
私たちが眺めている景色には、「たくさんの不思議」が満ち溢れている。私たちの目の前に転がっている小さなミステリーを解決しようと、その未知のものに一歩足を踏み入れた途端、ただひとつの例外もなく、その奥にはさらに未知の大きな世界が続いている。それは、何だか元旦と新年の関係に似ているように思う。元旦になった今日、新しい未知の一年が始まる。私たちの足元から水平線の先へ、未知の道が続いている。