计算机图形学--二维图形变换
目录
概述
平移
对称
旋转
错切
缩放
概述
对于二维图形来讲,所有基本变换均可以通过确定图形的点的平移、对称、旋转、错切以及缩放几种变换组合得到,而在上述几种变换中,除对称变换外,其余变换均可通过点的其次坐标乘变换矩阵得到新位置坐标的方式实现。下面对这些变换方式或变换矩阵进行介绍。
假定点的坐标采取列向量形式,即用旧点坐标右乘变换矩阵得到新点坐标。
平移
平移变换较为简单,假设x方向上的变化量为dx,y方向上的变化量为dy,那么变换结果为:x`=x+dx, y`=y+dy,那么变换矩阵可以构造为:
对称
对于对称变换来讲,直接对点进行操作就很便利了,关于x对称:y坐标取反;关于y对称:x坐标取反;关于原点对称:xy坐标均取反;关于y=x对称:xy坐标互换,关于y=-x对称:x`=-y, y`=-x即可。
旋转
旋转操作与基准点的选择有很大关系,我们不妨首先假定旋转中心在原点。待旋转点的坐标(x, y)且原点指向该点的向量与x轴夹角为α, 长度为l的情况下,该点计划旋转角度为β(逆时针方向为正),那么有以下各式成立:
那么就有:
那么变换矩阵可构造为:
对于旋转中心不在原点的,我们可以先将旋转中心移动到原点,然后旋转,然后再变回去就可以了。
错切
假设x方向上的错切量为sx,y方向上的错切量为sy,那么变换结果为:x`=x+sx*y, y`=y+sy*x,那么变换矩阵可以构造为:
缩放
对于缩放变换,同样存在缩放中心的区别,我们这里首先对缩放中心在原点的情况进行说明,在这种情况下,假设x方向上的缩放比例为sx,y方向上的缩放比例为sy,那么变换后有:x`=sx*x, y`=sy*y,那么变换矩阵可以构造为:
对于缩放中心不在原点的,我们可以先将缩放中心移动到原点,然后进行缩放,然后再变回去就可以了。
计算机图形学--二维图形变换相关推荐
- 计算机图形学-二维图形变换 笔记总结与代码实战
文章目录 1.向量基础知识 2.图形坐标系 3.二维图形变换原理 4.二维图形几何变换 5.窗口视区变换 基本二维几何变换代码 二维复合变换实战-五星红旗绘制 1.向量基础知识 为什么向量如此重要:在 ...
- 计算机图形学——二维图形变换裁剪
算法描述 1.基本变换矩阵 (1).缩放矩阵 void ScaleMatrix(float Sx, float Sy, float m[3][2]) {for (int i = 0; i < 3 ...
- 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...
- 计算机图形学二维图形基本变换实验原理,江苏大学-计算机图形学第三次实验报告-二维图形变换...
<江苏大学-计算机图形学第三次实验报告-二维图形变换>由会员分享,可在线阅读,更多相关<江苏大学-计算机图形学第三次实验报告-二维图形变换(13页珍藏版)>请在人人文库网上搜索 ...
- 计算机图形学——二维图形几何转换
文章目录 一.实验目的 二.实验要求 三.实验步骤 1.打开直线扫面转换MFC项目工程,及其中的直线类CLine. 2.二维点类CP2添加齐次坐标 3.设计实现二维图像几何变换类 1.新建二维图形几何 ...
- 计算机图形学二维图形基本变换实验原理,【实验课件】二维及三维图形基本变换的实现...
实验二 二维及三维图形基本变换的实现 一.实验学时 4学时 二.实验类型 设计型实验 三.实验目的和要求 1. 掌握二维图形变换的原理,对一条直线实现二维基本变换(平移.错切.比例.旋转). 2. 掌 ...
- 计算机图形学-二维图形-几何变换
几何变化 一.概述 图形变换:是一种几何变换,在二维图形处理过程中,常常需要对平面图形的形状,尺寸,显示方向和显示位置进行修改,来达到改变图形的目的. 几何变换:是一种先行变换,对原来图形中的一点坐标 ...
- 计算机图形学 学习笔记(七):二维图形变换:平移,比例,旋转,坐标变换等
接上文 计算机图形学 学习笔记(六):消隐算法:Z-buffer,区间扫描线,Warnock,光栅图形学小结 在图形学中,有两大基本工具:向量分析,图形变换.本文将重点讲解向量和二维图形的变换. 5. ...
- 计算机图形学二维变换知识点,计算机图形学 二维变换及二维.ppt
计算机图形学 二维变换及二维 第三章 二维变换及二维观察 本章主要内容 3.1二维图形的基本变换 3.2窗口视图变换 3.3复合变换 3.4二维图形裁剪 3.5本章小结 3.1 二维图形的基本变换 3 ...
最新文章
- LeetCode实战:除自身以外数组的乘积
- 开会迟到,代码不规范,晚上八点半去健身,跟leader坐电梯自己先出去!某新入行程序员被疯狂吐槽!...
- 张亚勤、张宏江:人工智能的未来是什么?
- [知识储备]用RequireJS +zepto开发微信公众号
- iOS开发网络篇—数据缓存
- WebSocket服务器TransactionID_SiteDetailMap的析构工作
- 所有的软弱,都是昂贵的
- python安装多久_python安装与使用
- 计算机基础知识第八周,计算机系统基础(一):程序的表示、转换与链接(第八周小测验)...
- python定义变量名的时候、需要注意问题_python中将函数赋值给变量时需要注意的一些问题...
- OllyDBG 入门
- smartsvn 破解
- html显示mysql图片路径_从MYSQL数据库取出微信emoji表情在web html上显示
- 决定要收藏,让你白嫖阿里矢量图(iconfont矢量图使用)
- 外贸出口流程全图(转)
- win10桌面计算机快捷没了,大神帮您win10系统桌面计算机快捷图标不见了的技巧...
- 关于投票活动主办方对于微信上投票怎样刷票及微信投票怎样查刷票
- Android带动画进度条简单实现
- Android MQTT TLS/SSL 认证
- mysql ndb安装_MySQL NDB Cluster 安装文档-基于CentOS7搭建