pineapple blog

Blog of Ichi Kanaya / 金谷一朗のブログ

Search

Twitter feed

Flickr Feed

Loading Flickr...

    More - Flickr

    Find me on...

    Tag Results

    4 posts tagged Masataka Imura

    Polyphonic Jump! の技術

    神戸ビエンナーレ,ホテルオークラ神戸のお正月イベントで好評を頂いたインタラクティブ・メディア・アート作品 Polyphonic Jump! の中身をご紹介します.

    Polyphonic Jump! は10m幅のキャンバスに描かれた森の中に鑑賞者の映像が投影され,キャンバスの上を動きまわる手描きアニメーションの動物たちとインタラクションが出来る作品です.

    この作品のために,Kinectを使ったマーカレスモーションセンサが使われました.鑑賞者の動きは3Dでトラッキングされ,鑑賞者のジャンプはリアルタイムに検出されます.

    検出された動きデータは,Kinectにつながった Windows PC からアニメーションを生成する Mac サーバへHTTPリクエストとして送られます.Mac サーバでは Scheme インタプリタ上で動いているHTTPサーバがリクエストを解釈し,適切なフレームデータを計算してPCへXMLで送り返します.

    XMLデータを受け取ったPCはXMLを解析し,画像を読み込み,OpenGLを使って画像をレンダリングします.プロジェクタが3台あるので,隙間が出ないように,また位置がずれないように,スムーズにプロジェクタ間をつなぐような処理が行われています.またキャンバスは平面ではないので,ホモグラフィを使った幾何補正も行われています.

    バックエンドのHTTPサーバにLISPの一種であるSchemeを使うことは,作品作りの初期から決まっていました.というのも,アーティストと共同で制作するメディアアート作品の場合,仕様というものが最初からないのですから.

    Walking on water and developing software from a specification are easy if both are frozen. —- Edward V Berard
    (水の上を歩くのと,仕様からのソフトウエア開発は,簡単だ.・・・両方とも凍っているならの話だが.)

    という格言があるぐらい,仕様が固まっていないソフトウェア開発というのは困難ですが,そもそも最初から仕様がない場合,開発は不可能とさえ言えます.そこを無理やり進むには,LISP系言語以外に選択肢はありません.

    なぜでしょうか.プログラマというのは,目的にあわせて言語を選ぶものです.目的がはっきりしないときに,できるだけ汎用的な言語を選ぶのは非効率です.目的がはっきりしないときには,言語そのものをデザインできる言語を選ぶのです.というわけで,Schemeが選ばれたのは当然の成り行きでした.

    開発の過程で,ほぼ毎日,目標が動きました.動く目標を撃つには,何度も,少しずつ,やり直すしかありません.もしLISP系言語以外の言語を採用していたら,おそらく何度もフルスクラッチからやり直すことになっていたでしょう.マクロと,動的型付けと,ファーストクラスクロージャは,例えばクラステンプレートやポリモーフィズムやジェネリックよりもずっとうまく,動く目標を撃つ手助けになりました.

    サーバとクライアント間のプロトコルをHTTPとXMLに決めておいたことも幸いしました.サーバのデバッグにはまずFirefoxを使って,想定されたXMLをちゃんとサーバが返しているかの確認が行われました.(ChromeはURLを先読みしてHTTPリクエストを投げてしまうので,デバッグには使いませんでした.)

    ある程度サーバの形ができてきた時点で,Mac上でレンダラのシミュレータを作りました.中身は Objective-C 2.0 + Cocoa (XML parser, Aqua UI) + Core Animation で,Mac OS X の優れたライブラリのおかげで100行未満のコードで本格的なシミュレータが完成しました.

    レンダラシミュレータはサーバの開発効率を飛躍的に向上させました.シミュレータを見ながら,サーバのコードを試行錯誤して,つくり直していくのです.

    このようにして,Polyphonic Jump! は完成しました.

    The interactive media art Polyphonic Jump! is coming back to Kobe! From 1st to 3rd January, 2012, the Polyphonic Jump will be exhibited at Hotel Okura Kobe. (Admission: 200 JPY.)

    The Polyphonic Jump! is an apparatus for human beings to be immersed in fantasy world where many creatures chorus in polyphony. Audiences stand in front of a round-shaped screen on which natural scene is hand-drawn, and jump to watch how animated animals interact them.

    神戸ビエンナーレ(2011年10月1日〜11月23日)アート・イン・コンテナ展で大好評だった「ポリフォニック・ジャンプ!」が再び神戸に帰ってきます.2012年1月1日,2日,3日,ホテルオークラ神戸にて.(入場料200円)

    Update of the official site: new video from Hong Kong.

    We are proud to announce that we just started demonstrating Sweet Home at Siggraph Asia in Hong Kong!

    Loading posts...