この世は物理法則に支配されています。光や力学運動など、物理法則の挙動はとても複雑です。でもこれをコンピュータで解析、挙動を制御できると、その制約条件を満たす面白い人工造形物がつくれます。またすごく賢いロボットも作れるようになります。楽詠灝先生の、まさに魔法のような造形力を、お楽しみください!
コンピュータと物理をより近くに~物理法則をコンピュータ制御すると、複雑な動きができるロボットも実現
まず次のCGをご覧ください。
これは、光の散乱をシミュレートしたCG夕焼けの風景です。コンピュータで物理現象を賢く扱うと、このようなことができます。光源は太陽のみで、大気と空の多重散乱や、地面との相互反射をすべて考慮してシミュレーションしています。それによってこのような夕焼けの光の変化も予測できるのです。
次の映像は、力学的な現象の予測です。クリーム独特の形状を予測して、パイ投げのシミュレーションをしてみました。実際に人を使って検証もしましたが、投げつけられているのは、私です…。
物理法則を制約条件とみなして、機能的人工物のデザインに活用することができます。例えば、光を自在にシェイプできるレンズを作ることもできます。次の映像をご覧ください。
このように私の方法を用いると、光の屈折面を自由に決め、美しい集光模様をレンズで自在に描くことができます。光の屈折しているのはエネルギーの再配分ですが、その配分を再配分化することで、光を自在にシェイプアップできるレンズを計算・加工できるというわけです。下の画像は、インテル社からの依頼で制作したレンズです。
物理制約の中で、力学的な安定性もまた重要な要素です。ものを載せた重みに耐えられるようなレゴブロックの組み方はできるでしょうか。次の動画をご覧ください。
ご覧のように、私の開発した、力学的な物理条件を考慮したブロック配置の最適化手法を用いると、最適なブロックの積み方が実現できます。それに基づき、実世界サイズのテーブルを作成し、その上にノートパソコンを置いて作業をしてみました。
コンピュータで物理法則を扱えると、賢いロボット作りにも役立ちます。まず映像をご覧ください。
布は変形物体ですが、その変形の様子や形状を理解するためには、やはり物理法則が重要です。データベースにあらかじめ様々な衣服の変形形状の様子を登録しておき、それを用いて、今ロボットがどこを掴んでいるのかという推定と、それから次にどこを掴みに行けばいいのかという行動計画を行い、衣服を広げます。
衣服にシワがある場合はそのシワ形状を認識し、アイロンがけします。衣服を折りたたむには、生地の伸縮性や、テーブルとの摩擦力を考慮して、折りたたみ操作を最適化します。
こうして物理法則を考慮した手法により、洗濯物を広げ、アイロンがけし、折りたたむという一連の作業の自動化への道を拓くことができます。
今後、コンピュータと物理をより近づけることで、現象の予測や、機能的人工物のデザイン、賢いロボットの開発という様々な価値を生み出していきたいと思います。
The Jungle Book
Walt Disney Pictures
2016年公開の映画。ジョン・ファヴロー監督。コンピュータグラフィクスによる写実的な自然や動物の表現、モーションキャプチャを活用した動物のアニメーション・リップシンク。
Computer Graphics Gems JP 2015
山本醍田、鈴木健太郎、小口貴弘、德吉雄介、白鳥貴亮、向井智彦、五十嵐悠紀、岡部誠、森本有紀、上瀧剛、坂東洋介(ボーンデジタル)
コンピュータグラフィクスの最新技術が、実践的なサンプルコード付きでわかりやすくまとめられている。
ACM Transactions on Graphics
コンピュータグラフィクスの最先端技術が発表される学術専門誌。(専門家向け)
コンピュータグラフィクスでは、シミュレーション等のために、数学や物理をふんだんに使います.高校や大学の教養課程では、何のために数学や物理を学ぶのか、わからなくなる瞬間も(多々)あるかもしれませんが、コンピュータグラフィクスについて学んだり、研究を始めたりすると、こんなにも物理や数学が役に立つのか、と驚くことになるでしょう。
でも、いきなり数学や物理の話から入るのは、とっつきにくかったり、難しかったりすることもあるので、まずは最先端のCGでどういうことができているのか、ということを知るために、CGを利用した映画を鑑賞することをお勧めします。映画は見るだけでも楽しいですが、どの部分が実写でどの部分がCGなのか、推理しながら見るのも楽しいものです。
興味がわいてきたら、『CGWORLD』などの雑誌を通じて、制作の裏側や技術紹介を知るとCG分野の広さを知ることができるでしょう。そうした技術を自分でもプログラミングしてみたい、という方は、『Computer Graphics Gems JP 2015』という本を読むと、より詳しく技術紹介がされており、ソースコード付きの例もあるので、より具体的に学ぶことができます。