第三章 三维图形的几何变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1001 0001
1000 窗口
0000
0101 0100
1010 0010 0110
21
对线段的两端点分别进行编码。然后根据线段两端 点编码就能方便地判断出线段相对于窗口的位置关系:
22
线段端点编码及其可见性
线段 AB CD EF PQ MN
端点编码
0000 0000 0100 0100 0000 0010 0001 0100 0001 1000
逻辑乘结果 0000 0100 0000 0000 0000
与窗口边 界交点
无
无
有
有
无
可见性 完全可见 完全不可见 部分可见 部分可见 完全不可见
23
①如果线段两端点的四位编码都是0000,则表示两 端点均在窗口内,线段完全可见。
②如果线段两端点的四位编码不全是0000,将线 段两端点的四位编码逻辑相乘,结果不是0000,则表 示线段两端点在窗口边界线外的同侧位置,该线段完 全不可见。
0 0
0 1
10
(3)绕y轴逆时针旋转θ角对应的变换矩阵为
cos 0 sin 0
T
0
1
0
0
sin 0 cos 0
0
0
0
1
11
四、投影变换
投影是把空间几何体投射到投影面上而得到的平面图形, 其分类如下:
12
1、平行投影
投影直线的方向与向量
uuur OP
1
三、三维图形的几何变换
对三维空间的点(x,y,z),其变换可表示为: [x’ y’ z’ 1]=[x y z 1]T
其中,T是一个4×4阶矩阵,即
a11 a12 a13 a14
T a21
a22
a23
a24
aa3411
a32 a42
a33 a43
a34 a44
线段部分位于窗口内
20
编码裁剪法:将窗口及其周围共划分为九个区域,对这九 个区域分别用四位二进制数编码表示。四位编码中每位 (按由右向左顺序)编码的意义如下:
第一位,点在窗口左边界线之 左 为1,否则为0; 第二位,点在窗口右边界线之 右为1,否则为0; 第三位,点在窗口下边界线之 下为1,否则为0; 第四位,点在窗口上边界线之 上为1,否则为0。
相对于xoz平面的对称变换矩阵为
T xoz =
1 0 00 0 1 0 0 0 0 10 0 0 01
6
3、错切变换
1 BC0 D1F0
变换矩阵T= H I 1 0
0 0 01
式中,D、H是图形沿x方向的错切系数; B、I 是图形沿y方向的错切系数;C、F是图形沿z方 向的错切系数
7
4、平移变换
的方向一致,投影平面
为xoy平面,设对象形体
上一点的坐标为(x1,
y1,z1),求得过该点
与投影方向一致的直线
的参数方程为
x
x1
xp
y y1 yp
z
z1
zp
( xp,yp,zp)为投影直线的 向量。
13
该直线与xoy平面的交点坐标为(x2,y2,0),则:
x2
x1
z1
xp zp
因此平行投影y2 变 y换1 关z1系 zy为pp :
投影变换矩阵
1 0 0 0
0
1 0 0
x1
y1
z1
1
xp
yp
0
0
x2
y2
z2 1
zp
zp
0
0 0来自百度文库1
16
(2)俯视图 俯视图是将空间物体先沿x向压缩, 然后绕Y轴顺时针旋转90°。为了与主视图间保持 一定的距离,最后沿x的负向平移M.组合矩阵为:
17
(3)左视图 左视图是将空间物体先沿Y向压缩,然后绕x轴逆
时针旋转90°。为了与主视图间保持一定的距 离,最后沿Y的负向平移M。组合矩阵为
18
第三节 图形裁剪技术
0 0 J0 0 0 01
式中,A、E、J分别为x,y,z三个坐标方向的比例 因子
4
2、对称变换
相对于xoy平面的对称变换矩阵为
10 0 0 T xoy = 0 1 0 0
0 0 1 0 00 0 1
相对于yoz平面的对称变换矩阵为
1 0 0 0
T yoz=
0 100 0 010
0 001 5
2
在功能变换上T可分为四个子矩阵
a11 a12 a13
a21
a22
a23
产生比例、旋转、错切等几何变换
a31 a32 a33
[a41 a42 a43]产生平移变换
a14 a24 产生投影变换 a34
3
1、比例变换
A0 00
变换矩阵T= 0 E 0 0
一、点的裁剪 设矩形窗口的四条边界线是x=x1,x=x2,y=y1,y=y2, 不等式组为
x1 x x2 , y1 y y2
凡符合上述不等式组的点,都是可见图形点,不 符合的,则是不可见图形点。
19
二、线段的裁剪
矢量裁剪法
线段裁剪算法 编码裁剪法
中点分割裁剪法
线段完全落在窗口内 线段与窗口的位置关系: 线段完全位于窗口外
③如果线段两端点的四位编码不全是0000,将 线段两端点的四位编码逻辑相乘,结果是0000,需要 再判断线段与窗口边界是否相交,如果有交点,说明 该线段部分位于窗口内,即部分可见;如果没有交点, 说明该线段位于窗口之外,完全不可见。
24
对于部分可见的线段,需要对线段进行再 分。求出该线段与窗口边界线的交点,重复上 述编码判断,把不在窗口内的部分丢掉。图中 线段PQ被细分后PR段就被丢掉,得到新的段QR, 这时还要对线段QR进行再分割,求出该线段与 窗口下边界线的交点S,直到发现线段RS完全 在窗口内为止。
x1
z1
xp zp
,
y1
z1
yp zp
,
0,1
14
2、正投影---三视图 与二维图形的组合变换一样,可以通过对三维立 体图形顺序进行多种基本变换,来实现复杂的三 维图形变换。
15
(1)主视图:它是将空间物体沿z向压缩而得,因此需 要将物体的坐标乘压缩矩阵
变换矩阵T=
1 0 00 0 1 00 0 0 10 LM N1
8
5、旋转变换
(1)绕z轴逆时针旋转θ角对应的变换矩阵为
cos sin 0 0
sin cos 0 0
T
0
0 10
0
0 01
9
(2)绕x轴逆时针旋转θ角对应的变换矩阵为
1 0
0 0
T 0 cos sin 0 0 sin cos 0