学习3D《2、三维坐标系下的平移旋转缩放》
来源:互联网 发布:入门pcb设计软件 编辑:程序博客网 时间:2024/05/02 21:35
有了前面笛卡尔冲的锋陷阵,我们的万丈高楼也将平地起。
话说二维坐标下的平移、旋转、缩放已铭记于心,那么我们就把它推而广之。
首先还是从三维的平移说起:
平移:
假设M是原点为(0,0,0)的坐标系,N是原点为(2,2,2)的坐标系,点P(px,py,pz)是M中的一点,那么点P在N中的坐标P‘是多少呢?
p'x = px - 2;p'y = py - 2;p'z = pz - 2;换成矩阵看看:
p'x = |px| + |-2|p'y = |py| + |-2|p'z = |pz| + |-2|
换成齐次坐标就为:
|p'x| | 1 0 0 tx| |px||p'y| = | 0 1 0 ty| * |py||p'z| | 0 0 1 tz| |pz|| 1 | | 0 0 0 1| |1 |
对上面来讲:tx=-2,ty=-2;tz=-2;
旋转:
假设M是原点为(0,0,0)的坐标系,点p(px,py,pz)绕z轴逆时针旋转a度到点p',那么点p'是多少呢?
p'x = px*cosa - py*sina
p'y = px*sina + py*cosa
p'z = z
换成齐次坐标就为:
|x'| |cosa -sina 0 0| |x||y'| = |sina cosa 0 0| * |y||z'| |0 0 1 0| |z||1 | |0 0 0 1| |1|
那么绕x轴呢?
p'y = py*cosa - pz*sina
p'z = py*sina + pz*cosa
p'x = x
换成齐次坐标就为:
|x'| |1 0 0 0| |x||y'| = |0 cosa -sina 0| * |y||z'| |0 sina cosa 0| |z||1 | |0 0 0 1| |1|
那么绕y轴呢?
p'z = pz*cosa - px*sina
p'zx =pz*sina + px*cosa
p'y = y
换成齐次坐标就为:
|x'| | cosa 0 sina 0| |x||y'| = | 0 1 0 0| * |y||z'| |-sina 0 cosa 0| |z||1 | | 0 0 0 1| |1|
缩放:
假设M是原点为(0,0,0)的坐标系,点P(px,py,pz)沿x轴缩放sx,沿y轴缩放sy,沿z轴缩放sz后的坐标p'是多少呢?
p'x = px * sx
p'y = py * sy
p'z = pz * sz
换成齐次坐标就为:
|x'| |sx 0 0 0| |x||y'| = |0 sy 0 0| * |y||z'| |0 0 sz 0| |z||1 | |0 0 0 1| |1|
-----------------------------------------------------------------------------------------------------
以上内容要努力哦^_^
- 学习3D《2、三维坐标系下的平移旋转缩放》
- 学习3D《1、二维坐标系下的平移旋转缩放》
- CSS3 2D平移,旋转,缩放,倾斜
- 【Android开发】View的平移、缩放、旋转以及位置、坐标系
- Android开发 View的平移、缩放、旋转以及位置、坐标系
- 2D转换模块:旋转、平移、缩放、扩展
- 三维坐标系的旋转矩阵
- 三维坐标系的旋转矩阵
- 三维坐标系的旋转矩阵
- 三维坐标系的旋转矩阵
- 三维坐标系的旋转矩阵
- Quartz2D-3(旋转、平移、缩放)
- 简单的学习Matrix的缩放,平移,旋转,倾斜
- Android学习笔记11:图像的平移、旋转及缩放
- Android学习笔记11:图像的平移、旋转及缩放
- 直角坐标系的平移和旋转
- 直角坐标系的平移和旋转
- 直角坐标系的平移和旋转
- Pioneer公司:展示新一代AR导航技术
- 黑马程序员:感悟“银行业务调度系统”
- Java Dialog DataExchange
- session 与 cookie
- UITextField
- 学习3D《2、三维坐标系下的平移旋转缩放》
- 正则表达式换行
- 具有自主知识产权的banner效果
- axis2 webServerce 调用的超时设置
- 使用GDI绘制直线
- Oracle创建Job时遇到ORA-04063 SYS.DBMS_INTERNAL_LOGSTDBY的解决办法
- MyEclipse 8.6 囧囧囧
- yum安装
- 取得电话当前的状态