三维图形的基本变换矩阵
三维图形几何变换是二维图形几何变换的扩展。在三维空间中,用规范化齐次坐标[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相反

错切变换

由错切变换结果看出,一个坐标的变化会受另外两个坐标的影响。 

(17)三维图形几何变换相关推荐

  1. 计算机图形学——三维图形几何变换和投影转换(VC)

    实验目的 掌握4*4矩阵乘法运算的编程实现: 掌握平移.比例.旋转三种基本三维几何变换矩阵生成: 掌握正交投影图的生成和绘制方法. 实验要求 三维坐标系的原点位于屏幕中心,X轴水平向右,Y轴垂直向上, ...

  2. 三维图形几何变换与投影变换

    一.实验目的 1)掌握4*4矩阵乘法运算的编程实现 2)掌握平移,比例,旋转三种基本三维几何变换矩阵生成 3)掌握正交投影图的生成和绘制方法 二.实验要求 1)三维坐标系的原点位于屏幕中心,X轴水平向 ...

  3. hdu 3320 计算几何(三维图形几何变换)

    openGL Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  4. 三维图形几何变换算法实验_基于深度学习的三维重建算法综述

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 00 前言 目前,三维重建技术已在游戏.电影.测绘.定位.导航.自动驾驶.VR/AR.工业制造以 ...

  5. 三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 作者: Moonsmile https://zhuanlan.zhihu.com/p/79628 ...

  6. 三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)

    通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维物体的几何变换是在二维方法基础上增加了对 z 坐标的考虑得到的. 有关二维图形几何 ...

  7. 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)

    接上文 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等 通过三维图形变换,可由简单图形得到复杂图形,三维图形变化则分为三维几何变换和投影变换. 6.1 三维图形几何变换 三维 ...

  8. 计算机图形学13:三维图形的几何变换

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

  9. 计算机图形学14:三维图形的投影变换

    作者:非妃是公主 专栏:<计算机图形学> 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成.--曾国藩 文章目录 专栏推 ...

最新文章

  1. js 对动态添加的table 排序
  2. 人像拍摄时眼部合焦的技巧
  3. 41. First Missing Positive
  4. OpenCV图像处理——iOS端人脸检测
  5. 浅谈NLP中的对抗训练方式
  6. spring事务源码解析
  7. 一位湖北大学的学生作品,看后久久不能平静
  8. 路由器下一跳地址怎么判断_路由器的功能及工作原理
  9. OCR 脱机手写汉字识别与印刷汉字识别
  10. 【Excel】在单元格中插入换行符
  11. python中英文古风排版_ET(CAD)-中国风复古女唐装制版教程04
  12. Canvas画各种线
  13. 自媒体平台图文创作建议和技巧
  14. 公司新来了个00后卷王,一副毛头小子的样儿,哪想到...
  15. testlink mysql配置_testlink安装及配置
  16. 【源码】应用于各类工业控制的通用PID调谐器仿真设计
  17. Android MVP模式介绍和讲解
  18. 英语题目作业(10)
  19. 什么是GeoJSON?
  20. python 进程间通信效率_关于进程间通信效率最高的是什么的阿里云论坛用户知识和技术交流...

热门文章

  1. VMWare虚拟机扩展磁盘空间(扩充root根目录空间)
  2. matlab 鼠标响应函数,关于matlab鼠标响应
  3. Linux常用命令 -- lsblk(简单易学)
  4. -march= 所带参数(armv4)不正确(2018-07-01)
  5. 避免常见的6种HTML5错误用法,避免常见的6种HTML5错误用法
  6. 0206PHOTOSHOP第零十式色相环
  7. Ubuntu 暂时不能解析域名及解决办法
  8. 【光学】波动光学与量子力学的matlab仿真
  9. 千万级用户产品更名为“亿图脑图 MindMaster”背后:脑图软件市场高速增长
  10. mysql MDL锁如何解决_Mysql 中的MDL