图形学个人笔记(2)

提示:记住一个2×2的矩阵乘以一个 二维向量得到的结果就能充分理解下面的公式:

 变换的形式:用一个矩阵乘以一个向量(要用相同维度的矩阵乘以相同维度的变量)

线性变换

a1 a2            x

            乘

b1 b2            y

a1x+a2y,b1x+b2y 

变换:

除了旋转

还有从三维世界到二维世界

1.缩放:

 

s=0.5

用矩阵表示

 不均匀缩放:

 sx=0.5 sy=1

2.反射(对称)

 3.切变(拽着一角边拉)

 (思路:所有点的y都是不变的,唯一变的是所有点的x值,x值是怎么变的呢?

当y为0的时候x不变,当y为1的时候x加1,当y大于零小于一 则x加a*y

用矩阵表示

 写变换的一种思路:找到变换前和变换后的一些规律

4.旋转(默认绕原点,默认逆时针)

推导

 

 原坐标为(1,0) 经过转换后为(cos,sin)

得出这个公式

公式解开就为

也就得出了AC的值 剩下在找一个点计算剩下BD的值就可以了

这个旋转的逆矩阵只需要把左下角改为负,右上角改为正就可以
 

 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//

齐次坐标:因为平移变换比较特殊,所以有了齐次坐标这个概念

 但是写不成刚才那种某个矩阵乘以一个向量的形式

只能写成这种(abcd矩阵为线性矩阵 啥事都不干1001):

 因为平移变换不是线性变换

思考:能不能以上的变换的计算方法都统一(包括平移,包括缩放...)

答:可以增加一个维度

(点:增加1  向量:增加0 因为向量具有平移不变性)

引入齐次坐标的更多意义

 点加点等于中点

仿射变换都可以协程矩阵乘以变量的形式

 有平移无平移 有线性变换无线性变换

逆变换:把之前的变换反过来

各种变换的组合:

 变换的顺序十分重要

先平移再旋转

先旋转在平移

【从右到左!!!!!!!!!】

意思是最右边的矩阵先乘 也就是说最右边应该是先旋转 旁边的矩阵则为移动矩阵

 变换的分解:

 问:如何使第一幅图沿左下角点旋转45度?

答:1.先把所有点都减去c 2.再旋转45度 3.再把所有点都加上c

矩阵形式(从右到左):

三维空间变换

大体差不多,但有几个重要的性质

1.旋转的逆矩阵等于旋转的转置矩阵(如下图) 也就是说旋转矩阵是个正交矩阵

 

2.

对于我们来说一个xyzw的点 在3维空间的点表示就为 把所有的都除以w(w一定为1 w为1代表是个点)

 

3.

对于 三维空间的旋转来说,查看旋转可以举起我们的的右手 比如说x转向z就是饶y轴旋转,y不变所以0 1 0

但为什么这里的沿y轴旋转跟其他的矩阵不一样,害得举起我们的右手,想想叉乘规则,

要得到z轴必须x叉乘y轴(逆时针),要得到x轴必须y叉乘z(逆时针),要得到y轴必须z叉乘x(顺时针

这个时候聪明的小伙伴就已经看出来了

我们一定要记得 对于复杂的旋转我们一定可以分解为简单的旋转 也就是说任意的3d旋转

我们都可以写成绕x轴绕y轴绕z轴

 α β γ 这三个角度又被称为欧拉角

如何证明呢?可以想象飞机的三个操作

pitch(俯仰)x轴不变 z转x轴

roll(翻滚)z轴不变 x到y轴

yaw(转身)...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值