二维图形

1.缩放

假设x和y都缩小到0.5倍


那新的x’ = 0.5x 新的y’ = 0.5y 我们现在通用化一下,假设x方向缩放为Sx,y方向缩放为Sy,并且用矩阵的方法可表示如下

-1 <= Sx <= 1, -1 <= Sy <= 1

2.斜切


我们先假设y的高度是1,顶部x方向移动距离是a。
y始终是不变化的
对于顶部的线,x’ = x + a;
对于底部的线, x’ = x;
对于任意位置,x’= x + a* y ;
转为矩阵

假设y的高度是y0,顶部x方向移动距离是a0。那a = a0 / y0;

这钟斜切是保证一个方向的坐标不变的,还有一种如下


相当于把矩形推到
对于顶部线x’ = x + sinα * y; y’ = cosα * y;
显然对于任意一点,也是如上公式
那转换为矩阵表示为

3.旋转


假设有一个矩阵可以描述旋转变换

然后根据特殊点来求解A、B、C、D;

先根据特殊点(1, 0)得到如下关系

求解后可得

同理再根据特殊点(0,1)求解B、D的值

最后可得

至此我们知道旋转和缩放和斜切都可以用如下形式表示

4.平移


我们假设x方向移动了tx; y方向移动了ty, 则

那就不能表示为

只能表示成

5.小结

那旋转缩放斜切平移通用表达式就只能表示为

但我们不想对平移特殊处理,只想用一个矩阵表示,后面不用加

此处引入齐次坐标
定义 二维点和向量如下

那平移就可以表示为

通用表表达式则变为

至此,所有变换都能用一个矩阵来表示了

6.组合

那如何用变换矩阵表示下面这个图呢


只要先旋转再平移即可

那可不可以先平移再旋转呢?
不行,因为旋转是以原点作为中心点的
先平移再旋转会得到如下结果

不在原点的旋转可以先移回原点,旋转后再移回去

三维图形

此处也引入齐次坐标
定义三维的点和向量为

通用变换为

【注】:文章资料来源于【现代计算机图形学入门-闫令琪】

用矩阵表示图形旋转缩放变换相关推荐

  1. WebGL编程指南-24 同时使用漫反射光和环境反射光、立方体平移旋转缩放变换时漫反射光和环境反射光处理

    1.demo效果 此效果是上一章绘制的立方体基础上,向Y轴方向平移一个单位,然后绕Z轴旋转30度. 如上图,归纳一下物体坐标变换法向量变化的规律如下 平移变换, 法向量不会改变 旋转变换, 大多数情况 ...

  2. WebGL入门(六)-通过坐标计算实现图形的平移、旋转和缩放变换

    通过坐标计算实现图形的平移.旋转和缩放变换 1.图形的平移 1.1平移效果说明 1.2平移原理说明 1.3平移图形的实现步骤 1.3.1在顶点着色器中声明存放平移信息的uniform变量u_Trans ...

  3. OpenGL学习之路6----平移,旋转和缩放变换

    代码放在github上 本文根据教程:ogldev进行扩充学习,一步步从零开始,记录学习历程 一.准备工作 1.1 表示一个矩阵 我们需要在程序中使用矩阵,我们需要用计算机程序语言来表示出来一个矩阵. ...

  4. 图片(旋转/缩放/翻转)变换效果(ccs3/滤镜/canvas)

    以前要实现图片的旋转或翻转,只能用ie的滤镜来实现,虽然canvas也实现,但ie不支持而且不是html标准. css3出来后,终于可以用标准的transform来实现变换,而canvas也已成为ht ...

  5. 【opencv_getRotationMatrix2D、warpAffine 仿射变换实现图像旋转缩放 】

    文章目录 仿射变换的基本概念 几种常见的仿射变换形式: 进行仿射变换:warpAffine 函数 代码示例: 仿射变换的基本概念 仿射变换是一种二维坐标(x, y)到二维坐标(u, v)的线性变换,其 ...

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

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

  7. 游戏对象的移动旋转缩放

    1.创建一个游戏工程, 命名为PRSGo 2.在Project视图中创建3个文件夹, Scene文件夹.Resources文件夹和Script文件夹 3.将当前场景保存为GameScene 4.创建M ...

  8. 计算机图形学图形旋转_计算机图形学翻译

    计算机图形学图形旋转 计算机图形学| 翻译 (Computer Graphics | Translations) Transformation techniques mean to modify th ...

  9. 将三角形绕点b顺时针旋转90度_模型 | 图形旋转与翻折题型汇编

    一文搞定-文章推荐-点击阅读 初中数学必会的12个几何模型(222页Word) 2020年中考数学33个模型全梳理(125页Word) 2021中考18个必考几何模型大梳理(656页PPT) 中考模型 ...

最新文章

  1. 清华大学 现代软件工程 结对编程项目 (一)
  2. C++从vector中删除指定元素
  3. 【转】深入理解JVM—JVM内存模型
  4. 小米路由器mini无线连接HP1010打印机
  5. Nodejs: redis客户端通过mset方法一次性批量写入多个key的值
  6. ubuntu下matplotlib的字体设置(新罗马字体)
  7. css 排版_Web排版的未来:CSS字体4级
  8. TDA4VM中各个CPU对应的名字
  9. mysql中长整型是longint_整型int和长整型long
  10. ai星际探索 爪子_通过特征空间探索实现可解释的人工智能
  11. 手机做了防抓包,如何抓包
  12. 海康摄像机如何用第三方域名/外网固定IP方式远程观看?--官方文档记录
  13. android管理交换机,适用于Android的Visual Studio模拟器 – 运行模拟设备需要内部虚拟网络交换机...
  14. 视频教程-由浅入深Java零基础入门-Java
  15. 一行代码实现微信多开
  16. Java 北大青鸟 第一学期 第四章 选择结构(二) 上级练习+课后作业
  17. msk调制 vhdl_基于FPGA的MSK调制解调器的设计与仿真
  18. 学习用到的英文词汇【英语收藏】
  19. TortoiseSVN (Subversion客户端) 使用手册(中文) (四)
  20. Python基础练习之名片管理器

热门文章

  1. 高性能Javascript(1)
  2. ajax无线遥控器,利用python+tkinter做一个简单的智能电视遥控器
  3. 美肤宝母公司环亚冲刺深交所:年营收超20亿 为胡兴国家族企业
  4. Springboot旅游网的设计与实现xb29f计算机毕业设计-课程设计-期末作业-毕设程序代做
  5. 太敢拍了!20万条弹幕告诉你,《扫黑风暴》为何能掀起收视热潮?
  6. 【Web前端学前体验】HTML+CSS 实战练习-Olay玉兰油官网
  7. 带动画效果的下拉菜单
  8. php头像获取,php获取QQ头像并显示的方法
  9. 职业学校计算机教学创新论文题目,信息技术论文题目大全
  10. 电脑开机时多出来个 Windows PE 操作系统选项? 如何去除掉?