Normal transformation (1) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

Why is the normal transformation a inverse transpose?


Abstract

Physically Based Rendering[2] の p.87 (2.8.3) や Realtime rendering[6] の p.35 (3.1.7) には normal の transformationが $(M^{-1})^{T}$ であると記されている.これらの本には説明も詳しいのだが,私はいつも忘れてしまう.今回は normal の transformationがなぜこんな形をしているのか,私なりの理解を記そう.


Introduction

あるベクトルに M という matrix で表現された座標変換(transformation)が施されるとしよう.たとえば回転とか拡大縮小とか移動とかである.位置を示すベクトルに変換を施すにはこの matrix M を掛ければよい.しかし,normal の変換を同じようにすると上手くいかない時がある.本には normal の変換は$(M^{-1})^{T}$であると書かれている[2,6].

この記事では次の3つについて述べよう.

- 問題は何か: normal の transformation とは何か
- なぜ通常の transformation が normal では上手くいかないのか.
- なぜ逆行列の転置なのか

である.