寒さもようやく衰えはじめ,木々も緑日ごとに色めく季節,皆さんはいかがお過ごしでしょうか.
今回は例年お馴染みのスプリングセミナーについてお知らせさせていただきたいと思います.
スプリングセミナーでは来ていただいた方たちに,実際に手を動かしながら,研究室のテーマを体験していただこうという催しです.実際に体験していただくことで,より詳しい理解や,作ることの難しさ,出来た時の喜びを感じてもらえるので,より身近に研究を知る機会になるのではないでしょうか.
我々の研究室には9人もの精鋭がいらしてくださいました.本当にありがたい限りです.
もちろん,さあでは作ってください,という訳にはいかないので,我々の研究室からは,助教の武富先生,M1の小島,酒井,瀬戸,早田がお手伝いさせていただきました.今回,実際に作ってもらうのはARToolKitによるプログラミングとプロジェクションマッピング,どれも我が研究室ではお馴染みのテーマですね~
ARToolKitグループにはまず,ARマーカをひとつカメラに写すと3Dのタチコマが表示されるという基本プログラムが与えられ,それをベースに課題に取り組みました.課題は大きく分けて2つあり,ひとつは画面上をマウスでクリックしている時にタチコマを画面上に固定する,もうひとつはクリックしたマウスボタンを解放するとその時点でのマーカとの位置関係を維持したままタチコマをマーカの動きに追従させるというもの.また,ARToolKitの仕組みを理解する一環として課題のはじめに認識するマーカを2つに増やす作業を行いました.
開始直後は,基本プログラムを実行してマーカに追従するタチコマの動きを見て感心している場面もありましたが,数分もすると皆さん真剣な面持ちで課題に取り組んでいました.ARToolKitでは用意された関数を用いることで簡単にARアプリケーションを実装することができるため,C++を初めて使う人もネットで関数を調べることで比較的スムーズにプログラムの作成が行えている様子でした.その一方で,2つのマーカ間の距離を求める際などにマーカ座標系やカメラ座標系の間で座標変換を考える必要があり,その考え方やどの順番でどの座標変換行列を用いるかを考える部分で苦戦しているようでした.
しかし,どの学生さんも根気強く調べたり積極的に質問をしたりすることで,2日めの終了時間1時間程前にはほとんどの方が与えられた課題をクリアしていました!その後は日頃の研究室の様子を話したり進学に関しての質問などに答えたりして,終了時間を迎えました.
プロジェクションマッピンググループにも,まずは基本となるソースコードが与えられ,その虫食い部分を埋めていくという課題が与えられました.こちらの最終目標は,立方体のオブジェクトにペン先を近づけるとその位置に青色や赤色の点がプロジェクションされ,模様や文字を描くことができるようにしようというものでした.
これを実現するために,最初はARマーカをペンに貼り付け,マーカ座標系におけるペン先座標の位置を計算しました.これは単なる数値の設定だったので,みんな難なくこなしていました.次に,プロジェクタと物体間の座標変換を行うために,プロジェクタパラメータの計算部分を考えました.ここは,座標変換行列の計算が必要となってくるため,パソコンだけでなく紙とペンを使って行列式の計算を実施しました.この課題,最初からプログラムを書こうとしても???となる部分が多いみたいでしたが,紙に書きながら順に整理していくことで,みんな解くことができていました.
3つ目の課題では,プロジェクタ画面座標系におけるペン先座標を求める座標変換を考えてもらいました.これも行列の計算であるので,要領をつかんだ人はすぐに回答をするほどで,みなさんのセンスの良さを感じました.
最後には追加課題として,ペン先と立方体の物体の衝突判定を行い,衝突時にはその位置に赤や青,緑の点をプロジェクションするというところまで行いました.さすがにここは,言語の書法等で難しい部分ではあったので,サンプルコードを見ながらプログラムの流れを勉強しました.書き方はわからずとも,処理の流れの部分は「なるほど,こういうことか!」と理解してもらえたようでしたので,最後にはいろいろお絵描きして遊びました.一度も触れたことのない言語で書くのは大変な経験だったとは思いましたが,理論の部分を理解してもらえたので,みなさんにはいい経験となったことと思います.
皆さん,なんとか2日間のテーマをやりきり,なんとか完成.
ハードな課題だったにもかかわらず,時間を余して,歓談タイム.外国人とのトークもこの研究室ならでは.
研究室についてのお話や受験の心得,研究に関するお話など,楽しいひと時でした!
この中から未来のIMDラボメンバーが現れるのを楽しみにしてます!