二维图形几何变换,矩阵计算

前言:对于一个图形的几何变换,对应的是操作到图形中的每一个点!
即对每一个点做出相应的几何变换。比如平移,就是对二维图形的每个点都平移相同的距离;旋转则是对每一个点,基于基准点旋转相应角度!缩放操作也是如此!
所以下面的矩阵计算都是基于二维平面上一个点(基于基准点)的几何变换!

二维图形平移

如上图所示:P(x,y),P’(x’,y’),x轴平移距离:Tx,y轴平移距离:Ty;
则有

将x,y表示为列矩阵,则有:
有P’ = P + T;

二维图形旋转


在平时遇到的图形旋转,一般如7.3图所示,基于某一个点的旋转!目前为了方便了解矩阵计算,我们先基于原点做旋转,基于某个基准点的旋转我们后面再看!

如7.4所示,点(x,y)绕原点o旋转到(x’,y’);有:

x,y分别有:

则上式可表示为:

将x,y表示为列矩阵,则有:P’ = RP
其中R用矩阵表示为:

二维图形缩放

如上图所示,将三角形以原点为基准点放大!则对应的 三角形上的每一个点距离原点的长度都会被放大S倍!

其中Sx,Sy分别为两个坐标轴上缩放的倍数!
矩阵表示为:

到此我们了解了二维图形基于原点的 平移,旋转,缩放操作!下一篇,我们继续探讨矩阵逆运算和矩阵复合运算!

图形学 ---- 二维几何变换(二维图形矩阵平移,旋转,缩放)相关推荐

  1. 三维坐标要建一个4*4的矩阵?平移 旋转 缩放

    移植不知道三维物体的旋转平移缩放和矩阵的关系.找到这篇文章借鉴一下. 转自:https://blog.csdn.net/ALLENJIAO/article/details/80348362 怎么平移一 ...

  2. Unity矩阵平移旋转缩放Matrix4x4

    Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案例旋转.平移.缩放.(注意这里本文中的transform组件式基于unity ...

  3. 二维几何图形自由变换的思路(平移、缩放、旋转)

    目录 图形自由变换 图形的存储方式 鼠标交互 图形拓扑算法 总结 常见的二维几何图形包括点.线.面三种类型,而某些的地图标准规范中还区分多点.多线.多面.环等.本文,主要讲述简单的几何图形的自由变换( ...

  4. 三维空间中的几何变换-平移旋转缩放

    前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...

  5. C#实现图形的平移和缩放

    任务 打开一幅图片,实现图片的平移和缩放. 代码 1. using System; 2. using System.Collections.Generic; 3. using System.Compo ...

  6. webgl图形平移、缩放、旋转

    文章目录 前言 平移 图示 代码示例 缩放 图示 代码示例 旋转 公式推导 代码示例 总结 前言 在webgl中将图形进行平移.旋转.缩放的操作称为变换或仿射变换,图形的仿射变换涉及到顶点位置的修改, ...

  7. c语言二维图形变换程序,【计算机图形学】3-2 二维几何变换根本代码

    [计算机图形学]3-2 二维几何变换基本代码 返回目录 基本理论参见:[计算机图形学]3-1 二维几何变换基本理论 注:这里不考虑插值的问题. 全部的代码都在https://github.com/Cy ...

  8. 【计算机图形学】小白谈计算机图形学(四)二维三维图形变换—1

    小白谈计算机图形学(四)二维三维图形变换-1 窗口与视图 二维图形的几何变换 平移变换 比例变换 旋转变换 二维图形变换的矩阵表示 三种变换 齐次坐标变换 原二维线性变换 齐次坐标法 复合变换 例题: ...

  9. 计算机图形学笔记——第7章 二维几何变换 Python

    第7章 二维几何变换 应用于对象几何描述并改变它的位置.方向或大小的操作称为几何变换(geometric transformation). 几何变换有时也称为建模变换(modeling transfo ...

最新文章

  1. python哪一版好用-Python最好用的编辑器是哪款?北京老男孩教育
  2. C++的sort排序法
  3. Centos root权限的变化
  4. java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库
  5. phome_enewsclass 数据表字段解释(栏目主表)
  6. Unity导入3D模型的过程与方法
  7. 元气骑士如何获得机器人成就皮肤_元气骑士:获得成就叹息之墙,花圃免费开,附带5000蓝币奖励...
  8. 团队作业8----第二次项目冲刺(beta阶段)5.20
  9. 一个成功的BI项目实施需要注意哪些?
  10. 常见c语言语法错误,C语言常见语法错误.doc
  11. 万物互联开发平台NSDK
  12. 从金庸小说到DDoS防护
  13. 会议审批 查询会议签字
  14. c++ 序列化库iguana使用总结
  15. Python标准库collections库:超好用的counter计数器,不接受反驳!
  16. 微信最新防封技术,域名防红技术分析
  17. 微信小游戏和小程序的区别
  18. 3G入门教程--通讯基础
  19. 罗素问题 ——来自知乎大神
  20. 【Python web 开发】热销商品 功能实现

热门文章

  1. 关于ADC输入前级的抗混叠滤波器问题以及驱动负载电容的电阻值选择建议
  2. AlphaFold2源码解析(10)--补充信息1(residue_constants)
  3. 宝塔BT面板无法启动修复方法
  4. 优秀的JavaScript模块是怎样炼成的
  5. SLAB SLUB
  6. html怎样创建复选框,如何使用可点击标签创建HTML复选框
  7. 【年终】电感两端施加正弦波电流,电感两端的电压波形是怎样的?
  8. ThinkPad物理机安装Linux系统实战企业级项目之CentOS安装
  9. Linux内核版本和发行版本的区别
  10. Jmeter定时器之吞吐量整形定时器jp@gc Throughput Shaping Timer