上のトピックで質問していましたが、質問の仕方が悪かったので、
質問を変えてタイトルを変え新しく投稿させて頂きます。連投すみません。
今、XZ軸に長方形(XZ平面上の座標は(0,0),(2,0),(0,1),(1,2))があり、それをカメラに向けるための変換行列を作っています。
この変換において、
X軸の単位ベクトル(1,0,0)の変換後の座標を、(xaxis.x,xaxis.y,xaxis.z)とし、
Y軸の単位ベクトル(0,1,0)の変換後の座標を、(yaxis.x,yaxis.y,yaxis.z)とし、
Z軸の単位ベクトル(0,0,1)の変換後の座標を、(zaxis.x,zaxis.y,zaxis.z)とすると、
先の長方形にかけるべき行列は、
float m2[]={
xaxis.x,yaxis.x,zaxis.x,0,
xaxis.y,yaxis.y,zaxis.y,0,
xaxis.z,yaxis.z,zaxis.z,0,
0,0,0,1
};
yaxisをカメラが向いている方向の逆のベクトル、xaxisをカメラから見て右手方向のベクトル、zaxisをカメラから見て上方向のベクトル(それぞれ正規化済み)とし、実際にこの方針でプログラムを組んでみたものの、長方形の向きが予想とは違う結果になりました。
(長方形がカメラに対して固定になる、と予想していた。)
何か、私は勘違いしているのでしょうか・・・??あるいは、他に原因があるのでしょうか?