3D数学 ---- 矩阵和线性变换
来源:互联网 发布:淘宝优质标签卖家 编辑:程序博客网 时间:2024/06/06 07:23
參考http://wenku.baidu.com/view/58b1f64cf7ec4afe04a1df73.html
Page19
pz*(sin(conj(theta))*conj(ay) + conj(ax)*conj(az) - cos(conj(theta))*conj(ax)*conj(az)) - py*(sin(conj(theta))*conj(az) - conj(ax)*conj(ay) + cos(conj(theta))*conj(ax)*conj(ay)) - px*(cos(conj(theta))*(conj(ax)^2 - 1) - conj(ax)^2)
px*(sin(conj(theta))*conj(az) + conj(ax)*conj(ay) - cos(conj(theta))*conj(ax)*conj(ay)) - pz*(sin(conj(theta))*conj(ax) - conj(ay)*conj(az) + cos(conj(theta))*conj(ay)*conj(az)) - py*(cos(conj(theta))*(conj(ay)^2 - 1) - conj(ay)^2)
py*(sin(conj(theta))*conj(ax) + conj(ay)*conj(az) - cos(conj(theta))*conj(ay)*conj(az)) - px*(sin(conj(theta))*conj(ay) - conj(ax)*conj(az) + cos(conj(theta))*conj(ax)*conj(az)) - pz*(cos(conj(theta))*(conj(az)^2 - 1) - conj(az)^2)
px*(sin(conj(theta))*conj(az) + conj(ax)*conj(ay) - cos(conj(theta))*conj(ax)*conj(ay)) - pz*(sin(conj(theta))*conj(ax) - conj(ay)*conj(az) + cos(conj(theta))*conj(ay)*conj(az)) - py*(cos(conj(theta))*(conj(ay)^2 - 1) - conj(ay)^2)
py*(sin(conj(theta))*conj(ax) + conj(ay)*conj(az) - cos(conj(theta))*conj(ay)*conj(az)) - px*(sin(conj(theta))*conj(ay) - conj(ax)*conj(az) + cos(conj(theta))*conj(ax)*conj(az)) - pz*(cos(conj(theta))*(conj(az)^2 - 1) - conj(az)^2)
theta*=Q_PI/180.0;
sin_theta=sin(theta);
cos_theta=cos(theta);
p1x=pz*(sin_theta*ay+ax*az-cos_theta*ax*az)-py*(sin_theta*az-ax*ay+cos_theta*ax*ay)-px*(cos_theta*(ax*ax-1)-ax*ax);
p1y=px*(sin_theta*az+ax*ay-cos_theta*ax*ay)-pz*(sin_theta*ax-ay*az+cos_theta*ay*az)-py*(cos_theta*(ay*ay-1)-ay*ay);
p1z=py*(sin_theta*ax+ay*az-cos_theta*ay*az)-px*(sin_theta*ay-ax*az+cos_theta*ax*az)-pz*(cos_theta*(az*az-1)-az*az);
sin_theta=sin(theta);
cos_theta=cos(theta);
p1x=pz*(sin_theta*ay+ax*az-cos_theta*ax*az)-py*(sin_theta*az-ax*ay+cos_theta*ax*ay)-px*(cos_theta*(ax*ax-1)-ax*ax);
p1y=px*(sin_theta*az+ax*ay-cos_theta*ax*ay)-pz*(sin_theta*ax-ay*az+cos_theta*ay*az)-py*(cos_theta*(ay*ay-1)-ay*ay);
p1z=py*(sin_theta*ax+ay*az-cos_theta*ay*az)-px*(sin_theta*ay-ax*az+cos_theta*ax*az)-pz*(cos_theta*(az*az-1)-az*az);
theta*=Q_PI/180.0;
sin_theta=sin(theta);
cos_theta=cos(theta);
axx=ax*ax;
ayy=ay*ay;
azz=az*az;
axy=ax*ay;
axz=ax*az;
ayz=ay*az;
p1x=pz*(sin_theta*ay+axz-cos_theta*axz)-py*(sin_theta*az-axy+cos_theta*axy)-px*(cos_theta*(axx-1)-axx);
p1y=px*(sin_theta*az+axy-cos_theta*axy)-pz*(sin_theta*ax-ayz+cos_theta*ayz)-py*(cos_theta*(ayy-1)-ayy);
p1z=py*(sin_theta*ax+ayz-cos_theta*ayz)-px*(sin_theta*ay-axz+cos_theta*axz)-pz*(cos_theta*(azz-1)-azz);
sin_theta=sin(theta);
cos_theta=cos(theta);
axx=ax*ax;
ayy=ay*ay;
azz=az*az;
axy=ax*ay;
axz=ax*az;
ayz=ay*az;
p1x=pz*(sin_theta*ay+axz-cos_theta*axz)-py*(sin_theta*az-axy+cos_theta*axy)-px*(cos_theta*(axx-1)-axx);
p1y=px*(sin_theta*az+axy-cos_theta*axy)-pz*(sin_theta*ax-ayz+cos_theta*ayz)-py*(cos_theta*(ayy-1)-ayy);
p1z=py*(sin_theta*ax+ayz-cos_theta*ayz)-px*(sin_theta*ay-axz+cos_theta*axz)-pz*(cos_theta*(azz-1)-azz);
0 0
- 3D数学 ---- 矩阵和线性变换
- 3D数学 ---- 矩阵和线性变换
- 3D数学 ---- 矩阵和线性变换
- 3D数学 ---- 矩阵和线性变换
- 3D数学 ---- 矩阵和线性变换
- 3D数学 ---- 矩阵和线性变换(3)
- 3D数学 ---- 矩阵和线性变换(4)
- 3D数学 ---- 矩阵和线性变换(1)
- 3D数学 ---- 矩阵和线性变换(2)
- 3D数学 ---- 矩阵和线性变换 (转载)
- 3D数学 矩阵和线性变换之旋转
- 3D数学 矩阵和线性变换之缩放
- 3D数学 矩阵和线性变换之正交投影
- 3D数学 矩阵和线性变换之镜像
- 3D数学 矩阵和线性变换之切变
- 【游戏开发3D数学笔记】4.矩阵和线性变换
- 3D数学基础--矩阵线性变换
- 六、3D数学矩阵线性变换
- 学习算法之路(转)
- 郁郁乎文哉
- Effectiive java 读书笔记(二)
- JavaScript如何实现监听键盘
- 打印99乘法表
- 3D数学 ---- 矩阵和线性变换
- 青年歌手大奖赛_评委会打分
- UWSC自动打开画图程序批量转换图片格式
- 进程通信方式之 信号量与PV操作
- ACM基本算法分类、推荐学习资料和配套pku习题
- Python标准库:内置函数divmod(a, b)
- ios文件存储地址
- 黑马程序员——多线程1:概述
- 最短路径算法