第
This presentation is the property of its rightful owner.
Sponsored Links
1 / 63

第 7 章 图形变换 PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on
  • Presentation posted in: General

第 7 章 图形变换. 7.1 图形变换的数学基础 7.2 窗口视图变换 7.3 图形几何变换 二维几何变换 三维几何变换 7.4 投影变换 7.5 视向变换. 第 7 章 图形变换. 本节要求 : 本节的 教学目标 :弄懂图形变换的原理,尝试图形变换的应用。 本节的 教学效果 :你可以让一个五角星在计算机屏幕上放大缩小并旋转起来。参考例题,可以独立编写图形变换的 C 程序。 本节的 教学要求 :理解教材(孙家广)第 366 页几何变换矩阵的四个子矩阵的作用。陈传波教材的 P146 公式 6 - 1.

Download Presentation

第 7 章 图形变换

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


7

第7章 图形变换

7.1 图形变换的数学基础

7.2窗口视图变换

7.3 图形几何变换

二维几何变换

三维几何变换

7.4 投影变换

7.5 视向变换


7

第7章 图形变换

本节要求:

  • 本节的教学目标:弄懂图形变换的原理,尝试图形变换的应用。

  • 本节的教学效果:你可以让一个五角星在计算机屏幕上放大缩小并旋转起来。参考例题,可以独立编写图形变换的C程序。

  • 本节的教学要求:理解教材(孙家广)第366页几何变换矩阵的四个子矩阵的作用。陈传波教材的P146 公式6-1


7

第7章 图形变换

思考:

  • 是什么?(What)图形变换是计算机图形学的重要内容,它讨论图形的放大、缩小、旋转、错切等变换。图形变换主要讨论变换矩阵。

  • 为什么?(Why)为什么要讨论变换矩阵,因为当对图形进行各种变换时,图形中的点会发生变化,而点对应的矩阵也会发生变化。反过来,当矩阵发生变化时,它所代表的点和图形也发生变化。所以变换了矩阵就变换了图形。

  • 如何做?(How)图形变换的方法是使用矩阵变换。所以本节的重点是讨论使用什么样的变换矩阵和如何进行变换矩阵的运算。


7

第7章 图形变换

思考:

  • Photoshop中的滤镜是如何实现图形变换的?“滤镜\扭曲\切变”功能可以使得图形任意变形,它使用了图形学的“图形变换”算法

  • Word中的3D图形、旋转是如何实现的?

    它使用了图形学的投影变换、旋转变换算法

  • 我们学习图形变换有什么用?

    (1)自己开发应用软件时利用图形学图形变换算法实现新功能。

    (2)更有效地使用和发挥Photoshop等应用软件的功能。

    (3)讲授课程时易懂有深度,所谓知其然,知其所以然。


7

变换的分类

  • 几何变换

    • 平移

    • 旋转

    • 缩放

    • 错切


7

变换的分类

投影变换

  • 正投影(三视图)

  • 轴测投影

  • 透视投影


7

图形与矢量

  • 点的表示:二维图形中的点可以用坐标(x,y)来表示,也可以用矢量[x,y]来表示。

    • 二维 行矢量 [x,y] 三维 行矢量 [x,y,z]

    • 二维 列矢量 三维 列矢量

  • 图形的表示 用nx2 或 nx3 矩阵来表示二维或三维图形上所有n个点。

    二维空间上 三维空间上

    的所有点 的所有点


7

图形的变换

  • 为什么要用矩阵变换?

    • 因为: 当对图形进行各种变换时,图形中的点会发生变化,而点对应的矩阵也会发生变化。反过来,当矩阵发生变化时,它所代表的点和图形也发生变化。

    • 所以: 不容易实现的图形变换可以通过容易实现的矩阵运算来进行,通常将矩阵P乘以一个相应的变换矩阵T,从而得到新矩阵P’,它代表变换后新图形上的各个点的坐标。

图形

矩阵P

图形变换(困难)

P×变换矩阵T(容易)

新图形

新矩阵P’


7

变换方式

  • 图形模式(固定坐标系模式)(讨论)

    • 变换前后点的坐标发生变化,但都是在同一坐标系中。

  • 空间模式(活动坐标系模式)

    • 改变参照系,变换前后是相对不同坐标系的


