图形学复习2——几何变换

图形学复习


CH4 几何变换

4.1 基本二维变换

平移旋转缩放是常见的基本二维变换

(1)二维平移

将二维平面上点P=????xy????平移到P′=????x′y′????=?????x+txy+ty?????,则称T=?????txty?????为平移向量

那么有平移方程:

P′=P+T

(2)二维旋转

将二维平面上点P=????xy????绕原点旋转逆时针旋转θ角得到坐标P′=????x′y′????=????xcosθ?ysinθxsinθ+ycosθ????,则称R=????cosθsinθ?sinθcosθ????为旋转矩阵

那么有旋转方程:

P′=R?P

(3)二维缩放

将二维平面上点P=????xy????按一定比例缩放得到坐标P′=????x′y′????=?????x?sxy?sy?????,则称S=?????sx00sy?????为缩放矩阵

那么有缩放方程:

P′=S?P


4.2 矩阵表示和齐次坐标

(1)矩阵表示

将上述基本变换方程写成统一的格式P′=M1?P+M2,如平移变换可以写成:

P′=????1001?????P+?????txty?????

(2)齐次坐标

上述矩阵表示有矩阵M1和向量M2,格式不是很统一因此引入齐次坐标(xh,yh,h)=(x?h,y?h,h),一般取h=1得到二维坐标(x,y)的规范化齐次坐标(x,y,1)

引入齐次坐标的原因是:

为了使变换的表示法统一:
利用齐次坐标表示位置,可以将所有的几何变换公式用矩阵相乘的形式来表示,便于变换合成并且便于硬件实现

引入齐次坐标后所有的几何变换都可以由3X3矩阵M表示:

????????x′y′1????????=M????????xy1???????

二维平移矩阵MT=????????100010txty1????????,二维旋转矩阵MR=???????cosθsinθ0?sinθcosθ0001???????,二维缩放矩阵MS=????????sx000sy0001????????


4.3 逆变换和复合二维变换

(1)逆变换

对变换矩阵M求逆就得到逆变换矩阵M?1

(2)复合二维变换

先做二维变换M1再做二维变换M2得到复合二维变换二维变换M=M2?M1,即:

P′=M2?M1?P=M?P

复合二维变换是不可交换顺序的,因为矩阵乘法没有交换律

(3)用复合二维变换表示绕某基准点的二维旋转

前面介绍了绕原点的旋转变换,我们可以用复合二维变换表示绕某基准点的二维旋转,即平移对象使基准点平移到原点 → 绕远点旋转 → 平移对象使基准点回到初始位置,设基准点坐标为(xr,yr)则有复合变换矩阵:

M=????????100010xryr1????????????????cosθsinθ0?sinθcosθ0001????????????????100010?xr?yr1????????


4.4 基本三维变换

同样三维变换可以引入齐次坐标和4X4的矩阵表示

三维平移矩阵MT=???????????100001000010txtytz1???????????,三维缩放矩阵MS=???????????sx0000sy0000sz00001???????????

三维旋转比较复杂,分为三维绕轴旋转和一般三维旋转讨论

(1)三维绕轴旋转

三维绕轴旋转在某个坐标轴二维平面内的投影就是二维绕原点旋转

绕z轴旋转矩阵MRz=???????????cosθsinθ00?sinθcosθ0000100001???????????

绕x轴旋转矩阵MRz=???????????10000cosθsinθ00?sinθcosθ00001???????????

绕z轴旋转矩阵MRz=???????????cosθ0sinθ00100?sinθ0cosθ00001???????????

(2)一般三维旋转

一般三维变换是指以三维坐标系任意直线为旋转轴的三维旋转,仿照一般二维旋转我们可以得到以下复合三维旋转实现一般三维旋转的步骤:

  1. 平移对象使其旋转轴通过原点
  2. 旋转对象使其旋转轴和某一坐标重合(一般取z轴)
  3. 绕该轴做指定旋转
  4. 利用2步中逆旋转回到原始方向
  5. 利用1步中逆平移回到原始位置

(3)一般三维对称变换

一般三维对称变换是指以三维坐标系中任意平面为镜面做的对称三维变换,基本思路也是通过复合变换把镜面平面和坐标轴平面重合,做坐标轴平面的对称变换:

  1. 平移对象使其对称平面过原点
  2. 旋转对象使其对称平面与某坐标轴平面重合(一般取xy平面),该步骤一般考虑为让其法向量旋转至和该坐标轴平面重合,而旋转又分成两步:先绕x轴旋转,再绕y轴旋转
  3. 相对于该坐标轴平面做对称变换
  4. 按第2步和第1步中做的变换,反序做反变换

4.5 仿射变换

定义仿射变换矩阵MR=???????????axxayxazx0axyayyazy0axzayzazz0bxbybz1???????????,其他几何变换

都是仿射变换的特例

时间: 2024-10-05 11:22:59

图形学复习2——几何变换的相关文章

计算机图形学 复习笔记

