旋转矩阵:x轴:(1, 0, 0;
0,cos,sin;
0,-sin,cos)
y轴:(cos, 0,-sin;
sin,cos, 0;
0, 0, 1)
z轴:(cos,sin,0;
-sin,cos,0;
0, 0,1)
推导:左手坐标系绕z轴逆时针转:y=r*sin(t),x=r*cos(t),那么x'=r*cos(t-a)=r*cos(t)cos(a)+r*sin(t)sin(a)=xcos(a)+ysin(a),y'=r*sin(t-a)=r*sin(t)cos(a)-r*sin(a)cos(t)=-xsin(a)+ycos(a),z'=z
摄像机参数:摄像机坐标,摄像机朝向,上方向,到近平面距离,到远平面距离,视野角度,窗口长宽比
视矩阵:世界坐标系下某点的坐标为(x,y,z),则有(0,0,0)+x(1,0,0)+y(0,1,0)+z(0,0,1)=(x,y,z)
世界坐标系下,摄像机坐标为O=(Ox,Oy,Oz),朝向是w,上方向是v,u=vXw,设摄像机坐标系下该点坐标为(a,b,c),则有(Ox,Oy,Oz)+a*u+b*v+c*w=(x,y,z),
=> O+[u,v,w]*(a,b,c)=(x,y,z) => (a,b,c)=([u,v,w]^-1)*((x,y,z)-O),[u,v,w]为正交矩阵,故其逆为自身的转置,
再把(x,y,z)-O转为(x,y,z)乘以平移矩阵T,则最终结果为[u,v,w].transpose*T*(x,y,z)