最近、BREW でアフィン変換を掛けながら転送する処理を書きました。 2,3回ぐらいに分けてそれを書いていきたいと思います。 固定小数点数 基本的に計算は全部固定小数で行っています。固定小数点数クラス fixed は以前書きました。 固定小数点数クラス - melpon日記 - HaskellもC++もまともに扱えないへたれのページ また fixed_point というクラスが出てきますが、これはメンバに fixed x, y という 2 つの値を持っている構造体です。 アフィン変換用の行列を考える アフィン変換は回転と拡大縮小とせん断と平行移動を組み合わせたりできるわけですが、その変換を表現するための行列を用意します。 2次元では平行移動を含めると 3x3 の行列が必要になるのですが 3 行目はそれぞれ 0,0,1 で固定でいいので、2x3 の 6 つの値で表現できます。 別に 3x2
