はじめまして,Takaといいます. 最近CGのプログラミングを始めて,こちらのHPも大変参考にさせて頂いております. そこで,少し質問なのですが,
3次元変換で紹介される「逆行列」「転置行列」がありますが, 実際どのような処理を行う為にあるのでしょうか? CGの参考書などを参照しても,数学的な解釈のみであり, 実際に「どのような三次元処理を行う際に必要である」や, 「このような使い方をする」などの紹介が見当たりません.
どうか上記についてご教授お願いできないでしょうか? 上記の部分を解説しているサイトなどありましたら, 是非ご教授お願いしたいです. よろしくお願い致します.
>実際どのような処理を行う為にあるのでしょうか? o 逆行列 下記2点を満たす時に使います. (1)異なる座標系のベクトルを 同一座標系に統一する必要ががある (2)変換より逆変換 の方が 計算が単純(コード量が減る,高速化できる)になる
例えば マウスカーソルで どついた物体を回転させる時などです.大雑把には (1) 視点座標系における マウスカーソル軌跡のベクトル 取得 (2) 視点→大域→局所 と次々に逆変換(実際は合成行列にして単純化) (3) 局所座標系での回転データを作成し,回転対象物体が持つ回転データ (行列,四元数,オイラー角等)に反映させる といった感じです.
o 転置行列 条件付きで,逆行列とほぼ同じ仕事(=回転のみの逆変換)をしてくれます.条件とは, (1) 変換対象のベクトルは非位置ベクトル(例えば法線)である事 (2) 行列を構成する各軸ベクトルは,正規直交基である事 です.
転置行列の算出は,逆行列よりも高速という利点があります.両方ともいっぱい応用箇所があります.
>上記の部分を解説しているサイトなどありましたら
Takaさんはじめまして.しんさんご丁寧な回答ありがとうございます. 僕もOpenGLをやろうとしていて,回転とか勉強しようとしてたんですが, わけ分かんなくなって途中で投げ出してました.
しんさんが分かりやすい答えをくださったので, 僕も久々に3DCGのプログラミングをやってみたくなりました. ちょっと勉強してみようかなあ.
>しんさんが分かりやすい答えをくださったので, そう言って頂けるととても嬉しいです. お世話になっていたので,何とかお返ししたいと常々思ってました.
という事で,日記の広告を10回ほどクリック,クリック. 精一杯 生き抜いて下さい.
いやー助かりました.本当に.
> という事で,日記の広告を10回ほどクリック,クリック.
同一IPだと一日1カウントなんです.書いとけばよかったです. でもありがとうございます. 残り9クリックは僕の心に届いてますから.