Normal ベクトルは面の,tangent ベクトルの cross product の方向を持つ.図2に示すように x 方向を二倍にするような変換 M に対して,tangent ベクトルは正しく変換される.しかし,その cross productである normal の方向は M の変換に従うとは限らない. Figure 2. The normal vector n is a cross product of tangent vectors u and v. Tangent vectors are linear to M, but not for the normal vector.
つまり,tangent ベクトル u, v は M によって変換可能だが,その cross product はそうではない.
これが tangent vector と normal vector を異なるベクトルとしている理由と言えば納得してもらえるだろうか.cross product の x 成分を考えてみると,u_y v_z - u_z v_y のような成分があり,この掛け算が線形性を壊しているというのが私の第一の説明である.
normal のベクトルと普通のベクトルは実は異なるものである.通常のベクトルはそれ自身で方向などを示していた.しかし,normal ベクトルはどうやって定義されていただろうか.normal ベクトルはそれ自身で定義されていたのではなく,何かの面があってそれに対して定義されていた.特に normal は面と直交する単位ベクトル,つまり面に対して内積が0になるようなものとして定義されていた.このようなベクトルは座標変換に対して通常のベクトルとは異なる種類のベクトルと考えた方が良い.先の図 1 で見たように変換してみると意味が異なってしまうからだ.もしこれが普通のベクトルであれば x 方向の二倍のスケーリングの意味は正しい.しかし,normal は x 方向だけスケールするものではない.normal ベクトルをスケーリングすると,この例のようにnormal という意味がなくなってしまう.