CGにおける行列について

CGにおける行列について

Taka さんの書込 (2004/05/16(Sun) 15:37)

はじめまして,Takaといいます. 最近CGのプログラミングを始めて,こちらのHPも大変参考にさせて頂いております. そこで,少し質問なのですが,

3次元変換で紹介される「逆行列」「転置行列」がありますが, 実際どのような処理を行う為にあるのでしょうか? CGの参考書などを参照しても,数学的な解釈のみであり, 実際に「どのような三次元処理を行う際に必要である」や, 「このような使い方をする」などの紹介が見当たりません.

どうか上記についてご教授お願いできないでしょうか? 上記の部分を解説しているサイトなどありましたら, 是非ご教授お願いしたいです. よろしくお願い致します.

Re: CGにおける行列について

しん さんのレス (2004/05/16(Sun) 21:01)

>実際どのような処理を行う為にあるのでしょうか? o 逆行列 下記2点を満たす時に使います. (1)異なる座標系のベクトルを 同一座標系に統一する必要ががある (2)変換より逆変換 の方が 計算が単純(コード量が減る,高速化できる)になる

例えば マウスカーソルで どついた物体を回転させる時などです.大雑把には (1) 視点座標系における マウスカーソル軌跡のベクトル 取得 (2) 視点→大域→局所 と次々に逆変換(実際は合成行列にして単純化) (3) 局所座標系での回転データを作成し,回転対象物体が持つ回転データ (行列,四元数,オイラー角等)に反映させる といった感じです.

o 転置行列 条件付きで,逆行列とほぼ同じ仕事(=回転のみの逆変換)をしてくれます.条件とは, (1) 変換対象のベクトルは非位置ベクトル(例えば法線)である事 (2) 行列を構成する各軸ベクトルは,正規直交基である事 です.

転置行列の算出は,逆行列よりも高速という利点があります.両方ともいっぱい応用箇所があります.

>上記の部分を解説しているサイトなどありましたら

Re: CGにおける行列について

崎間 さんのレス (2004/05/17(Mon) 17:15)

Takaさんはじめまして.しんさんご丁寧な回答ありがとうございます. 僕もOpenGLをやろうとしていて,回転とか勉強しようとしてたんですが, わけ分かんなくなって途中で投げ出してました.

しんさんが分かりやすい答えをくださったので, 僕も久々に3DCGのプログラミングをやってみたくなりました. ちょっと勉強してみようかなあ.

Re: CGにおける行列について

しん さんのレス (2004/05/19(Wed) 11:02)

>しんさんが分かりやすい答えをくださったので, そう言って頂けるととても嬉しいです. お世話になっていたので,何とかお返ししたいと常々思ってました.

という事で,日記の広告を10回ほどクリック,クリック. 精一杯 生き抜いて下さい.

Re: CGにおける行列について

崎間 さんのレス (2004/05/19(Wed) 13:45)

いやー助かりました.本当に.

> という事で,日記の広告を10回ほどクリック,クリック.

同一IPだと一日1カウントなんです.書いとけばよかったです. でもありがとうございます. 残り9クリックは僕の心に届いてますから.