第3章形的基本算 立强
第3章 图形的基本运算 赵立强
3.1形的几何变换 为了使图形几何变换的形式规范,其矩阵变换适合硬件方式实现,现 在一般都在齐次坐标系中对图形进行几何变换。二维齐次坐标系的定义如 下 二维平面中的一个点P(x,y),在齐次坐标系中可表示成P(wx,wy,wz,w), 其中w是一个不为0的常量;反过来,只要能给定一个点的齐次坐标 P(x,y',w),就能得到这个点的二维直角坐标x=x/w,y=y'/w。在本小节 中w总取常数1(即齐次坐标的“归一化”)。 可以把齐次坐标理解成将二维平面作w的比例变换之后,嵌入到三维空 间里的某个平面中(其中三维空间的z=w=1) ab 0 在齐次坐标系中,几何变换的齐次变换矩阵形式为r=CD0 因此对一个点(x,y)进行几何变换可 L M 1 用变换矩阵方式表示为: 变换后的点=变换前的点变换矩阵[xy1=[xy1·T 写成标量形式为:x=Ax+Cy+L y= Bx t Dy+ M <匚p」
3.1 图形的几何变换 为了使图形几何变换的形式规范,其矩阵变换适合硬件方式实现,现 在一般都在齐次坐标系中对图形进行几何变换。二维齐次坐标系的定义如 下。 二维平面中的一个点P(x,y),在齐次坐标系中可表示成P(wx,wy,wz,w), 其中w是一个不为0的常量;反过来,只要能给定一个点的齐次坐标 P(x’,y’,w),就能得到这个点的二维直角坐标x=x’/w,y=y’/w。在本小节 中w总取常数1(即齐次坐标的“归一化”)。 可以把齐次坐标理解成将二维平面作w的比例变换之后,嵌入到三维空 间里的某个平面中(其中三维空间的z=w=1)。 在齐次坐标系中,几何变换的齐次变换矩阵形式为 因此对一个点(x,y)进行几何变换可 用变换矩阵方式表示为: 变换后的点=变换前的点·变换矩阵 写成标量形式为:
、几何变换常開的齐次变换阵 下面考虑在齐次坐标系中对图形进行平移、比例、反射、旋转和错 切等变换以及相应地变换矩阵。 1.平移变换矩阵 100 如果点进行平移变换,则其矩阵可简化为:T=010 这里L,M为点从坐标系当前位置分别沿x,y轴正向移动的分量。若L, ②M值为正,则实际移动方向与此规定一致;若L,M值为负,则实际移动 方向与此规定相反,见图 Y M>0 L>0 图31点的平移变换效果□
一、几何变换常用的齐次坐标变换矩阵 下面考虑在齐次坐标系中对图形进行平移、比例、反射、旋转和错 切等变换以及相应地变换矩阵。 1.平移变换矩阵 如果点进行平移变换,则其矩阵可简化为: 这里L,M为点从坐标系当前位置分别沿x,y轴正向移动的分量。若L, M值为正,则实际移动方向与此规定一致;若L,M值为负,则实际移动 方向与此规定相反,见图
2.比例变换阵 如果点相对坐标系原点进行比例变换,则其矩阵可简化为: A00 T=0D0 若A=D=1,则为恒等变换 若A=D>1,则图形放大 001 若A=D<1,则图形缩小;若AD,则会引起图形比例变换失真,见图。 B 1 B C O 1234X <匚p」
2.比例变换矩阵 如果点相对坐标系原点进行比例变换,则其矩阵可简化为: 若A=D=1,则为恒等变换; 若A=D>1,则图形放大; 若A=D<1,则图形缩小;若AD,则会引起图形比例变换失真,见图
3.厦射变换矩阵 如果点相对于y轴、X轴或原点进行反射变换,其变换矩阵分别为 100 0-10 001¥轴对称 001 X轴对称 100 对点P进行这三种反 0-10 射变换所产生的效果 001 见图。 原点对称 「<p
3.反射变换矩阵 如果点相对于y轴、X轴或原点进行反射变换,其变换矩阵分别为: 对点P进行这三种反 射变换所产生的效果 见图。 x x y x y y
4.旋变换阵 如果点相对坐标系原点旋转角度,则其变换矩阵为 cos0 sing 0 T=-sin@ cos0 0 00 其中为旋转角,当逆时针方向旋转时为正,否则为负,见图。 5.错切变换矩阵 二维错切变换使用较少,该 P 变换留在三维图形的几何变换 中再讨论。 <匚p」
4.旋转变换矩阵 如果点相对坐标系原点旋转角度,则其变换矩阵为 其中为旋转角,当逆时针方向旋转时为正,否则为负,见图。 5.错切变换矩阵 二维错切变换使用较少,该 变换留在三维图形的几何变换 中再讨论
6.逆变换矩阵 所谓逆变换就是与原变换过程方向相反的一种变换,它的矩阵表示 形式如下。 设有两个矩阵T1,T2,其中T1已知,当 T1T2=I(I为单位矩阵) 时,称这两个矩阵互逆,此时们的逆矩阵T2可表示为T2=T1。 逆矩阵的意义在于,当一个点通过矩阵T变换成另一个点之后,当 再用该矩阵T1的逆矩阵T2对它进行变换,则这个点又还原到其原来的位 置上。 前面介绍的平移、比例、反射、旋转、错切等变换都有其逆变换。 <匚p」
6.逆变换矩阵 所谓逆变换就是与原变换过程方向相反的一种变换,它的矩阵表示 形式如下。 设有两个矩阵T1,T2,其中T1已知,当 T1·T2=I (I为单位矩阵) 时,称这两个矩阵互逆,此时T1的逆矩阵T2可表示为T2=T1 -。 逆矩阵的意义在于,当一个点通过矩阵T1变换成另一个点之后,当 再用该矩阵T1的逆矩阵T2对它进行变换,则这个点又还原到其原来的位 置上。 前面介绍的平移、比例、反射、旋转、错切等变换都有其逆变换
二图形的几何变换 有了点的齐次坐标以及变换矩阵之后,就可以用这种矩阵的组合方 式表示一个图形连续进行的几何变换,以产生所需要的结果,下面说明 如何完成这种组合运算。 1.相对任意点的旋转与放大 例3-1一个由顶点(10,20),(20,20)和(15,30)所定义的三角形, 让它相对于点Q(5,25)正向旋转30°,求其变换后的三角形 第一步,平移Q点至坐标系原点,三角形三个顶点的原齐次坐标为 x1y11「102011故此时变换后其三个顶点的齐次坐标为 x2y21=20201 1们2【:;1u x3y31 15301」 0 P(15.30) 15-5 Q(5,25) P:(10.20)P2(20, 0|20 ①平移 (10.5 0--hk <匚p」 (5,-5) (15-5)
二、二维图形的几何变换 有了点的齐次坐标以及变换矩阵之后,就可以用这种矩阵的组合方 式表示一个图形连续进行的几何变换,以产生所需要的结果,下面说明 如何完成这种组合运算。 1.相对任意点的旋转与放大 例3-1 一个由顶点(10,20),(20,20)和(15,30)所定义的三角形, 让它相对于点Q(5,25)正向旋转30° ,求其变换后的三角形。 第一步,平移Q点至坐标系原点,三角形三个顶点的原齐次坐标为 故此时变换后其三个顶点的齐次坐标为
第二步,三角形相对坐标系原点旋转30°角,此时该三角形三个顶 点的齐次坐标为 5i「).80.56 rsy? I l5-5 -0.50.%61 15.493,17 3: I S H 0t: 9.4 第三步,参考点Q还原至原位置,此时三角形三个顶点的齐次坐标为 6.83-1.831【001!11.2323.171 氵了2,y1 15.4}3.171 01)i=:20.428.7! ” 6.L69.4411L5251 1.H634.331 Y+(1.16.343 086050 30 301 旋转-0508660 (204928.17) 11.23,23.17 100 010 5251 10(616944 平移 (5.49,3.7 ()2030 83,-1.83 <]『
第二步,三角形相对坐标系原点旋转30°角,此时该三角形三个顶 点的齐次坐标为 第三步,参考点Q还原至原位置,此时三角形三个顶点的齐次坐标为
2.相对色定轴的厦射变换 例3-2一个三角形相对轴线y=bx+a作反射变换,求相应的变换矩阵。 第一步,将点(0,a)平移至坐标系原点,见图(b)。其变换矩阵为: 00 T=010 第二步,将轴线y=bx顺时针方向旋转角θ,使其落在x轴上,见图(c)。角 度θ的计算: lan g-it sin20--2sin0cxs9--2h 28=(x20-si26= 其变换矩阵为: Cos n=:sing (osi O <匚p」
2.相对任意轴的反射变换 例3—2 一个三角形相对轴线y=bx+a作反射变换,求相应的变换矩阵。 第一步,将点(0,a)平移至坐标系原点,见图(b)。其变换矩阵为: 第二步,将轴线y=bx顺时针方向旋转角θ,使其落在x轴上,见图(c)。角 度θ的计算: − = 0 1 0 1 0 1 0 0 a T 其变换矩阵为: