準備・座標系

Processingの導入および,Processingにおける座標系など基本的な事柄について解説していきます.

Processing

本講義ではProcessingのバージョン2.2.1を使用して進めていきます.

2.2.1はデフォルトでは日本語を扱うことができません.こちらを参照して設定を行ってください.

3Dにする

Processingで3Dを使用する場合は,size関数の引数を変更します.

size(640, 480, P3D);

前2つは画面のサイズです.3番目の引数に「P3D」という文字列が加わっています.これは図形を描画するレンダリングエンジンの指定で,P3Dを指定することにより3Dのレンダリングが可能になります.

描いてみる

3次元の座標軸をline関数で描いてみます.今までと異なり,引数が増えていることに注目してください.前半3つが始点(AX,AY,AZ),後半3つが終点(BX,BY,BZ)です.それぞれX軸:赤,Y軸:緑,Z軸:青で色分けしています.

stroke(255, 0, 0);
line(0, 0, 0, 100, 0, 0);
stroke(0, 255, 0);
line(0, 0, 0, 0, 100, 0);
stroke(0, 0, 255);
line(0, 0, 0, 0, 0, 100);

結果を見てみると特に変化がなく2次元で描画されているように見えます.

firststep.png

Intel系のグラフィックスアダプタを搭載しているPCでは,P3Dを使用したプログラム実行時にエラーがでる可能性が高いです.こちらを参考にドライバのアップデートを行ってください.

カメラ

結果が2Dにしか見えないのは,カメラの配置のためです.デフォルトではカメラ位置は次のように設定されています.

camera(width/2.0, height/2.0, (height/2.0) / tan(PI*30.0 / 180.0), width/2.0, height/2.0, 0, 0, 1, 0);

Processingではデフォルトで左手座標系なので以下のようになります.

world.png

カメラの位置,注視点を変更してみます.

camera(100, -100, 100, 0, 0, 0, 0, 1, 0);

X軸,Y軸,Z軸が表示され,3Dであることが確認できました.

secondstep.png

カメラの位置は以下のようになっています.

changecam.png

課題1

setup関数,draw関数を導入して,カメラが原点を注視しながらY軸回転するアニメーションを作成せよ.

実装例:filekadai1.wmv(名前を付けて保存,もしくは閲覧パスを入力)

課題2

課題1を改良し,マウスを右クリックしている間はカメラの高さ(y位置)を変更できるようにせよ.

実装例:filekadai2.wmv(名前を付けて保存,もしくは閲覧パスを入力)


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS