图形系统中的仿射变换

简介:  终于建了一个自己个人小站: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效果一样。

 

目录
相关文章
|
数据挖掘 Python
python数据分析之饼状图
python数据分析之饼状图
126 0
|
2天前
|
搜索推荐 编译器 Linux
一个可用于企业开发及通用跨平台的Makefile文件
一款适用于企业级开发的通用跨平台Makefile,支持C/C++混合编译、多目标输出(可执行文件、静态/动态库)、Release/Debug版本管理。配置简洁,仅需修改带`MF_CONFIGURE_`前缀的变量,支持脚本化配置与子Makefile管理,具备完善日志、错误提示和跨平台兼容性,附详细文档与示例,便于学习与集成。
253 116
|
17天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
11天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
650 220
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
886 61
|
9天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1468 157
|
6天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
282 139