memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Fisica

後期から始まった1回生の少人数ゼミでProcessingを用いたアニメーションプログラミングという授業をやっています。今年はいつかは遊んでみたいと思っていた「Box2D」ライブラリを取り上げています。Box2DライブラリのオリジナルはC++ですがProcessingでも動作するように様々な方がライブラリを開発して公開してくれています。ちなみにBox2DがわかるとiPhoneアプリ開発のミドルウェアであるCocos2dも使えるようになるはずです。

この授業ではFisicaというライブラリを使っています。これまで初回の導入講義を除き、授業を4回実施してきました。これまでの流れは以下の通りです。

第1回 導入講義(ゼミ希望選択)
第2回 Processingの環境構築、基本的な図形の描画
第3回 イベント処理と衝突処理(ブロック崩しもどき)
第4回 Fisicaの環境構築、ワールド作成、基本物体の配置
第5回 物体の固定

Fisicaの機能としては、各種ジョイント、接触処理、物体位置の取得、外力、オブジェクトの操作などがあります。今後、小さいプログラムを作りながら勉強を進めていく予定です。

ちなみに最終的なゴールとしては、自分のイメージした動きを演出する作品を作ること、です。特にその作品が何かの役に立つとか、アート的に何か意味あることを表現しているといったことは求めません。対象が1回生でJavaもやっとプリミティブ型の配列を学習していることもあり、多くは求めないことにしています。あくまで楽しんで(多少は苦しんで)自分のイメージにあうものを手探りで作り上げて欲しいな、と考えています。

実はBox2dの授業は初めてなので勉強しながら進めています。その過程でBox2dの可能性を感じるとともに難しさ(面倒くささ)も感じます。とりあえず何か一つ作品を作りあげて壁にぶつかりながら学生さんとともに発見していければと考えています。

とりあえず一通りFisicaのクラスを試してみました。何となくわかりましたが、これをどう組み合わせていくか。。。かなり自由度が高いように思います。その分、楽しみでもあります。

Link: 回転運動とリンク機構