【图形学基础:基本变换】复数、四元数的巩固和图形学基本变换类型的学习
PS:本文中灰色字体为拓展内容,不在目录中标识,可以作为了解学习哦 ~
目录
复数:a+bi
四元数
基本变换
平移变换
旋转变换
缩放变换
变换级联
变换矩阵的逆矩阵补充知识点:
欧拉变换
复数:a+bi
范数:复数的范数可以看作表示复数的向量的模。
复数与标量相乘/除(数乘):符合乘法分配律,实部与虚部分别进行乘除运算。
复数加法与减法:实部与实部相加减,虚部与虚部相加减。
复数加法恒等元:任何复数相加,结果仍为该复数,表示为(0+0*i)。
复数加法逆元素:任何复数与其加法逆元素相加,结果为复数加法恒等元。z=(a+b*i) 的加法逆元素为z*=(-a-b*i)。
共轭复数:当两个复数实部相等,虚部互为相反数时,这两个复数互为共轭复数。
复数与之共轭复数相乘得泛数的平方
复数乘法
用一个复数的实部和虚部分别去乘另一个复数的实部和虚部,把结果相加。
复数除法
需要把除数转化为实数进行,即分子分母同时×分母的共轭复数
复数与其倒数
复数与其倒数相乘,结果为1。
四元数
四元数本身可视为是在复数基础上的拓展。可称为是超复数(hyper-complex number)。
四元数是指有一个实部和3个虚部的复数。
ijk分别是表示xyz轴上的
也可表示为:
虚数基(i,j,k)可以看作是虚拟坐标系中3个相互垂直的单位向量,看作循环xyzxyzx……每一个可以看作另两个的乘积,换位置需要求反
四元数代表的是带有齐次坐标的三维向量。
范数
加法与减法:实部和虚部的每一项分别进行加或减
加法逆元素
和原四元数相加,结果为0的四元数。(全部取反)
加法恒等元
和任意四元数相加,结果仍为该四元数的四元数。等同于数字0
乘法:用前一个四元数的实虚部与后一个四元数的每一个实虚部相乘
PS:两个不同ijk相乘需使用公式变换而不是直接等于-1
用向量的形式表示为。
乘法恒等元
相当于数学意义上的1。
共轭四元数
实部相等,虚部各分量均相反的两个四元数互为共轭四元数。
原数与共轭相乘等于泛数的平方
单位四元数
模为1的四元数,可以用三角函数的形式表示。
q=(cosθ,sinθ*uq)=cosθ+sinθ*uq
倒数
四元数乘以它的倒数结果为1。
——> ——> ——>
在计算分数时使用得更多,先乘上分母的倒数,此时分母变成实数,而分子需要考虑
齐次坐标
由n+1维向量表示一个n维向量。补充一个齐次坐标来方便运算(主要为了平移变换)
使用齐次坐标的优势在于:
1)提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
2)可以表示无穷远点。例如,n+1维中,h=0的齐次坐标实际上表示了一个n维的无穷远点,可以进行点的投影。
基本变换
游戏中一般是:先缩放,后旋转(自转),再平移,可以再加一次旋转(公转)或平移
三大变换都从单位矩阵出发
平移变换
在计算机图形学中,用矩阵T表示一个平移矩阵,三维坐标系下,T是一个4×4的矩阵(添加了齐次坐标)。例:(1,1,0,1[齐次])
从单位矩阵出发,改(4,1)(4,2)(4,3)位置为xyz轴上的移动,
通常在移动运算过程当中齐次坐标(4,4)位置一直保持是1,否则会影响旋转和平移等变换
齐次坐标的存在主要为了完成平移,因为旋转和缩放只是原数据发生了变化,而没有叠加数据进去
平移变换矩阵的逆矩阵表示为(4,1)(4,2)(4,3)取反
旋转变换
旋转变换保持图形各部分之间的线性关系和角度关系,变换后物体的形状不会发生改变。
绕某一轴旋转时,那个坐标轴不会发生变化,且齐次坐标不发生变化:
绕x轴旋转
绕y轴旋转
绕z轴旋转
逆矩阵为其转置矩阵
点的旋转变换就是点向量与矩阵相乘。
对于绕任意轴旋转角度θ的旋转矩阵R,从中取出与旋转变换相关的3×3的子矩阵,可以计算出其对角元素之和是一个与坐标轴无关的常数,称为迹(Trace):
tr(R)=1+2cosθ
缩放变换
在计算机图形学中,用矩阵S来表示一个缩放矩阵,三维坐标系下,S是一个4×4的矩阵。
如果对缩放矩阵的缩放因子s的一个或者3个分量置负,就会产生一个反射矩阵(Reflective Matrux),或者称为镜像矩阵(Mirror Matrix)。如果其中两个因子是-1,将会旋转180度。
逆矩阵:(1,1)(2,2)(3,3)取倒数
变换级联
可以把多个变换矩阵组合起来,称为变换级联(不满足交换律,但是满足结合律)
进行组合变换时,组合变换的矩阵为各个变换矩阵的乘积。由于矩阵乘法运算不满足乘法交换律,因此,矩阵相乘的先后顺序会直接影响最终结果。
游戏中一般是先缩放,后旋转再平移(后还可再添加变换)
人身上有几千几万个点,如果单个处理,每个点都需要旋转平移缩放,级联优化了整体效率(对于n个点的复合变换)
变换矩阵的逆矩阵补充知识点:
把一个点恢复为原状,可以用变换后的点乘以变换矩阵的逆矩阵。
1)旋转矩阵的逆矩阵等于其转置矩阵:。
2)如果矩阵是单个变换,可以直接按照各自的逆矩阵规则计算出相应的逆矩阵。
3)如果矩阵是组合矩阵,可以通过计算得到其逆矩阵。
欧拉变换
欧拉变换是一种非常直观的方式,主要用来构造一个自定位(如摄像机)或者使任何实体处于特定方向的矩阵,其命名源于瑞典的著名数学家Euler Leonard。
欧拉变换是绕3个旋转轴的旋转矩阵的乘积。
(顺序为yxz,转头记忆:当有人不是在你正面叫你时,一般会:转头,再上下看,可能左右晃)
可以修改顺序,但就不符合欧拉变换了
绕x轴旋转的角称为倾斜角(pitch),绕y轴旋转的角称为翻滚角(head,在飞行模拟中称为偏转角yaw),绕z轴旋转的角称为摇摆角(roll)。[满足人体工学]
yaw——pitch——roll
在飞行模拟游戏中可能为z在最前面
欧拉角的局限性在于:
1)欧拉变换的顺序不能交换;
2)欧拉角会产生万向节死锁(Gimbal Lock)现象。
万向节死锁:头朝下脚朝上,即坐标轴左右(上下等方向)冲突
解决:限制镜头的旋转角度
【图形学基础:基本变换】复数、四元数的巩固和图形学基本变换类型的学习相关推荐
- 图形学基础|泛光(Bloom)
图形学基础|泛光(Bloom) 文章目录 图形学基础|泛光(Bloom) 一.前言 二.Bloom概述 2.1 亮度提取 2.2 模糊 2.2.1 高斯模糊 2.2.2 可分离滤波 2.2.3 双重模 ...
- 【图形学基础】光栅图
[图形学基础]光栅图 文章目录 [图形学基础]光栅图 前言 1. 初识光栅图 2. 光栅设备 2.1. 展示型光栅设备 2.2. 硬拷贝型光栅设备 2.3. 输入型光栅设备 3. 图片,像素,几何 3 ...
- 计算机图形学基础期末考试试题,计算机图形学基础_试卷(B)答案
计算机图形学 哈尔滨学院2006年秋季学期期末试卷 ( T )4.为了减少重复性工作一般均把常用图形的绘制设计成图形子程序. ( F )5.二维图形的基本变换后原图形的顶点没有改变. ( F )6.B ...
- 计算机图形学基础考试题,计算机图形学基础复习题
<计算机图形学基础复习题>由会员分享,可在线阅读,更多相关<计算机图形学基础复习题(8页珍藏版)>请在人人文库网上搜索. 1.计算机图形学基础复习题 一.判断题 1. PNG( ...
- 计算机图形学基础考试题及答案,计算机图形学基础模拟试题参考答案
1. 计算机图形学基础模拟试题参考答案一.名 词 解 释 ( 共 9 分 , 每 题 3 分 )1. 1. 计算机图形学研究怎样用计算机生成.处理和显示图形和科学.2构造根据选择的作图命令和指定的一系 ...
- 前端实现可绘制的canvas画布_前端图形学基础(五)——Canvas状态管理
点击右上角的关注,不定期前端干货分享!! 欢迎来到我的前端图形学系列文章: 前端图形学基础(一)--Canvas基础入门 前端图形学基础(二)--Canvas基础 前端图形学基础(三)--Canvas ...
- 计算机图形学基础教程论文,计算机图形学小论文
为毕业生写计算机图形学小论文提供计算机图形学小论文范文参考,涵盖硕士.大学本科毕业论文范文和职称论文范文,包括论文选题.开题报告.文献综述.任务书.参考文献等,是优秀免费计算机图形学小论文网站. 计算 ...
- 四元数左乘右乘_复数/四元数和转动/转动群
关于U(1)与SO(2)或SU(2)与SO(3)之间关系的讨论在很多的群论书.或讲物理中对称性的教材中都已有详细的论述.对于复数.四元数和转动之间的讨论更是在一般形式.e指数.矩阵之间随意切换.这样可 ...
- 计算机图形学基础如何学,计算机图形学基础思考
计算机图形学基础思考 2019-08-07 版权声明 举报文章 第3届太平洋计算机图形学学术会议(PaeifieGraphies'95)于8月21日至24日在韩国汉城召开.会议邀请了专家作讲演,题目为 ...
- 计算机图形学孔令德基础知识,计算机图形学基础教程孔令德答案
计算机图形学基础教程孔令德答案 [篇一:大学计算机图形学课程设] 息科学与工程学院课程设计任务书 题目: 小组成员:巴春华.焦国栋 成员学号:专业班级:计算机科学与技术.2009级本2班课程: 计算机 ...
最新文章
- 在html前面追加,在追加到DOM之前操纵html
- 【The final】软件工程实践总结
- 解读Java8中ConcurrentHashMap是如何保证线程安全的
- AutoResetEvent和ManualResetEvent
- 请求的链式处理——职责链模式
- 高斯噪声,椒盐噪声的思想及多种噪声的实现
- 关于12306Bypass
- ABB机器人画圆编程_ABB机器人编程基础(功能程序)
- plc编程语言有哪几种?
- 区间多目标优化算法IP-MOEA
- Word表格中的文字垂直、纵向居中
- PumpkinRaising靶机渗透
- STM32F103C8T6定时器产生PWM
- XUPT 新生赛题目总结
- 浏览器 弹广告 android,android手机 UC浏览器 时不时跳出广告 是不是中毒了
- 二手 IBM 3650M4 IMM 无法正常访问的解决方法
- 饭桌的威力,辛酸的父母。
- pdf怎么合并在一起?软件操作更高效
- 土建翻模【梁转化】功能,CAD识别批量梁生成
- 《哈尔滨万佳投资股份有限公司官网建设方案》