
で表現されるとする.一つコメントをしておくと,OpenGL などではtransformation行列を用いて物体を移動させたり物体をゆがめたりする操作を行うことができるので,物体が動いたように思うかもしれない.そのような解釈も間違いではないと思うが,しかし,ここでは物体そのものの座標よりも,座標間の変換というものとしてとらえることにしたい.なぜなら,このような視点では,物体がなくても変換ということを考えることができるからである.操作に着目した方法は,操作そのもの,ここでは行列を考えることに集中できると思う.図 3には点 P が存在しているが,この点は動いていない.しかし,その座標は座標系によって異なる.これは街の地図を書く時に,どこを原点にして考えるかというのは任意であることと同じである.例えば,ベルリンのZoo 駅を原点にした地図を作ることもできるし,ベルリンのAlexanderplatz 駅を原点にした地図を作ることもできる.ベルリンのZoo 駅を原点にした地図と,Alexanderplatz を原点にした地図では,Zoo 駅の座標表現は異なったものになる.しかし,座標が違うのは,Zoo 駅が実際に動いたからではない.座標というのは,人が決めた任意性がある.だからどの座標を使うというのは状況に寄る.座標系間の変換さえ決めれば,好きな座標を導入することができる.これが座標系の変換を考える動機である.
座標系間の変換は,次の式が成り立つ.

A が正則であるとすると,逆行列が存在し,

ところで,

である.これは図\ref{fig:transform} を見てもらった方が早いだろう.原点は変換で平行移動しているだけなので,その逆変換は逆方向への平行移動である.したがって,

と書くこともできる.
一方,normal n は点 P を含む平面に定義されるとすると,座標系Σにおいては次のように書くことができる.

この normal が座標系Σ'に変換されたとすると,

と示されるだろう.
式 1を式 2に代入する,

式 3と式 4を比較すると,

式 5 が normal の変換を示している.このような変換を受けるベクトルを covariant ベクトルと言い,通常のベクトルは contravariantベクトルと言う.co (togather) variant (changing) vector はこのように座標変換と共に変化する.しかし一般のベクトルはその表記は変化するが,ベクトルとしては変化しない.それは点 P がその座標は座標系によって変化するが,実際には動いていないことと同じである.そのようなベクトルを contra (against) variant (change) vector と言う.
画像のオリジナルのサイズを使うと指定したのですが,縮小されてしまいました.アメプロはどうも数学の話を書くのは向いていないなあ...