【2】现代计算机图形学(二维及三维变换)

一 缩放(Scale)
如下图,一个矩形的x和y坐标经过同样比例大小的缩放成一个小矩形。
在这里插入图片描述
假如缩放系数为s,那么
在这里插入图片描述
如果用矩阵表示缩放,那么
scale
以上都是均匀的缩放,那么如果x,y不均匀缩放,会产生以下的结果
在这里插入图片描述
x分量与y分量上的系数不同
在这里插入图片描述
二 镜像(Mirror)
如下图,一个矩形沿着y轴对称
在这里插入图片描述
由图可知,镜像后的坐标满足以下条件
在这里插入图片描述
此时,镜像后的矩形坐标可表示为
在这里插入图片描述
同理,当沿x轴对称时
在这里插入图片描述
三 切变(Shear)
如下图,一个矩形的上方的边向x轴正方形移动了a个单位的距离
在这里插入图片描述
那么,移动后的坐标与原坐标的关系为
在这里插入图片描述
四 旋转(Rotation)
如下图,矩形逆时针旋转了45度
在这里插入图片描述
PS:在图形学中,一般默认的旋转都是以(0,0)(三维坐标中以(0,0,0))为基准点做旋转

旋转矩阵的计算
在这里插入图片描述
在这里插入图片描述
五 齐次坐标(Homogeneous coordinates)
平移(Translation)
在这里插入图片描述
由上图可知,将矩形平移到另一个地方,x和y都会加上平移的值,那么如何用矩阵乘法来表示这个平移的值呢?
在这里插入图片描述
我们会发现矩阵是两行两列的,无论怎么表示都不能用一个矩阵让原来的x,y加上某个平移量,如果需要表示只能由以下方法表示:
在这里插入图片描述
但是我们并不想这样表示平移,因为这和我们前面写的各种矩阵表示的有区别,所以就提出了齐次坐标的概念。
我们通过在2x2的矩阵上添加一个w分量,使其变成三维表示,但是w分量并不会影响其他操作。
这样一来,我们把二维空间的点表示为:
在这里插入图片描述
二维空间的向量表示为:
在这里插入图片描述
然后,平移矩阵便可以表示出来如下:
在这里插入图片描述
在齐次坐标中,满足以下条件:
在这里插入图片描述
所以,以上的缩放,旋转矩阵在齐次坐标中可表示为:
在这里插入图片描述
六 组合变换(Composite Transform)
组合变换就是在一个物体上应用多种不同的变换,得到一个最终的物体。
如下图,如何将举行变换到右边的位置?
在这里插入图片描述
有一种思路是首先平移,然后再旋转,如果这样变换的话,我们会看到这样一种情况:
在这里插入图片描述
很明显,变换后的图形并不是我们想要的图形。
那么如果先旋转再平移呢:
在这里插入图片描述
这次结果就对了,是我们想要实现的效果。
这就出现了一个问题变换的顺序会影响到最终的效果
注意:矩阵的应用是从右边往左边的顺序的。
在这里插入图片描述
七 复杂变换的分解
如下图:如何将上面的矩形变换到下方的矩形位置处
在这里插入图片描述
在这里插入图片描述
如果我们直接做旋转肯定是不可以的,因为在上面提到,矩阵旋转默认都是以原点为基准的。
所以我们分解变换,首先将原来的矩形平移到原点处,然后旋转α度,然后再平移到最终的位置,如下:
在这里插入图片描述
八 三维空间的变换(3D)
在三维空间下,用其次坐标表示点和向量方式如下:
在这里插入图片描述
在这里插入图片描述
缩放矩阵
在这里插入图片描述
平移矩阵
在这里插入图片描述
分别绕x,y,z轴旋转的旋转矩阵
在这里插入图片描述
Rodrigues’ Rotation 公式
绕着n轴旋转α度:
在这里插入图片描述
《秦时明月》场景图片
在这里插入图片描述
本文所有内容均是博主学习闫令琪老师的现代计算机图形学课程的总结,如有不足之处欢迎评论区指导补充。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值