7

数学基础 1/4

  • 设有两个矢量

  • 矢量和


7

数学基础(2/4)

  • 矢量的数乘

  • 矢量的点积

    • 性质


7

数学基础(3/4)

  • 矢量的长度

    • 单位矢量:长度为1的矢量

    • 矢量的夹角

  • 矢量的叉积


7

数学基础(4/4)

  • 矩阵

    • 阶矩阵

    • n阶方阵

    • 零矩阵

    • 行向量与列向量

    • 单位矩阵

    • 矩阵的加法

    • 矩阵的数乘

    • 矩阵的乘法

    • 矩阵的转置

    • 矩阵的逆


7

变换矩阵

P=[x,y]

  • 点:

  • 变换矩阵:

  • 变换:

  • 变换后的点:

  • 新矩阵:

  • 注意:x’项中有x和y分量,y’项中也有x和y分量,

  • 这意味着x,y共同 对新矩阵P’产生作用。


7

单位矩阵

  • 单位矩阵:

  • 由上式可见变换前后的坐标不变, 因此图形也不变,这是恒等变换。

  • 图形变换子程序中有:[]×T,当T改变时,则变换的结果也发生改变。绘图软件中常把变换矩阵的初始值设为单位矢量。

  • 提示:

    注意变换矩阵的各个元素的作用。下课时总结出规律。


7

比例变换1/2

  • 比例变换:

  • 则:

  • a为x方向的比例因子,

  • d为y方向的比例因子。

  • 当a=d时,x,y方向按相同比例放大(如红线)

  • 当a≠d时,x,y方向按不同比例放大(如绿线)。


7

比例变换2/2

  • 比例变换

    • 以坐标原点为放缩参照点

    • 不仅改变了物体的大小和形状,也改变了它离原点的距离


7

对X轴对称变换

  • 变换矩阵:

  • 则:

  • 图形对x轴进行对称变换


7

对Y轴对称变换

  • 对称变换:

  • 则:

  • 图形对y轴进行对称变换


7

对原点对称变换

  • 对称变换:

  • 则:

  • 图形对坐标原点进行对称变换


7

旋转变换1/2

  • 旋转变换公式的推导

  • X’= R cos(α+θ)

  • = R cos α cos θ-R sin α sin θ

  • = Xcos θ-Ysinθ

  • Y’= R sin (α+θ)

  • = R cos α sin θ+R sin α cos θ

  • = Xsinθ +Ycos θ

  • 绕坐标原点旋转θ角的变换矩阵为:


7

旋转变换2/2

  • 旋转变换

    • 绕坐标原点旋转角度

    • 编程时注意:逆时针θ为正,顺时针θ为负。见手稿P3.3


7

错切变换1/4

  • 错切变换也称为“剪切”, “错位”,“错移”变换。

  • 错切变换使图形沿x轴,或沿y轴错位,直观效果位图形产生x或y方向的倾斜。

  • 错切变换:


7

错切变换2/4

1。x方向错切 (b=0, c≠0)

分析:

1)图形各点的y坐标不变。(高度不变)

2)x’为x和y的函数。

3)c>0 ,则图形沿+x方向错切, c<0,则图形沿-x方向错切见手稿P3.4的例子。见教材P368图732错切。


7

错切变换3/4

  • 2。y方向错切 (b ≠ 0, c = 0)

    分析:

    1)图形各点的x坐标不变。(宽度不变)

    2)y’为x和y的函数。

    3)b>0 ,则图形沿+y方向错切, b<0,则图形沿-y方向错切见手稿P3.6的例子。


7

错切变换4/4

  • 2。X,y方向错切 (b ≠ 0, c ≠ 0)

    分析:

    1)图形同时向xy两个方向错切。

    2)x’为x和y的函数,y’为x和y的函数。

    3)b与c均不为0,见手稿P3.7的例子。


7

A’

A

m

l

平移变换

  • 平移变换

    • 例如:从A平移到A’·

    • 得到结果:

    • 即:

    • 平移变换:


7

平移变换的问题