计算机图形学 复习笔记 (个人整理,仅做复习用 :D,转载注明出处:http://blog.csdn.net/hcbbt/article/details/42779341) 第一章 计算机图形学综述 研究内容 图形的概念:计算机图形学的研究对象 能在人的视觉系统中产生视觉印象的客观对象 包括自然景物.拍摄到的图片.用数学方法描述的图形等等 图形的要素 几何要素:刻画对象的轮廓.形状等 非几何要素:刻画对象的颜色.材质等 图形表示法 点阵表示 枚举出图形中所有的点,简称为图像. 参数表示 由图形的

图形学复习

交互式计算机图形学(第五版)1-7章课后题答案 计算机图形学基础答案全 计算机图形学考试重点计算题 What is the difference between Gouraud and Phong shading? Gouraud shading (AKA Smooth Shading) is a per-vertex color computation. What this means is that the vertex shader must determine a color for e

图形学复习3——观察和裁剪

图形学复习 CH5 二维观察 5.1 窗口.视口和二维观察流水线 窗口是指世界坐标系中要显式的区域称,窗口定义了显式的内容 视口是指窗口映射到显示器的区域,视口定义了在什么位置显示 通常将世界坐标系中一部分区域映射到设备坐标系的操作称为观察变换,二维观察变换流水线如下: 模型局部坐标→ 世界坐标 → 观察坐标 -(通过窗口视口描述)→ 规范化观察坐标 → 设备坐标 5.2 裁剪窗口到规范化视口的映射 通常所说的裁剪窗口就是窗口,即世界坐标系中要显示的区域,我们可以选择裁剪窗口的不同形状.大小以及

图形学复习4——光栅化(画线画圆扫描线反走样算法)

图形学复习 CH7 光栅化 前几章介绍了几何处理和裁剪变换,接下来的步骤就是光栅化 光栅化是将形式表示的几何图元转换为阵列表示的数据片元的过程,片元中每一个像素对应帧缓冲区中的每一个像素 7.1 线段生成算法 (1)DDA画线算法 设直线表达式为y=mx+b,输入直线两端点坐标(x0,y0)和(xend,yend),可以计算出m=yend?y0xend?x0和b=y0?m?x0 DAA是基于微分运算的线段生成算法,其主要计算式便是δy=mδx: 若|m|≤1则x方向的变化大于y方向的变化,以x方

图形学复习1——图形学图形系统概述与对象表示

图形学复习 CH1 图形学概述 1.1 图形学 计算机图形学是研究图形的输入.模型的构造和表示.图形数据库管理.图形的操作以及以图形为媒介的人机交互的方法和应用的一门综合性学科 其最主要的任务是:研究如何用数据模型生成数字图像,具体来说有以下几个方面: 图形建模 几何处理 光栅化 片元处理 等等 计算机图形一般有两种表示方法: 图像:枚举图形中所有的点构成的2维点阵 图形:用图形的形状参数(参数方程.端点坐标等)和属性参数(颜色.线形等)来表示的参数模型 图形学中主要用后者表示计算机图形 CH2

几何变换详解

在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),旋转变换(Rotation).以下讨论皆针对DirectX,所以使用左手坐标系. 平移变换 将三维空间中的一个点[x, y, z, 1]移动到另外一个点[x', y', z', 1],三个坐标轴的移动分量分别为dx=Tx, dy=Ty, dz=Tz, 即 x' = x + Tx y' = y + Ty z' = z + Tz 平移变换的矩阵如下. 缩放变换 将模型放大或者缩小,本质也是对模型上每

图像处理复习1——图像基础和空域增强

图像处理复习 CH2 图像基础 2.1 噪声 噪声定义为妨碍人们感觉器官对所接收的信源信息理解的因素,噪声有以下几个常见分类: (1)按统计理论分类 平稳噪声:统计特性不随时间变化 非平稳噪声:统计特性随时间变化 (2)按频谱形状分类 白噪声:频谱均匀分布 三角噪声:频谱与频率平方成正比 (3)按幅度分布形状分类:高斯噪声.雷利噪声 (4)按噪声与信号关系分类:加性噪声.乘性噪声 处理噪声时往往假设噪声是加性噪声并且噪声和信号是相互统计独立的 2.2 成像基础模型 假设投影成像有以下模型: 则由

OpenGL基础图形编程

一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充满信息的世界中,能否尽快地理解并运用这些信息将直接影响事业的成败,所以我们需要用一种最直接的形式来表示这些信息. 最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技术使我们能够再现三维世界中的物体,能够用三维形体来表示复杂的信息,这种技术就是可视化(Visualization)技术.

计算机图形学几何变换基础

一.空间 1.向量空间 向量空间包含两类实体:标量和向量.关于向量还定义了两种运算:数乘运算和加法运算.设\(u,v,w\)是向量空间中的三个向量, \(k\)是该空间的一个标量.则向量间的加法运算是封闭的,即 \[ u+v \in V ,\quad \forall u,v \in V \] 加法满足交换律,即 \[ u+v=v+u \] 存在一个0向量,满足 \[ u+\textbf{0}=u, \quad \forall u \in V \] 数乘运算满足分配律 \[ k(u+v)=ku+k