Normal transformantion (9) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

結論

私は normal の変換は逆行列の転置であるというのは厳密には正しくないと思う.normal vector は column vector ではないので,式 5 のように左逆行列がかかっているだけである.計算機上の実装では normal vector をcolumn vector として扱うので,それを転置しているにすぎない.本来は左逆行列で書くべきであろう.だから文献 [2,3,6]らは間違いとは言えないが,しかし,私としてはこれらを区別する文献[4,5]の説明が好みである.

文献[2,3,6]がわかりにくいというのではない.特になぜ normal の変換が上手くいかないかは[2,3,6]の説明の方が直感的で好きである.しかし,normal と通常のベクトルの本質的な違いというのは covariant かcontravariant か,あるいは column vector か row vector かということに注意をしても良いと思う.ところで,変化しないベクトルと言っても座標の表現は変化することは注意すること.contravariant vector と covariant vector は内積を考えた説明の方がいいかもしれない.これはもう少し私も理解が必要だと思う.

座標変換によって変化しないものは何かということはなかなか興味あるテーマである.例えば変換してもユークリッド距離は変化しないことから内積などの話がでてくる.物理量の変化しないもの,例えば Maxwell 方程式における磁場はどう変換しても湧き出しがない(磁場にはモノポールがない)ことからアインシュタインは特殊相対性理論を確信したという話などがある.このあたりはもっと調べていつか書けたら嬉しいと思う.


[1] Yoshihiko Futamura, http://en.wikipedia.org/wiki/Partial_evaluation

[2] Matt Pharr, Greg Humphreys, ``Physically Based Rendering, Second Edition: From Theory To Implementation'', Morgan Kaufmann, 2010

[3] Philip Schneider, David H. Eberly, ``Geometric Tools for Computer Graphics'', Morgan Kaufmann, 2002

[4] Gilbert Strang, ``Introduction to Linear Algebra, 4th Edition'', Wellesley-Cambridge Press, 2009

[5] Koukichi Sugihara, ``Guraphics no suuri (Mathematical theory of graphics)'', Kyouritu shuppan, 1995 (杉原厚吉, グラフィックスの数理, 共立出版, 1995)

[6] Tomas Akenine-Moller, Eric Haines, Naty Hoffman, ``Real-Time Rendering (2nd Edition)'',
A K Peters/CRC Press, 2002