OpenGL和OpenInventor中坐标变换是一个基本概念,不搞清楚这些概念,变换矩阵会一塌糊涂,从下面网站搜到一些基础知识,补一补。

http://202.118.167.67/eol/data/res/jsjtxx/Chapter6/CG_Txt_6_011.htm

正如我们在附录中提到的那样,用齐次坐标表示点的变换将非常方便,因此在本节中所有的几何变换都将采用齐次坐标进行运算。二维齐次坐标变换的矩阵的形式是:

这个矩阵每一个元素都是有特殊含义的。
形进行平移变换;[g h]是对图形作投影变换;[i]则是对图形整体进行缩放变换。

1)平移变换

2)缩放变换

3)旋转变换



4)对称变换

对称变换其实只是abde取0、1等特殊值产生的一些特殊效果。例如:

  1. b=d=0,a=-1,e=1时有x´=-xy´=y,产生与y轴对称的图形

  2. b=d=0,a=-1,e=-1时有x´=xy´=-y,产生与x轴对称的图形。

  3. b=d=0,a=e=-1时有x´=-xy´=-y,产生与原点对称的图形。

  4. b=d=1,a=e=0时有x´=yy´=x,产生与直线y=x对称的图形。

  5. b=d=-1,a=e=0时有x´=-yy´=-x,产生与直线y=-x对称的图形。

5)错切变换

  1. d=0时,x´=x+byy´=y,此时,图形的y坐标不变,x坐标随初值  (xy)及变换系数b作线性变化。

  2. b=0时,x´=xy´=dx+y,此时,图形的x坐标不变,y坐标随初值  (xy)及变换系数d作线性变化。



6)复合变换

如果图形要做一次以上的几何变换,那么可以将各个变换矩阵综合起来进行一步到位的变换。复合变换有如下的性质:

  1. 复合平移

    对同一图形做两次平移相当于将两次的平移两加起来:

  2. 复合缩放

    两次连续的缩放相当于将缩放操作相乘:

  3. 复合旋转

    两次连续的旋转相当于将两次的旋转角度相加: 缩放、旋转变换都与参考点有关,上面进行的各种变换都是以原点为参考点的。如果相对某个一般的参考点(xfyf)作缩放、旋转变换,相当于将该点移到坐标原点处,然后进行缩放、旋转变换,最后将(xfyf)点移回原来的位置。切记复合变换时,先作用的变换矩阵在右端,后作用的变换矩阵在左端。

  4. 关于(xfyf)点的缩放变换

  5. 绕(xfyf)点的旋转变换

【转】二维图形的几何变换相关推荐

  1. 计算机图形学:二维图形的几何变换(算法原理及代码实现)

    一.实现方案 对于一个二维图形作平移.旋转.放缩变换,可以转换为在二维坐标系中图形的所有点分别可以对应到在x,y轴方向分别平移tx,ty(平移).绕一点旋转固定的角(旋转).在x,y轴方向分别放缩sx ...

  2. 计算机图形学-二维图形变换 笔记总结与代码实战

    文章目录 1.向量基础知识 2.图形坐标系 3.二维图形变换原理 4.二维图形几何变换 5.窗口视区变换 基本二维几何变换代码 二维复合变换实战-五星红旗绘制 1.向量基础知识 为什么向量如此重要:在 ...

  3. 图形学 ---- 二维几何变换(二维图形矩阵平移,旋转,缩放)

    二维图形几何变换,矩阵计算 前言:对于一个图形的几何变换,对应的是操作到图形中的每一个点! 即对每一个点做出相应的几何变换.比如平移,就是对二维图形的每个点都平移相同的距离:旋转则是对每一个点,基于基 ...

  4. 二维图形几何变换(计算机图形学)

    说明:本实验代码在vs2022下可正常运行,本实验适配于计算机图形学新版(VC++ MFC )第二版 1.实验目的 1)掌握3*3矩阵乘法运算的编程实现 2)掌握平移,比例,旋转三种基本二维几何变换矩 ...

  5. 二维图形的基本几何变换:平移、比例、旋转、反射、错切

    1.有关变换 1.1平移变换 rigid-body transformation不产生形变的移动物体的刚体变换,为P点沿着直线从一个坐标位置到另一个坐标位置的过程,例图: 推导过程: 结果的平移变换矩 ...

  6. 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...

    计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...

  7. 利用Turbo C进行平面二维图形的平移,旋转,缩放,对称

    [实验内容] 以矩阵运算为数学基础,采用旋转.平移.缩放.对称等基本几何变换,对一简单的二维图形做变换. [实验步骤] 1. 编写二维图形基本变换(包括旋转.平移.缩放.对称)的通用子程序: 2. 以 ...

  8. 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等

    接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结 在图形学中,有两大基本工具:向量分析,图形变换.本文将重点讲解向量和二维图形的变换. 5. ...

  9. 二维图形的变换(矩阵形式)

    变化图形就是变化图形的几何关系,即改变顶点的坐标,同时保持图形的原拓扑关系不变(即用结点.弧段和多边形所表示的实体之间的邻接.关联.包含和连通关系不变.如:点与点的邻接关系.点与面的包含关系.线与面的 ...

最新文章

  1. 一周内咸鱼疯传3.6W次,最终被所有大厂封杀
  2. Java字节流文件流的练习
  3. SAP MM供应商主数据表
  4. 2. Web Dynpro for ABAP :Component Controller
  5. 数据挖掘之关联算法Apriori
  6. 【图像处理】MATLAB:退化函数及多种复原方法
  7. HDU - 5934
  8. Controller接口控制器(7)
  9. 征信报告上那些你不知道的事
  10. snmp error on SnmpMgrRequest 40
  11. 新年第一份“欧气”,“中国开发者大调查”第五批中奖名单出炉啦
  12. Factstone Benchmark
  13. 基于Ubuntu虚拟机的Linux驱动开发入门
  14. 一键去除照片水印—INpaint
  15. python中求和公式是什么函数_python中求和函数怎么用
  16. 计算机学院 名言,计算机系网络毕业名言
  17. 微信小程序 | 模仿百思不得其姐
  18. 概率论第五章——总体与样本
  19. 终端操作GitHub代码以及代码的版本控制(develop/master)多图
  20. 获取微信昵称时 过滤特殊字符

热门文章

  1. python怎么返回最初_Python 函数为什么会默认返回 None?
  2. python数据库操作批量sql执行_使用Python批量修改数据库执行Sql文件
  3. python xmxl 无法启动_Python小白到老司机,快跟我上车!基础篇(三)
  4. java 滚动条 滚动_广告条随滚动条的移动而移动
  5. 20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结
  6. Search Insert Position
  7. 2D简单图形相关算法罗列
  8. Linux下安装搜狗拼音输入法
  9. (转)使用异步 I/O 大大提高应用程序的性能
  10. 没有足够的系统内存来运行此查询。