2005-05-14[n年前へ]
■「未来の立体ディスプレイ」を作る
「(いかにも)未来の立体ディスプレイ」のようなものを作ってみたい、とふと思いました。そこで、hirax.net式VR表示法なんていうのを作ってみました。二次元のディスプレイで立体を表示する(表示しているように見せかける)方法です。インタラクティヴに立体像を眺める方法と言った方が正確かもしれません。まずは、この動画やこの動画あるいはこの動画を見ればその動きがわかるだろうと思います。液晶画面に(まるでStar Warsのレイア姫のように)立ち上がっている女性の姿が浮かび上がって見えるのがわかるはずです。もう少し拡大してみると、こんな立体像が表示されていることになります。視野角の広い液晶なら、結構「未来の立体ディスプレイ」っぽくなるように思います。
一言で動作の仕組みを書くと、「ディスプレイ(PC)の傾斜がわかれば → その傾斜を生み出す観察者とPCの配置関係はほぼ一意に決まる(ディスプレイを支える人間の腕関節にはそんなに自由度が無いため) → ディスプレイとそのディスプレイを眺めている観察者の視点の位置関係がわかる → その視点からの映像をレンダリングして表示する」という仕掛けです。
ごく近い将来に、Non-perpendicular film planeの補正を入れる予定にしていますが、まだその補正を行っていません。そのため、現在時点では表示面の面内方向に大きな物体を表示すると歪みが発生してしまいます。というわけで、表示面の「面外方向のみに長い物体」を表示してテストしてみました。地球転がしアプリのような「球」だと「面外方向に全然長くない」ので効果がわかりづらいということで、ちょっと変えて「人」でテストをしてみました。
なお、もう少し詳しいテスト結果は別文章にする予定です。また、とりあえずはThinkpadのみですが3軸加速度を検出するToshiba系でもテストをしてみたいところです。
2005-06-17[n年前へ]
■スクロールバーに見る「未来の予感」 その1
このページのレイアウトは、左側に本文、右側にタイトル一覧や種々のメニュー類が配置されています。こういうレイアウト(を出力するモジュール)を選んだのは、「タイトル一覧や種々のメニュー類」はマウスで操作されることが多く、マウスが右手で使われることが多い以上、右側に配置されている方が自然だと考えたからです。もちろん、同様の発想で右側に配置されているスクロールバーの近くに配置されていることがその自然さを増している、とも考えてもいます。
しかし、その一方で「スクロールバー」や「タイトル一覧や種々のメニュー類」が左側に配置されている方が自然だという考え方もあります。先日、NeXTのGUIの話をかつてNeXT内でNeXT STEPの日本語化作業をされていた方と、そんなGUIの話をしていました。ご存じの通り、NeXT STEPでは「スクロールバー」は左に配置されています。「全体の内のどの場所なのか」というアウトライン的な内容を示すものは「上手に配置すべき」という考え方も、やはりとても自然です。英語では上手は眺める側から言って「左側」ですから、左に「スクロールバー」や「タイトル一覧や種々のメニュー類」を配置すべきだ、と言うわけです。
また、そんな「左手=上手」の言葉で書かれた文章を読む人は、左側から視点を移動させていきます。そして、文字を左から右に書く言語においては、文字はウィンドウの左端に偏って配置されています。ユーザの目は左側に注目しているのに、ウィンドウをスクロールするためだけにマウスポインタを(何も書かれていない空白地帯を越えた先にある)右端に移動させなければならないなんて不便だ、というのも至って自然な考え方です。
「どういうものが自然か?」ということを考えるとき、対象物を広く一般化してしまうと、話が単純に見えやすくなることが多いようにも思います。「論じたいモノ以外のモノたち」にも視野を向けることで、とても単純にその「自然」が見えてくることがあります。(続く)
2005-09-07[n年前へ]
■「appleのビデオ機能」
先日、末広町で飲んでいた時に、appleのビデオ出力のメカニズムの話題に一瞬なった。忘れている箇所も多かったので、もう一度そのメカニズムを追いかけてみた。
apple回路では、14.32MHzのオシレータ出力を2分周した7.12MHzの信号がビデオ信号のドット・クロックとなる。回路上はあくまで、(基本的には)1ドットが1bitの単純な構成である。
ところで、NTSCのビデオ信号のカラー情報は「ビデオ信号に重畳した3.58MHz波形」の位相で表すが、この3.58MHzはappleのビデオ・クロック(7.12MHz)のちょうど二倍である(もちろん単にそう設計したわけである)。ということは、2ドット分のビデオ・信号を"on""off"として出力した場合と、"off""on"して出力した場合では、NTSC信号でのカラー情報(位相)が180度ずれたもの(=補色)を表すことができるのである。
ということは、基本的にはハイレゾ1bit=1dotとして、まるで二値的に思えるシステムであっても、少なくとも白(on.on)と黒(off.off)と紫(on.of)と緑(off.on)という四色が生成できることになる。もちろん、単純に言ってしまえば、(7.12MHz単位の)2ドット毎(=NTSCのカラー信号3.58MHzの周期)に対して2bit使っているということになるので当たり前と言えば当たり前の話になる。そして、連続する2ドットのon-offの組み合わせでNTSCのカラー信号を生成(疑似表現)するので、「連続する2ドットの関係で色が決まる」というappleのカラー・グラフィックの掟がここにできるわけだ。
さらに、(ある時期以降の)appleの場合ビデオ・データの特定の(=横7ドット, 縦8ドットのテキストモードとの兼ね合いで使われていなかった最上位の)bitを立てると、フリップフロップ回路で70nsだけ信号を送らすことができる。その70nsのずれは、NTSCのカラー信号3.58MHzのドット・クロック幅の25%に相当する(角度で言うと90度)。ということは、NTSC信号でのカラー情報(位相)が0, 180度の色だけでなく、90, 270度の色も出力(疑似生成)することができるようになる。すなわち、黒・白・紫・緑に加えて青・橙という計6色が出力することができるようになる。
そして、これらの出力機能は結局のところ、二値出力の高低信号の位置を「ドット配置やドットの位置ずらし」といった操作で変化させているにすぎない。ということは、こういった出力をモノクロ・ディスプレイに対して行えば、(ClearTextなどの技術の祖先とも言える)「基本ドットの位置を25%だけ横にずらして、(位置出力として、あるいは階調出力として)滑らかな出力を行う」なんていうこともできるわけである。(出力デバイスがもしもカラー・デバイスであれば)「色のにじみ」が結果として出現するところも全く同じと言えば、同じである。
単純明快な回路ではあるが、こういう単純なシステムをなんだか忘れてしまっているような気がする今日この頃、だ。
2005-10-16[n年前へ]
■「ペース・メーカ配置と走者周りの気流」
マラソン競技のペースメーカ配置が適切であれば、空気抵抗の減少により4分30秒ほどの体力温存効果がある、という「ペース・メーカ配置と走者周りの気流」 走者たちの周りの気流を眺めていると、時速20kmという速さを実感できるかも。
2006-02-12[n年前へ]
■斜め配置CCD・CMOSの秘密 前編
「hirax.netラボ」と題して、「斜め配置CCD・CMOSの秘密 前編 (2006.02.12)」というものを書いてみました。ラボなんて言っても、旧名称は「自主学習」だったページですから、大した内容ではありません。もちろん、話の確からしさなんて怪しいものです。
話の内容は、「画素を45度回転させ斜めに配置した」クリアビッドCMOSセンサをSONYが発表した時に、Fast & First 情報掲示板(No.9601, No.9603)で書かれていた「斜め配置センサと通常配置センサの解像度」についてのエトセトラ、です。Fast & First 情報掲示板を面白く読みながら、書かれていたことを自分なりに整理して、つらつら考えた内容をメモしてみたというわけです。