图形系统中的仿射变换

简介:  终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~      在学图形学的时候,仿射变换肯定会遇到,那到底什么是仿射变换了?在做仿射变换时一般都会用到齐次坐标,这个齐次坐标又是什么?下面是我自己学习过程中的一些领悟,记录下来做个总结。

 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~

      在学图形学的时候,仿射变换肯定会遇到,那到底什么是仿射变换了?在做仿射变换时一般都会用到齐次坐标,这个齐次坐标又是什么?下面是我自己学习过程中的一些领悟,记录下来做个总结。

      首先给出简短的定义:仿射变换是线性变换(旋转和缩放)加平移变换,齐次坐标就是用高一维的空间坐标表示低一维空间的坐标。

      这里解释下线性变换,线性变换也就是在两个向量之间的函数,它保持向量加法和标量乘法的运算。

向量加法: (1) 

标量乘法: (2)                     

线性变换可以用矩阵表示,假设空间一个点坐标为p=(x,y),T表示一个线性变换,则存在一个矩阵A使得

p'=(x',y')=T(p)=Ap。旋转和缩放都是线性变换,因为它们都保持了上述两个性质。用矩阵表示如下:

旋转: (3) 

缩放:(4) 

平移:(5) 

仿射变换也就是上面三个变换的叠加,在上面三个变换中平移变换是没办法使用矩阵相乘的方式来获取的。但是如果将坐标在高一维空间进行表示的时候,也就是采用齐次坐标的时候,平移变换可以用矩阵乘法来进行表示。假设p=(x,y,1)是齐次坐标下二维点p(x,y)的坐标表示,具体表示如下:

旋转: (6) 

缩放:(7) 

平移:(8) 

这样就以上三个进行统一,便得到了仿射变换的矩阵表示,其定义也更容易表达,仿射变换也就是下面的变换:

仿射变换:(9) 

当将一个矩阵表示成如下形式时:

(10) 

其中分别表示旋转缩放和平移变换。

从上面可以看出,引入齐次坐标的好处就是将这三个变换进行统一用矩阵的形式进行表示,矩阵运算在编程的时候容易实现,而且仿射变换也有个性质:仿射变换后保持点共线及共面的性质。

在公式(10)里面的1,如果变换成其他数值,则表示对整体进行缩放,也就是相当于在整个矩阵外面乘以一个w效果一样。

 

目录
相关文章
|
4月前
|
存储 算法 API
第3章-图形处理单元-3.8-像素着色器
第3章-图形处理单元-3.8-像素着色器
42 2
|
7月前
|
算法 图形学
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
201 2
|
7月前
|
算法
halcon系列之直线拟合和圆形拟合算子
halcon系列之直线拟合和圆形拟合算子
717 0
|
7月前
|
计算机视觉
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
480 0
|
7月前
|
计算机视觉
OpenCV(二十七):图像距离变换
OpenCV(二十七):图像距离变换
64 0
|
7月前
|
算法 定位技术
ArcGIS中ArcMap栅格图像平滑滤波:焦点统计、滤波器、重采样
ArcGIS中ArcMap栅格图像平滑滤波:焦点统计、滤波器、重采样
278 1
|
7月前
|
文字识别 Python
Halcon 学习笔记五:几何定位+仿射变换+测量
Halcon 学习笔记五:几何定位+仿射变换+测量
660 0
webgl图形变换、投影与摄像机
入坑webgl,从图形变换、投影与摄像机开始,基操学得好,以后才能怎么炫酷怎么来~快快快,点进来~~
webgl图形变换、投影与摄像机
|
前端开发 数据可视化 图形学
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
155 0
【数学篇】09 # 如何用仿射变换对几何图形进行坐标变换?
|
算法 图形学
【计算机图形学】实验三:二维图形变换
【计算机图形学】实验三:二维图形变换
258 0
【计算机图形学】实验三:二维图形变换