質問: mM*cam.getModelViewMatrix()*cam.getProjectionMatrix(); ``` これが長い間疑問だったのですが、どなたか解説していただけないでしょうか?
回答: ただの決まり事と考えればいいと思います。 ご存知かと思いますが行列の掛け算(内積や外積など)は交換法則が成り立たないので左右どちらから掛け算をするかによって行列の形をあらかじめ決めることになります。 簡単な例で言えばベクトルx, yを左へ回転させる行列を考えるとき Matrix Vector とするならMatrixは以下のようにするでしょうし ``` cosΘ -sinΘ sinΘ cosΘ ``` Vector Matrix としたいならMatrixを以下のように決めるだけのことです ``` cosΘ sinΘ -sinΘ cosΘ ``` 似たような話だと思いますが空間座標を右手系にするか左手系にするかなどでもマトリックスは変化します。自分の勘違いかも知れませんがOpenGLは左手系(?)かなと思いました。JavaFXなどでは右手系です。自分で変換行列を計算する場合などはこうしたルールを意識する必要がありますよね。