发现问题:

  • 平移变换: 的运算为加法,

  • 比例变换: 的运算为乘法.

  • 旋转变换: 的运算为乘法.

  • 复合变换:T=T1·T2·T3·T4·T5的运算为乘法.

    分析问题:

  • 不同的变换使用了乘法和加法等不同算法,不利于程序的统一调用。

  • 如果能够将多种算法统一成一种算法,则编程变得方便。

    解决问题:

  • 采用齐次坐标技术可以使所有变换全都使用乘法,即如下的形式:


7

齐次坐标技术

  • 齐次坐标表示法

    • 由n+1维向量表示一个n维向量

    • 采用了齐次坐标技术,图形变换才可以转换为表示图形的点集矩阵与某一变换矩阵相乘这一单一问题。从而可以借助计算机高速计算功能,快速得到变换后的图形。为高度动态的计算机图形显示提供了可能性。

  • 齐次坐标表示法的优点

    • 便于变换合成

    • 便于硬件实现


7

齐次坐标表示的实现

  • 给二维点增加一维,给变换矩阵增加一列。

  • 变换后的点也增加一列。

  • 结果:平移变换也可以使用矩阵乘法来进行计算。

  • 推广:二维

  • 三维


7

z

2

1

x

0

y

齐次坐标的正常化1/2

  • 讨论:点没有唯一的齐次坐标表示

  • 齐次坐标的一般形式:

  • H=1时,为:

  • H=2时,为:

  • 它们都表示二维空间点见右图中的红点。


7

齐次坐标表示的物理含义

  • 只要 和 对应的元素成比例,

  • 则它们对应于二维空间的同一个点。该点对应的齐次坐标为三维空间的一条直线。

  • 该直线上的每一个点都对应于一个二维坐标点(x,y)。


7

z

1

Z=1平面

y

齐次坐标表示的物理含义

  • 齐次坐标表示法用n+1维表示n 维图形的物理含义是:

x


7

齐次坐标的正常化

  • 小结:

    • 只有H=1时,点的齐次坐标x,y才与二维坐标的x,y值相等。

    • 所以应当进行齐次坐标的正常化:


7

组合变换(级联)(1/6)

  • 组合变换:

    • 一个复杂的变换可以转化为多个基本变换,这种方法叫做组合变换。

    • 齐次坐标统一了图形变换的表示形式,为组合变换提供了基础。


7

复合变换及变换的模式(1/6)

  • 关于任意参照点 的旋转变换θ

  • T=T1•T2 •T3 (位移,旋转,-位移)


7

复合变换及变换的模式(2/6)

  • 关于任意参照点 的放缩变换

  • 位移,缩放,-位移


7

关于任意轴的对称变换1/2

  • 关于任意轴的对称变换(平移A1,旋转A2,对称A3,-旋转A4,-平移A5)


7

关于任意轴的对称变换2/2

  • 分析:

    • 步骤为:平移l,m,旋转θ,对x轴的对称变换(这是目的),旋转-θ,平移-l,-m,

    • 运算为:T=T1•T2•T3•T4•T5

  • 解释:为了对称变换T3必须先旋转变换T2,为了旋转变换必须先平移变换T1。进行了对称变换后还应返回原始状态,故原路返回逆向旋转T4,并逆向平移T5

  • 注意:变换顺序影响结果先平移后旋转≠先旋转后平移。见手稿P4.3


7

二维变换小结

  • 陈传波教材P147有公式6-1,变换矩阵中共有4个子矩阵。

  • abcd对图形作缩放、旋转、对称、错切变换,

  • lm对图形作平移变换,

  • qp对图形作投影变换,

  • s对图形作整体变换。

  • acl对x’起作用,bdm对y’起作用,qps对整体起作用。


7

三维几何变换

  • 三维几何变换

    • 三维几何变换是二维几何变换的推广。

    • 三维几何变换在齐次坐标空间中可以用4×4的变换矩阵表示,(x,y,z)点对应的齐次坐标为:(x,y,z,h),其中h是不等于0的任意常数。

    • 变换矩阵:(P42)(孙教材P369)


7

三维齐次坐标

  • 三维齐次坐标

    • (x,y,z)点对应的齐次坐标为

    • 标准齐次坐标(x,y,z,1)

  • 右手坐标系

    • 旋转轴 正的旋转方向

    • xy->z

    • yz->x

    • zx->y

