第7章三维图形的显示基础 图形的集合变换、投影与就剪 赵立强
第7章 三维图形的显示基础 ----图形的集合变换、投影与裁剪 赵立强
7.1三维图形的几何变换 三维图形的几何变换、投影与裁剪三步骤是三维图形的显示基础,又 成为三维图形的观察运算 7.1三维图形的几何变换 与二维图形几何变换类似,三维图形几何变换也在其对应的齐次坐标 系中进行。变换矩阵形式为: AB C0 DEF 0 T GH 0 LM N 三维几何变换包括平移、旋转、比例、错切、反射、逆变换、坐标变 换。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵 的乘积。下面矩阵乘积来描述三维几何变换。并记变换前物体的坐标 为[x,y,z1l;变换后物体的坐标为[x′,y′,z’,1]。变换记为 [x',y,z',1]=[x,y,2]·T 「<p
7.1 三维图形的几何变换 三维图形的几何变换、投影与裁剪三步骤是三维图形的显示基础,又 成为三维图形的观察运算。 7.1 三维图形的几何变换 与二维图形几何变换类似,三维图形几何变换也在其对应的齐次坐标 系中进行。变换矩阵形式为: = 1 0 0 0 L M N G H I D E F A B C T 三维几何变换包括平移、旋转、比例、错切、反射、逆变换、坐标变 换。三维几何变换可以表示为公式,或三维齐次坐标和4×4变换矩阵 的乘积。下面矩阵乘积来描述三维几何变换。并记变换前物体的坐标 为[x,y,z,1];变换后物体的坐标为[x′,y′,z′,1]。变换记为: [x , y ,z ,1] = [x, y,z,1]T
平移变换 通过参数(L,M,N),可以将点(xyz)平移至点(x'y,z,1),其矩阵 变换表达式: 1000 0 [x',y3,z',1]=[x,y21] 001( 00 LMw 「<p
一、平移变换 通过参数(L,M,N),可以将点(x,y,z)平移至点( x′,y′,z′,1 ),其矩阵 变换表达式: = 1 0 0 1 0 0 1 0 0 1 0 0 0 [ , , ,1] [ , , ,1] L M N x y z x y z x z y L N M
二、比例变换 矩阵中对角元素提供对图形比例变换的功能,因此一个点相对于原点进 行比例变换,其矩阵变换表达式: A000 [x,y,z,1=[x,y,z,1] 0E00 000 000 Z A=1.25 E=2 Z=15 「<p
二、比例变换 矩阵中对角元素提供对图形比例变换的功能,因此一个点相对于原点进 行比例变换,其矩阵变换表达式: = 0 0 0 1 0 0 0 0 0 0 0 0 0 [ , , ,1] [ , , ,1] I E A x y z x y z x z y A=1.25 E=2 Z=1.5
三、错物变换 错切变换是画斜投影图形的基础(一般不用它来构造复杂图形),按错切的方 向不同,它可分为6种不同的基本形式,下面介绍其中的两种常用形式: 1B C 0 DfO ,1]=[x,y,z GH 10 000 1.沿X方向含Z分量的一个错切变换 用此矩阵对长方体进行错切变换,其效果如图所示。当G>0时,沿十X方向产生 错切;当G<b时,沿X方向产生错切;当G为常数时,则Z坐标值越大,其错切 分量也越大。Z Z 这种错切变换的矩阵形式为: 1000 0100 T G010 000 长方体沿X,方向含Z分量的错切变换效果
三、错切变换 x z y x z y 错切变换是画斜投影图形的基础(一般不用它来构造复杂图形),按错切的方 向不同,它可分为6种不同的基本形式,下面介绍其中的两种常用形式: 1.沿X方向含Z分量的一个错切变换 用此矩阵对长方体进行错切变换,其效果如图所示。当G>0时,沿十X方向产生 错切;当G<b时,沿—X方向产生错切;当G为常数时,则Z坐标值越大,其错切 分量也越大。 = 0 0 0 1 1 0 1 0 1 0 [ , , ,1] [ , , ,1] G H D F B C x y z x y z 长方体沿X,方向含Z分量的错切变换效果 这种错切变换的矩阵形式为: = 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 G T
三、错物变换 2.沿y方向含Z分量的一个错切变换 用此矩阵对长方体进行错切变换,其效果如图所示。当H>0时,沿+y 方向产生错切;当H<0时,沿y方向产生错切;当H为常数时,则Z坐 标值越大,其错切分量也越大 这种错切变换的矩阵形式为: J T= 0H10 000 长方体沿;y方向含Z分量的错切变换效果 「<p
三、错切变换 x z y x z y 2.沿y方向含Z分量的一个错切变换 用此矩阵对长方体进行错切变换,其效果如图所示。当H>0时,沿+y 方向产生错切;当H<0时,沿—y方向产生错切;当H为常数时,则Z坐 标值越大,其错切分量也越大。 这种错切变换的矩阵形式为: = 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 H T 长方体沿;y方向含Z分量的错切变换效果
四、反射变换 在二维空间中,图形的反射变换是图形相对于直线进行的变换,即它在直线 的相反一侧生成一个镜像(对称)图形。与此相似,三维反射是一个点相对一个平 面(镜面进行的变换,它在该平面的另一侧生成一个镜像点。显然,若这个平 面是x平面或记为z=0平面),则一个点的镜像意味着新点的x,y坐标保持不 变,而其z坐标绝对值大小不变,但符号相反,如图所示。其矩阵变换表达式为 1000 0100 I,y, z,1=lx,y, 2,l P 0 000 同理,相对于YZ平面(x=0),XZ平面(y=0)的反射变换矩阵 1000 0100 0-100 0010 0010 000 0001 「<p
四、反射变换 在二维空间中,图形的反射变换是图形相对于直线进行的变换,即它在直线 的相反一侧生成一个镜像(对称)图形。与此相似,三维反射是一个点相对一个平 面(镜面)进行的变换,它在该平面的另一侧生成一个镜像点。显然,若这个平 面是xy平面(或记为z=0平面),则一个点的镜像意味着新点的x,y坐标保持不 变,而其z坐标绝对值大小不变,但符号相反,如图所示。其矩阵变换表达式为: 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 [ , , ,1] [ , , ,1] = − = z x y z x y z 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 = − x 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 = − y 同理,相对于YZ平面(x=0),XZ平面(y=0)的反射变换矩阵: x z y P P’ O
五、旋转变换—绕坐标轴的旋转 绕坐标轴的旋转 维空间中的一点绕Z轴旋转时,其z坐标值固定不变,只改变其x,y坐标值 而它的x,y坐标变化规律与二维平面空间中点的旋转规律基本类似,因此,点在 三维空间中绕Z轴旋转的矩阵变换表达式为 P cos0 sing 0 -sin 0 cos600 [x,y,z1={x,y,=,1 0 00 这里规定,0旋转方向与Z轴正向相同,则0>0 P 同理,点绕X,y轴正向旋转的变换矩阵分别为: 0 007「cos0sinb0 0 cos 0 sin 0 0 -sin 0 cos00-sin 00 cos0 0 P 000 000 J xD I
五、旋转变换-- 绕坐标轴的旋转 1.绕坐标轴的旋转 三维空间中的一点绕Z轴旋转时,其z坐标值固定不变,只改变其x,y坐标值。 而它的x,y坐标变化规律与二维平面空间中点的旋转规律基本类似,因此,点在 三维空间中绕Z轴旋转的矩阵变换表达式为: z x y z x y z − = 0 0 0 1 0 0 1 0 sin cos 0 0 cos sin 0 0 [ , , ,1] [ , , ,1] 这里规定,θ的旋转方向与Z轴正向相同,则θ>0。 同理,点绕X,y轴正向旋转的变换矩阵分别为: y − 0 0 0 1 sin 0 cos 0 0 1 0 0 cos 0 sin 0 x − 0 0 0 1 0 sin cos 0 0 cos sin 0 1 0 0 0 y x z P P’ O θ y z P P’ O θ x y x z P θ P’ O
五、旋转变换绕空间任意轴旋转 讨论空间一点绕过坐标系原点轴线(非坐标轴)的旋转。设这个过原点 轴的另一个端点为Qq1,q2,q3),那么点P绕QQ轴的旋转可以通过前面 介绍的基本变换技术的组合得到 对于空间轴线OQ,它的方向由其方向余弦定义,即有: cosa=q1/ q1+q2+q3 cosB=g2/√q2+q2+q b=cos B cosy=q3/q1+q2+q C=cOS r 现在再定义一个单位向量O,使它与OQ轴具有相同的轴向,即有: 那么点P绕OQ轴旋转与其绕O轴旋转,两者效果是一样的。这里应注 意,旋转角0的正向与其旋转轴之间的相互关系应符合右手螺旋法则。 Qq1qq3) Ma, b, c) (a)点P绕OQ轴旋转θ角度 (b)单位向量与其方向余弦 图7-6为使O轴与Z轴重合
五、旋转变换—绕空间任意轴旋转 讨论空间一点绕过坐标系原点轴线(非坐标轴)的旋转。设这个过原点 轴的另一个端点为Q(q1,q2,q3),那么点P绕OQ轴的旋转可以通过前面 介绍的基本变换技术的组合得到。 对于空间轴线OQ,它的方向由其方向余弦定义,即有: = + + = + + = + + 2 3 2 2 2 3 1 2 3 2 2 2 2 1 2 3 2 2 2 1 1 cos / cos / cos / q q q q q q q q q q q q 现在再定义一个单位向量OI,使它与OQ轴具有相同的轴向,即有: = = = cos cos cos c b a 那么点P绕OQ轴旋转与其绕OI轴旋转,两者效果是一样的。这里应注 意,旋转角θ的正向与其旋转轴之间的相互关系应符合右手螺旋法则
旋转分祈 如果让P点与O轴一起旋转,结果使O轴与坐标系的Z轴重合, 么此时P点变成了P点,O轴变成了oI轴,此时再让P点绕O轴旋 转0角之后,又让P点与OI轴一起旋转,使OI轴还原至OI轴的原来 位置,则这时P”点的旋转效果与直接让P点绕O轴旋转0角的效果一 样 步骤: 1、使OI轴绕X轴旋转ρ1到O'; 2、使OP轴绕Y轴旋转-q2到Z轴; 3、饶Z轴旋转0角; 4、饶Y轴旋转q2还原; 5、饶X轴旋转-1还原; 图7-6为使O轴与Z轴重合 而作的两次旋转 「<p
旋转分析 如果让P点与OI轴一起旋转,结果使OI轴与坐标系的Z轴重合, 么此时P点变成了P’ 点,OI轴变成了oI’ 轴,此时再让P’点绕OI’ 轴旋 转θ角之后,又让P’点与OI’ 轴一起旋转,使OI’ 轴还原至OI 轴的原来 位置,则这时P’ 点的旋转效果与直接让P点绕OI轴旋转θ角的效果一 样。 步骤: 1、使OI轴绕X轴旋转φ1到OI’; 2、使OI’ 轴绕Y轴旋转-φ2到Z轴; 3、饶Z轴旋转θ角; 4、饶Y轴旋转φ2还原; 5、饶X轴旋转-φ1还原;