计算机图形学实验五-二维图像几何变换

本文介绍了二维图像几何变换中,如何通过矩阵表示并理解变换的本质,包括平移、缩放、旋转和错切等。重点讲解了齐次坐标的引入及其在平移变换中的作用,以及如何通过观察基向量变化理解各种变换矩阵。视频推荐有助于深化理解线性代数在图形学中的应用。
摘要由CSDN通过智能技术生成

计算机图形学实验五-二维图像几何变换

视频讲解

这个内容其实非常简单,就不同变换改一下矩阵就行,但是我这里想讲的是,如何去理解他的本质,就为什么左乘一个矩阵就可以实现这种变换,矩阵到底是什么,这些问题其实应该在学线性代数的时候就该解决的,如果会的话那就没啥看的了,然后推荐大家去看3b1b的关于线代的视频,讲的非常好,搭配着动画演示很好理解,并且时间也不长,视频地址

关于几何变换的讲解都在视频里了,如果你不在意这些的话,那其实这次实验就没啥说的,我就把我写的实验报告放着就行了,因为真的没啥说的,就不同变换套不同的矩阵就行

引入齐次坐标

齐次坐标简单的说就是用n+1维矢量表示n维矢量,之所以这么做是因为平移这种变换不是线性变换,无法用二维矩阵去表示二维的非线性变换,而要注意的是
[ X Y 0 ] [ X Y W ] \begin{bmatrix} X\\ Y\\ 0 \end{bmatrix} \begin{bmatrix} X\\ Y\\ W \end{bmatrix} XY0XYW
左边这种第三维是0的表示的是向量,而非0的表示的是点,之所以这么设置有很多原因,比如如果你带入物理角度的向量,也就是向量只和方向和长度有关的话就会发现向量无论怎么平移还是原来那个向量,所以向量进行平移后还应该是这个样子,而为什么第三维是0就满足这样我在下面具体讲到了再说,还有一个更好理解的就是向量加向量应该还是向量,所以第三维0+0还是0,而非0则就是点,点减去点则是向量,比如

在这里插入图片描述

你会发现点减去点就变成了向量,就这么设置是有意义的,有很多原因,如果不理解你只需要认为他是正确的而且方便就行

平移

那刚刚也说了平移是非线性变换,而视频里也说了去看变换只需要去看基的变换就行,那经过平移变换后原点肯定就会发生改变,而线性变换就是**”保持网格线平行且等距分布,并且保持原点不变“**,你也可以这么想,一个二维空间你怎么平移变换还是那个空间,所以我们想去平移变换他只能升一个维度,去表示平移,因此引入了齐次坐标系。

那我们接下来去想象平移变换,基应该怎样去变换,我们想象一个三维坐标系,基是这样的,也就是单位矩阵

[ 1 0 0 0 1 0 0 0 1 ] \begin{bmatrix} 1&0&0\\ 0&1&0\\ 0&0&1 \end{bmatrix} 100010001

如果只改变i,j基向量也就是保持k或者说z轴不变,那在空间上就是一个在纵轴为1的一个二维平面,那我们接下来去移动k基向量,也就是在X轴上移动x个单位

图很丑自己想想一下吧,就是k基向量往x轴倾斜了,那整个空间也会随着倾斜,如果还是关注那个Z轴上单位1的那个二维平面好像并没有变换,但实际上因为空间上的倾斜,那个二维平面也随之倾斜,二维平面上的向量就相当于发生了平移,这只是基向量X方向变换Y方向也是可以的,那把变换后的基向量写下来就会发现平移变换矩阵就是
[ 1 0 t x 0 1 t y 0 0 1 ] \begin{bmatrix} 1&0&tx\\ 0&1&ty\\ 0&0&1 \end{bmatrix} 100010txty1

这个就是向量平移的矩阵

缩放

缩放是线性变换那就很简单的,只需要关注二维就行,基向量咋变空间也会随着变换,缩放变化矩阵就是
[ t x 0 0 0 t y 0 0 0 1 ] \begin{bmatrix} tx&0&0\\ 0&ty&0\\ 0&0&1 \end{bmatrix} tx000ty0001
这个就是x方向缩放tx倍,y方向缩放ty倍

旋转

旋转也是线性变换,具体讲解我在视频说了就不说了
[ cos ⁡ β − sin ⁡ β 0 sin ⁡ β cos ⁡ β 0 0 0 1 ] \begin{bmatrix} \cos\beta&-\sin\beta&0\\ \sin\beta&\cos\beta&0\\ 0&0&1 \end{bmatrix} cosβsinβ0sinβcosβ0001
反射就是旋转而且还更简单都不需要三角函数

错切

线性变换,就相当于一个基向量不变另一个变
[ 1 a 0 b 1 0 0 0 1 ] \begin{bmatrix} 1&a&0\\ b&1&0\\ 0&0&1 \end{bmatrix} 1b0a10001
你要是看了视频理解了真的就是没啥说的就是看改变后的基向量就行

复合变换

看了视频理解的话,那就相当于就是几个变换矩阵左乘下去就行了。。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值