プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース 第9回 ゲームで使える行列演算 今日の資料構成 • いつにもましてバラバラです – 行列の演算ルールについてはVector.pdf – 「変換」の扱いについてはCG基礎の資料 – プログラミングでの扱いはお手製PDF • まとめろよ!って話ですよね – ごめんね、先生へっぽこでごめんね 今日の知識でできること • 空間全体中における位置関係と、 各モデルの位置や向きを基準にした 計算が自由に行き来できるようになる – グローバル座標とローカル座標 • 親子関係の真髄が言葉と感覚と数式で 理解できる • 行列とベクトルのマリアージュに嫉妬 東西南北と前後左右 • 絶対的な方角はコロコロ変わらない – 変わったら困るよね • だが、自分の向いている向きに対して 「前後左右」の方向を考える事が多い – 道案内の全てが東西南北で書かれていたら、 コンパスとかGPS付きケータイなしでは 大都会を生き延びることはできないぞ! • どっちも大事、3DCGでも大事 グローバル座標系と ローカル座標系 • グローバル座標の一例 – 世界の中心を(0,0,0)とし、東西方向をX軸、 南北方向をZ軸、天地(高さ)方向をY軸とする • ローカル座標系の一例 – 空間中のモデルが居る位置を(0,0,0)とし、 向いている方向に対しての左右方向をX軸、 前後方向をZ軸、上下方向をY軸とする • これらを使い分ける必要がある 例えばこんな時どうする? • あるモデルのローカル座標系の座標Pを、 グローバル座標系に持って行くとどんな座標 値になるだろうか? – 例:あるキャラモデルが剣を持っていて、 その剣がグローバル座標系のどこに位置すること になるのかを知りたい • グローバル座標系のある座標Pは、あるモデ ルのローカル座標系ではどんな座標値になる だろうか? – 例:マップ上のあるシンボルが、キャラから見て どのような方向、距離に見えることになるのかを 知りたい 座標系から座標系への変換 • それを実現するのが「行列」 • 行列にベクトルを掛けると、 座標変換したベクトルが得られる • 行列に行列を掛けると、 それぞれの行列による座標変換を 合成した行列が得られる 行列演算のルール • Vector.pdfを参照 – これだけではどう役立つか分からないので、 続きは他の資料で • 押さえて欲しいポイント – 主に使うのは”行列×行列”と”行列×ベクトル” – 単位行列の存在 – 逆行列の存在 変換行列の成分 • 拡大縮小行列 – ベクトルのx,y,zをそれぞれ実数倍したものが 得られる • 回転行列 – 回転角θに基づいてベクトルx,y,zを回転した ベクトルが得られる • 平行移動行列 – ベクトルx,y,zにそれぞれの平行移動成分を 足し合わせたベクトルが得られる 後は別添えの資料を参照 • なんでもパワポは難しい • なんでもPDFは大変… (でも個人的には好き) 今日の課題 • 資料「モデル座標系と行列による変換 」 の最後に載っている課題
© Copyright 2024 ExpyDoc