(17)三维图形几何变换
三维图形的基本变换矩阵
三维图形几何变换是二维图形几何变换的扩展。在三维空间中,用规范化齐次坐标[x y z 1]表示三维点,变换原理是把齐次坐标点(x, y, z, 1)通过变换矩阵变换成新的齐次坐标点(x’ y’, z’, 1),即:
[x y z 1] T3D = [x' y' z' 1]
因此,三维图形的基本变换矩阵用4×4阶矩阵表示,即:
1)左上角的3*3子块实现比例、旋转、对称、错切等基本变换;
2)左下角的1*3子块实现平移变换;
3)右上角的3*1子块实现透视变换;
4)右下角的1*1子块实现全比例变换。
平移变换:
立体图形上的任意一点(x, y, z)沿X轴、Y轴、Z轴方向分别平移k、m和n后,成为新图形上的一点(x’, y’, z’),则有:
x’=x+k y’=y+m z’=z+n
即:
比例变换:
1、相对于坐标原点的比例变换,沿X、Y、Z轴方向的比例系数分别为a、e、j,则有:
当变换矩阵时,立体图形整体放大或缩小1/S倍。
2、相对于任意点(x0, y0, z0)的比例变换,比例系数为a、e、j:
旋转变换
旋转的正方向:右手拇指指向转轴正向,其余四指缠绕方向便是θ角正向。
绕空间任意一条直线的旋转:
设空间一条直线段AA'作为旋转轴,A点坐标是(xA, yA, zA),A'点坐标是(x'A, y'A, z'A),空间一点P(x, y, z)绕AA'轴旋转θ角到P'(x', y', z'),即:
[x' y' z' 1] = [x y z 1]*T
其中,T 为绕任意轴的旋转变换矩阵,它由若干个基本变换矩阵组合而成。
第1步:将点P与旋转轴AA'一起作平移变换,使旋转轴AA'过原点,A与原点重合,变换矩阵为:
第2步:令AA'轴首先绕X轴逆时针旋转α角,使其与XOZ平面共面,然后再绕Y轴顺时针旋转β角,使其与Z轴重合,变换矩阵为:
其中,α和β角可通过旋转轴AA'的两个端点坐标计算得到。
第3步:将点P绕Z轴(即AA’轴)旋转θ角,变换矩阵为:
第4步:作第2步的逆变换,即将AA'轴旋转回到原来的位置,变换矩阵为:
第5步:作第1步的逆变换,即将旋转轴AA'平移回到原来的位置,变换矩阵为:
因此,绕空间任意轴的旋转变换矩阵为:
T = T1*T2*T3*T4*T5
对称变换
1、关于X轴对称:x不变,y、z相反
2、关于Y轴对称:y不变,x、z相反
3、关于Z轴对称:z不变,x、y相反
4、关于坐标原点对称:x、y、z相反
5、关于XOY平面对称:x、y不变,z相反
6、关于XOZ平面对称:x、 z不变,y相反
7、关于YOZ平面对称:y、 z不变,x相反
错切变换
![](/assets/blank.gif)
![](/assets/blank.gif)
(17)三维图形几何变换相关推荐
- 计算机图形学——三维图形几何变换和投影转换(VC)
实验目的 掌握4*4矩阵乘法运算的编程实现: 掌握平移.比例.旋转三种基本三维几何变换矩阵生成: 掌握正交投影图的生成和绘制方法. 实验要求 三维坐标系的原点位于屏幕中心,X轴水平向右,Y轴垂直向上, ...
- 三维图形几何变换与投影变换
一.实验目的 1)掌握4*4矩阵乘法运算的编程实现 2)掌握平移,比例,旋转三种基本三维几何变换矩阵生成 3)掌握正交投影图的生成和绘制方法 二.实验要求 1)三维坐标系的原点位于屏幕中心,X轴水平向 ...
- hdu 3320 计算几何(三维图形几何变换)
openGL Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- 三维图形几何变换算法实验_基于深度学习的三维重建算法综述
点击上方"计算机视觉life",选择"星标" 快速获得最新干货 00 前言 目前,三维重建技术已在游戏.电影.测绘.定位.导航.自动驾驶.VR/AR.工业制造以 ...
- 三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建
点击上方"计算机视觉life",选择"星标" 快速获得最新干货 作者: Moonsmile https://zhuanlan.zhihu.com/p/79628 ...
- 三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维物体的几何变换是在二维方法基础上增加了对 z 坐标的考虑得到的. 有关二维图形几何 ...
- 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等 通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维 ...
- 计算机图形学13:三维图形的几何变换
作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...
- 计算机图形学14:三维图形的投影变换
作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...
最新文章
- excel 按数据拆分 xlam_利用EXCEL提升效率之五分钟缩短至五秒批量合并EXCEL批量转换PDF批量上传报关单随附单据___EXCELVBA...
- 一旦一个业务可以由一个人来全部完成而不涉及分工,就会产生单干的情况
- vscode中内置集成终端显示为git(bash.exe)
- mysql建表以及列属性
- 2.8 使用开源的实现方案-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- 微信浏览器禁止app下载链接的两种处理方法
- IPython快捷键及命令
- JavaScript表单序列化的方法详解
- git拉取请求_向需要的开源项目提供拉取请求的礼物
- 阿里云k8s私有仓库registry操作管理
- 遂冀机器人_409支队伍1006名选手角逐第12届河北省青少年机器人竞赛
- python发微信工资条_帮公司财务妹子写了个“群发工资条”的Python脚本!
- Python代码之三级登录
- 岳阳机器人餐厅在哪_普渡科技推出送餐与回盘两款全新餐饮机器人,打造“一来一回”新闭环...
- [转载] Python 递归函数
- FastReport studio 动态加载数据集 (zhuan)
- 安徽大学计算机科学与技术学院刘峰,刘峰
- JDK5新版RMI编程指南
- 多波束测深系统工作原理及组成,多波束在无人船上的应用
- Latex中将图例(图1:)改为(图1-1)