y

x

z


7

比例变换

  • 比例变换

    • 若a =e =j 则:xyz 方向的 缩放比例相同,如图1。

    • 若a≠e≠j 则:立体产生类似变形,如图2。

z

z

x

x

y

y


7

全比例变换

  • 全比例变换矩阵:

  • 变换结果:

  • 需要进行齐次坐标正常化


7

x

y

对xoy平面的对称变换

  • 变换矩阵:

  • 立体对xoy平面对称时,x,y坐标不变,z坐标变化。

z

o


7

对xoz平面的对称变换

  • 变换矩阵:

  • 立体对xoz平面对称时,x,z坐标不变,y坐标变化。

z

o

y

x


7

对yoz平面的对称变换

  • 对yoz平面的对称变换:

  • 立体对yoz平面对称时,y,z坐标不变,x坐标变化。

z

x

y

o


7

绕x轴旋转变换

  • 旋转变换

    • 绕x轴

z

z

绕x轴旋转

x

x

y

y


7

绕y轴旋转变换

  • 旋转变换

    • 绕y轴

z

z

绕y轴旋转

x

x

y

y


7

绕z轴旋转变换

  • 旋转变换

    • 绕z轴

z

z

绕z轴旋转

x

x

y

y


7

平移变换

  • 平移变换

  • l,m,n分别为x,y,z方向的平移量。

z

x

y


7

错切变换

  • 错切变换

    • 错切变换是指立体沿x,y,z三个方向产生错切变形,错切变换是斜轴测投影变换的基础。

    • 主对角线元素全为1,第4行,第4列的其余元素全为0。b,c,d,f,h,I中至少有一个不为0。分为6种形式:

    • 1沿x方向含y分量错切,2沿x方向含z分量错切

    • 3沿y方向含x分量错切,4沿y方向含z分量错切

    • 5沿z方向含x分量错切,6沿z方向含y分量错切


7

沿x含y 错切

  • 沿x含y 错切

  • x的值随着y的增大而增大。

z

x

y


7

沿x含z 错切

  • 沿x含z 错切

  • x的值随着z的增大而增大。

z

x

y


7

沿y含x 错切

  • 沿y含 x 错切

  • y的值随着x的增大而增大。

z

x

y


7

沿y含z 错切

  • 沿y含z 错切

  • y的值随着z的增大而增大。

z

x

y


7

沿z含x 错切

  • 沿z含x错切

  • z的值随着x的增大而增大。

z

x

y


7

沿z含y 错切

  • 沿z含y 错切

  • z的值随着y的增大而增大。

z

x

y


7

J2

z

J

J1

x

y

组合变换

  • 对立体顺序进行多个基本变换,可以完成三维组合变换。

  • 要求:使立体绕J轴旋转θ角

  • 思路:将J轴重合Z轴之后,使立体旋转θ角,然后返回。


7

组合变换

  • 步骤:

    • 1。J轴绕Z轴转φ,成为J1。

    • 2。 J1轴绕X轴转γ,成为J2。

    • 3。立体绕J2轴转θ,达到目的。

    • 4。从J2返回J1。

    • 5。从J1返回J。

J2

J2

z

z

z

J

J1

J1

J1

x

x

x

y

y

y


7

上机习题

内容:

实验指导书“实验二_二维图形几何变换”。

实验要求:

按实验指导书要求。


7

上机心得

心得:

1用新名字复制源程序,源程序不变。

2不用C,D盘。

3使用注释删节不要的部分。

4每次只改动一点,出问题可以立即返回。

5使用在线帮助。

6问同学,问老师。

7跟踪F7,观察watch,等

8不要开太多的窗口,F6切换。

9使用块操作

10同学之间多交流。


7

题外话

  • 寻根求源的必要性

    • 文 盲: 不知其然(无知识,无法应用)

    • 中学生:知其然(记忆知识,可以简单应用)

    • 大学生:知其所以然(掌握知识,可以灵活应用)

    • 研究生:探索所以然(研究知识和方法,可以发展)

  • 本课程的要求和希望:

    • 掌握计算机图形显示的原理和方法。

    • 我能在什么地方使用某个原理和方法。

    • 如何得到一个新算法,我能发明一个新算法吗。


  • Login