当前位置:文档之家› 计算机图形学简明教程

计算机图形学简明教程

计算机图形学简明教程
第四章 变换和裁剪
综述
本章的目的:
1、用数学的方法推导出物体的几何形状在不同观察方 式下所呈现的视图之间的几何关系,即几何变换,如 平移、放缩、旋转等。
2、如何求出图形在窗口内的部分进行显示,或者说显 示图形时如何把窗口外的部分裁剪掉
主要章节
4.1 变换的数学基础 4.2 图形显示中的基本概念 4.3 几何变换 4.4 裁剪
AB(aijbij)44 a a a4 3 21 1 1 b b b3 4 21 1 1
a22b22 a32b32 a42b42
a23b23 a33b33 a43b43
a24b24 a a4 34 4 b b3 44 4
4.1.3 矩阵-矩阵数乘和乘法
(2)矩阵的数乘 是指任意的实数k与A的每个元素相乘,即
4.3.1 基本变换-平移
❖点(x′,y′,z′)由点(x, y, z)在x, y和z轴方向分别 移动距离Δx, Δy和Δz得到。两点坐标间的关系

x′=x+Δx
y′=y+Δy (4.1)
z′=z+Δz 其矩阵形式为
x 1 0 0x x y 0 1 0yy z 0 0 1z z
4.3.1 基本变换-放大和缩小
25 10 6 0
B
3
1 1 0
5 2 1 0
0
0 0 1
25106 01 2 4 0 1 0 0 0
BA
3
1 1 02 5 7 00 1 0 0
5 2 1 01 0 5 0 0 0 1 0
0
0 0 10 0 0 1 0 0 0 1
计算机图形学简明教程
4.2 图形显示中的基本概念
– 定理:矩阵A可逆的充分必要条件是其行列式不为0。
例如:
1 2 4 0
A
2
5
7
0
1 0 5 0
0
0
0
1
1 2 4 025106 0 1 0 0 0 AB 2 5 7 0 3 1 1 00 1 0 0
1 0 5 0 5 2 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1
计算机处理图形的过程
近平面
Yp 窗口坐标系
近平面
世界坐标系 Y y2
x2
z2
y1 X
Z
z1 x1
模型坐标系
窗口
Xp 屏幕坐标系
世界坐标系 的三维变换
视口
投影
对窗口 剪裁
窗口至视 口的变换
图4.6 图形的显示流程
显示或 绘图
计算机图形学简明教程
4.3 几 何 变 换
模型变换说明
❖ 观察一个物体,由于观察角度或物体位置的改变, 我们会看到不同的画面。
k ux
k U
k
u
y
k u z
4.1.2 矢量-矢量的模、单位矢量
(3)矢量的模 设三维空间的一组基如:
1 0 0 e1 0,e2 1,e3 0
0 0 1
矢量u可表示为:
ux
U
uy
uxe1
uye2
uze3
uz
矢量的模指矢量的长度定义为: U ux2uy2uz2
(4)单位矢量
也就是说两个互相垂直的矢量(矢量正交)的点乘为0
4.1.2 矢量-矢量的叉乘
(6)矢量的叉乘
矢量的叉乘表示为UV,它构
i jk
成了一个新矢量.其中i,j,k分 UVux uy uz b1ib2jb3k
别为ox,oy,oz轴的单位向量.
vx vy vz
b 1 u y v z v y u x ,b 2 v x u z u x v z ,b 3 u x v y v x u y
轴的方向(Ax,Ay,Az)。
▪ 首先建立一个新的坐标系Ouvw,Ow轴的指向和(Ax,Ay,Az)
的指向一致.
▪ 先把要作旋转变换的对象从坐
k a11 k a12 k a13 k a14
k A k a21
k a22
k a23
k
a2
4
(3)矩阵的乘法
k k
a3 a4
1 1
k a32 k a42
k a33 k a43
k k
a3 a4
4 4
矩阵A的列数和矩阵B的行数相同时可以相乘.设A为
m*n矩阵,B为n*p矩阵,c为乘积矩阵,则c为m*p阶阵.
面。把世界坐标系中的图形变换到观察坐标系中,从
而可大大简化投影变换。
计算机处理图形的过程
▪ 视见体:有时为了突出图形的某一部分而只显示部分 图形,这时可以定义一个视见体,限定要绘制的图形 区域。一般是一个四棱台或四棱柱 。
▪ 窗口:视见体投影到 投影平面上形成的一 个矩形
▪ 视口:在投影平面上
形成X′Y′U′V′。
a11 a12 a1n
A
a21
a22
a2n
am1
am2
amn
★设有两个4*4矩阵:A=(aij)4*4,B=(bij)4*4
(1)矩阵的加法
– 两个矩阵的阶数(行数和列数)相同时,矩阵对应位置的 元素相加得到的矩阵称为矩阵的和,记作A+B。
a11b11 a12b12 a13b13 a14b14
叉乘的图形如图4.4,性质如下: (1). UVUVsin
(2).矢量 U×V垂直于矢量U 和V, 三矢量的方向遵从右手系。
U×V V
θh U
图4.4 U×V的模
4.1.3 矩阵-矩阵定义和加法
★定义:m*n阶矩阵A定义为:
★矩阵A也记为Am*n或(aij)m*n,当 m=n时称为n阶矩阵或n阶方阵.
计算机图形学简明教程
4.1节 变换的数学基础
p(x, y)
4.1.1 点和距离
一点 p(x,y,z) 在坐标系中的坐标,
就是该点在坐标轴上的垂直投 影 ,(图4.1.二维平面上的点p(x,y)y
在x,y轴上的投影).
p (x,y)
设三维空间中的两个点 p1(x1,y1,z1)和p2(x2,y2,z2) 则两点之间的距离为:
▪ 先把整个图形沿x, y和z方向平移–xp, –yp和–zp, 由pivot规定的相似中心就移到了坐标原点.
(xp,yp,zp)
以图形中心为中心进行缩放的步骤
4.3.1 基本变换-放大和缩小
❖ 以图形中心为中心的缩放变换
▪ 然后再对每以一图点形按中照心式为中(4心.3的)作缩变放换. ▪ 最后再沿x, y和z方向平移xp, yp和zp,把经过缩
x 图4.1二维点的坐标
|p 1 p 2 |(x 2 x 1 ) 2 (y 2 y 1 ) 2 (z 2 z 1 ) 2
4.1.2 矢量
定义:矢量是一个n元组,在坐标系中它对应于n维空 间的一个点,这个点 可以代表物体在空间的位置, 也可以代表其运动状态等。
★矢量和 ★矢量的数乘 ★矢量的模 ★单位矢量 ★矢量的点乘 ★矢量的叉乘
n
cij ail blj l 1
4.1.3 矩阵-单位矩阵和矩阵的转置
(4)单位矩阵
– n阶矩阵主对角线元素均为1, – 其余各元素均为0, – 该矩阵为n阶单位矩阵,记为In.
(5)矩阵的转置
1 0 0 0
I4
0
0
1 0
0 1
0
0
0
0
0
1
– 把一个矩阵的行、列互换得到的矩阵,记为AT
设u的单位矢量为 则:
U
UU U
4.1.2 矢量-矢量的点乘
(5)矢量的点乘
矢量 U和 V的点乘表示为 UV .定义如下:
U Vuxvxuyvyuzvz
夹角的余弦定义如下:
cos U V
U V
U
点乘的几何意义如图4.3所示
θ
U V0 U V
由以上可得点乘的如下性质:
V
图4.3 U·V即U在V上的投影乘以V 的模
x2
y1
观察坐标系
Zv
z2
X
oxyz
Z
z1
x1 模型坐标系
▪ 观察坐标系:在图形显示或处理过程中,用户往往需
要从不同角度对图形进行观察,需要产生不同角度的
视图,如果在世界坐标系中产生不同角度的视图,投
影变换所涉及的计算将相对复杂。此时可根据视图所
在的投影平面建立一个新的坐标系,称为观察坐标系,
使世界坐标系中的任意投影平面为观察坐标系中的平
4.3.1 基本变换-旋转
同理: 绕y和x轴的旋转变换公式分别为
x cos 0 sinx
y 0 1 0 y
z sin 0 cos z

x 1 0 0 x
y0 cos siny z 0 sin cos z
4.3.1 基本变换-旋转
❖ 绕过原点的轴旋转
▪ 绕空间任一通过坐标原点的轴,做旋转变换,需给出这根
❖设点(x, y, z)经缩放变换后得点(x′,y′,z′)。两 点坐标间的关系为
x sx x y sy y z sz z
( 4.2)
x sx
y
0
z 0
0 0x sy 0 y 0 sz z
(4.3)
图4.7 放缩
Hale Waihona Puke 4.3.1 基本变换-放大和缩小
❖ 以图形中心为中心的缩放变换
▪ 为了使缩放以变图换形后中心的为图中形心仍的在缩原放位置附近,可另 外定义一个相似中心点(xp,yp,zp).
4.3.1 基本变换-旋转
❖设给定点的坐标为(x, y, z)= (rcos , rsin , z), 它绕z轴旋转α角后,可得点(x′, y′, z′)
相关主题