Affine Transform

Real-Time Renderingの 4章 のTransform に突入。
ついに念願のアフィン変換が出てきた。以前から id:nik9 先生が何度も IRC で「アフィン変換」とつぶやくのを見てきた。その当時は全く意味が分からなかったが、こういう事だったのか。


せっかく自分が Mosh という数学の計算が得意(?)なインタプリタを持っているので、簡単なアフィン変換の行列計算を試していこうと思う。今日は早速、一番簡単な Translation を実装した。
Scheme 上で行列をどのように表現し、抽象化するのかあたりも追求してみよう。現時点では point, vector は Record で、Matrix は Vector で表現している。


そういえば Mosh でも早く絵を出せるようにしたいな。Postscript でならもう絵がでているが味気ない。いっそのこと Scheme のコードを JavaScript や Action Script に変換するコンパイラを書いてブラウザ上でぐりぐり動かすのはどうか。と思ったが、コード変換するコンパイラを書くのが楽しいだけだな。