欢迎光临散文网 会员登陆 & 注册

【现代计算机图形学】002-变换

2023-03-11 15:11 作者:柴郡笔记  | 我要投稿

二维变换:

我们要把矩阵和变换联系起来。

举个例子:我们缩放一张图片,我们把图片视为一个矩阵,那么我们将其乘以一个0到1的小数,就得到了缩放后的图片。

乘以标准矩阵后的缩放


但我们单独缩放x值时:


当我们尝试将图片对称时:

y轴对称,则x取负值

切变:

上边向右移动了距离a,但y轴高不变。

底边不变,也就是说,在y为1的情况下,x的每个坐标都向右移动了y*a个单位。

体现在矩阵中,如下图公式。

(个人认为左上到右下的值为缩放,右上到左下的值为偏移)


旋转:

在不确定原点和方向的情况下,默认原点为(0,0),默认方向为逆时针。

旋转,可以看作每一个点,在乘以一个矩阵后,得到了一个新的位置。而实际上,偏移缩放,也是可以这样理解的。如何得到这个矩阵,就是变换的关键。

已知在旋转中,大小不变。那么我们可以通过一条边的长度,旋转的角度,根据勾股定理得到其余两条边的长度。于是便得到了第一个特殊点(cos角度,sin角度)。

既然我们已经有了初始点位,变换后的点位,便可以根据初始点位与矩阵的叉积,得到变换后的点位。再然后便是二元一次方程。得解。

总结:

我们的变换总是遵从下图的规律,这种变换称之为线性变换。


齐次坐标:

图片的平移,只需要单纯地加上偏移量就可以了。

但这样,我们无法把它写成矩阵公式。

所以在平移计算中,我们只能另外添加一个向量来得到最终结果。

但我们希望得到一个更方便的变换方式,来解决所有的变换问题。所以我们引入了齐次坐标。

用空间复杂度来将平移变换写入公式。

点的坐标变换,引入变量1,向量为了维持方向不变,引入变量0。


逆变换:

我们将变换的方法进行逆变换,便得到未变换的值。

即坐标乘以矩阵后得到的值,再乘以这个矩阵的逆矩阵,便会得到未变换的值。

注意:

变换的顺序是非常重要的。先旋转后平移和先平移后旋转是两个结果。就如同矩阵的乘法不满足交换律。

其结果便是矩阵不满足交换律。

向量默认作为列向量。

矩阵的计算是从右到左的计算顺序。


三维变换:

三维变换和二维变换极为相似,在原有计算的基础上更换为四维矩阵。

【现代计算机图形学】002-变换的评论 (共 条)

分享到微博请遵守国家法律