计算机图形学基础教程课件之附录(第二版)(孙家广 胡事民编著)

  • 格式:ppt
  • 大小:485.00 KB
  • 文档页数:75

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) 平移变换
x 1 0 tx x x tx
x

y

0
1
ty


y


y

t
y


T
(tx
,ty
)
y
1 0 0 1 1 1
1
(2) 缩放变换
x sx 0 0 x sx x
④ 关于(xf, yf)点的缩放变换 缩放、旋转变换都与参考点有关,上面进
行的各种变换都是以原点为参考点的。
如果相对某个一般的参考点(xf, yf)作缩放、 旋转变换,相当于将该点移到坐标原点处, 然后进行缩放、旋转变换,最后将(xf, yf)点 移回原来的位置。
1 0
sin cos
0
0x x cos y sin
x
0 y

x s in

y
cos


R( )
y
11
1

1
逆时针旋转θ取正值;
顺时针旋转θ为负值。
(4) 对称变换
x a b 0x ax by
ka11 ka12 ka1n
kA


k
a21
k a22

k
a2
n


kam1 kam2
k
amn

(3) 矩阵的乘法运算
只有当前一矩阵的列数等于后一矩阵的行 数时两个矩阵才能相乘:
Cm×n= Am×p·Bp×n
矩阵C中的每个元素
Cij

p
二维齐次坐标变换的矩阵的形式是:
a b c
d
e
f

g h i
这个矩阵每一个元素都是有特殊含义的。

其中
a d
b e
可以对图形进行缩放、旋转、
对称、错切等变换;


c f

是对图形进行平移变换;
[g h]是对图形作投影变换;
[i]则是对图形整体进行缩放变换。
来自百度文库
A.4 线性方程组的求解
对于一个有n个变量的方程组:
a11x1 a12 x2 a1n xn b1
a21x1 a22x2 a2n xn b2


an1x1 an2 x2 ann xn bn
可将其表示为矩阵形式:AX=B,A为系数 矩阵。该方程有惟一解的条件是A为非奇异 矩阵,则方程的解为:X=A-1B。
附录
附录A 计算机图形学的数学基础 附录B 图形的几何变换 附录C 形体的投影变换
附录A 计算机图形学的数学基础
A.1 矢量运算
矢量是一有向线段,具有方向和大小两个 参数。设有两个矢量V1(x1, y1, z1),V2(x2, y2, z2)。
(1) 矢量的长度 |V1|=(x1x1, y1y1, z1z1)1/2
附录B 图形的几何变换
B.1 窗口区到视图区的坐标变换
实际的窗口区与视图区大小往往不一样, 要在视图区正确地显示形体,必须将其从 窗口区变换到视图区。
( xv,yv)
由比例关系,两者的变换公式为:
vxr vxl xv vxl wxr wxl (xw wxl)
yv
vyb
③ 当b=d=0,a=e=-1时,有x´=-x, y´=-y,产生与原点对称的图形;
④ 当b=d=1,a=e=0时,有x´=y,y´=x,产生 与直线y=x对称的图形;
⑤ 当 b=d= - 1 , a=e=0 时 , 有 x´= - y , y´=-x,产生与直线y=-x对称的图形。
(5) 错切变换

a13b31 a23b31
a11b12 a12b22 a13b32
a21b12

a22b22

a23b32

(4) 单位矩阵 对于一个n×n的矩阵,如果它的对角线上
的各个元素均为1,其余元素都为0,则该 矩阵称为单位矩阵,记为In。对于任意m×n 的矩阵,恒有:
Am×n·In = Am×n Im ·Am×n = Am×n
1
t
y
2

0
1
t
y1

0 0 1 0 0 1
1 0 tx2 tx1
0
1
ty2

t
y1


T
(t x 2

tx1, t y2

t y1 )
0 0 1
② 复合缩放 两次连续的缩放相当于将缩放操作相乘:
sx2 0 0sx1
S (sx2 , s y2 ) S (sx1, s y1 )

y

d
e
0 y dx ey
1 0 0 11 1
对称变换其实只是a,b,d,e取0,1等特殊 值产生的一些特殊效果。
① 当b=d=0,a=-1,e=1时,有x´=-x, y´=y,产生与y轴对称的图形;
② 当b=d=0,a=1,e=-1时,有x´=x, y´=-y,产生与x轴对称的图形;

vyt wyt
vyb wyb
(yw

wyb)
( xv,yv)
可以简单地将两者的关系表示为: xv a xw b
yv c yw d
其中:
a vxr vxl wxr wxl
c vyt vyb wyt wyb
b vxl vxr vxl wxl wxr wxl
x 1 b 0x x by

y

d
1
0 y dx y
1 0 0 11 1
① 当d=0时,x´=x+by,y´=y,此时,图形的y 坐标不变,x坐标随初值(x, y)及变换系数b 作线性变化。
② 当b=0时,x´=x,y´=dx+y,此时,图形的x 坐标不变,y坐标随初值(x, y)及变换系数d 作线性变化。


0
sy2
0

0
0 0 1 0
sx2 sx1


0
0
0 s y2 s y1
0
0 0 sy1 0 0 1
0 0 S (sx2 sx1, s y2 sy1) 1
③ 复合旋转
两次连续的旋转相当于将两次的旋转角度 相加:
c os 2 R(2 ) R(1) sin2
(6) 矩阵的逆
对于一个n×n的方阵A,如果存在一个n×n 的方阵B,使得AB=BA=In,则称B是A的逆, 记为B=A-1,同时A则被称为非奇异矩阵。
矩阵的逆是相互的,A同样也可记为B=A-1, B也是一个非奇异矩阵。
任何非奇异矩阵有且只有一个逆矩阵。
(7) 矩阵运算的基本性质 ① 矩阵加法适合交换律与结合律 A+B=B+A A+(B+C)=(A+B)+C ② 数乘矩阵适合分配律与结合律 α(A+B)=αA+αB α(A·B)=(αA)·B=A·αB
。 aik bk j
k 1
下面用一个简单的例子来说明。设A为2×3 的矩阵,B为3×2的矩阵,则两者的乘积为:
C

A
B

a11 a21
a12 a22
a13 a23

b11 b21 b31
b12
b22

b32

a11b11 a21b11

a12b21 a22b21
a11 b11
A

B


a21

b21

am1 bm1
a12 b12 a22 b22
am2 bm2
a1n b1n

a2n

b2n



amn

bmn

只有在两个矩阵的行数和列数都相同时才 能实施矩阵的加法运算。
(2) 数乘矩阵
用数k乘矩阵A的每一个元素而得的矩阵叫 做k与A之积,记为kA:
③ 矩阵的乘法适合结合律 A(B·C)=(A·B)C
④ 矩阵的乘法对加法适合分配律 (A+B)C=AC+BC C(A+B)=CA+CB
⑤ 矩阵的乘法不适合交换率 A·B≠B·A
A.3 齐次坐标
所谓齐次坐标就是将一个原本是n维的向量 用一个n+1维向量来表示。
如向量(x1, x2, …, xn)的齐次坐标表示为[hx1, hx2, …, hxn, h],其中h是一个实数。
x

y


0
sy
0

y

sy

y

S (sx ,
sy
) y
1 0 0 11 1
1
(3) 旋转变换
在直角坐标平面中,将二维图形绕原点旋 转θ角的变换形式如下:
x cos

y

sin
V1·V2=V2·V1 V1·(V2+V3)=V1·V2+V1·V3
(5) 两个矢量的叉积 叉积V1×V2是一个向量,而且满足:
① |V1×V2|=|V1||V2| sinθ,即以V1和V2为邻 边所构成的平行四边形的面积。
② V1×V2垂直于V1和V2。 ③ V1,V2,V1×V2构成右手系。
用坐标表示为:
(2) 矢量倍乘 αV1=(αx1, αy1, αz1)
(3) 两个矢量之和 V1+V2=(x1, y1, z1)+(x2, y2, z2)=(x1+x2, y1+y2, z1+z2)
(4) 两个矢量的点积 V1·V2=|V1||V2| cosθ=x1x2+y1y2+z1z2
其中,θ为两相量之间的夹角。 点积满足交换律和分配律:
d vyb vyt vyb wyb wyt wyb
用矩阵表示为:
xv a 0 bxw

yv


0
c
d


y
w

1 0 0 1 1
B.2 二维图形的几何变换
用齐次坐标表示点的变换将非常方便,因 此在附录B中所有的几何变换都将采用齐次 坐标进行运算。
显然一个向量的齐次表示是不惟一的,齐 次坐标的h取不同的值都表示的是同一个点, 比如齐次坐标[8,4,2]、[4,2,1]表示的都是二 维点[2,1]。
齐次坐标的优点:
① 它提供了用矩阵运算把二维、三维甚至 高维空间中的一个点集,从一个坐标系变 换到另一个坐标系的有效方法。
② 它可以表示无穷远的点。n+1维的齐次 坐标中如果h=0,实际上就表示了n维空间 的一个无穷远点。对于齐次坐标[a,b,h],保 持a,b不变,h→0的过程就表示了在二维坐 标系中的一个点,沿直线ax+by=0逐渐走向 无穷远处的过程。
i jk
V1 V2 x1 y1 z1 y1z2 y2 z1,z1x2 z2 x1,x1 y2 x2 y1
x2 y2 z2
叉积满足反交换律和分配律 V1×V2=-V2×V1
V1×(V2+V3)=V1×V2+V1×V3
A.2 矩阵运算
设有一个m行n列矩阵A:
a11 a12 a1n
(5) 矩阵的转置
交换一个矩阵Am×n的所有的行列元素,那么 所得到的m×n的矩阵被称为原有矩阵的转置,
记为AT:
a11 a21 am1
AT a12
a22
am2


a1n
a2n
amn

显然,(AT)T=A,(A+B)T=(AT+BT),(kA)T=kAT。 但是,对于矩阵的积:(A·B)T=BT·AT
0
sin2 c os 2
0
0 c os1
0

s
in
1
1 0
cos(2 1)


s
in(
2
1 )
0
sin(2 1) cos(2 1)
0
sin1 0 cos1 0
0 1
0
0 R(2 1)
1
(6) 复合变换 如果图形要做一次以上的几何变换,那么
可以将各个变换矩阵综合起来进行一步到 位的变换。 复合变换有如下5个性质:
① 复合平移
对同一图形做两次平移相当于将两次的平 移两加起来:
1 0 tx2 1 0 tx1
T (tx2 , t y2 ) T (tx1, t y1) 0
Amn


a21

a22

a2n


am1
am2
amn

其中(ai1, ai2, ai3, …, ain)被称为第i(1≤i≤n)个行 向量,(a1j, a2j, a3j, …, amj)T被称为第j(1≤j≤m) 个列向量。
(1) 矩阵的加法运算
设两个矩阵A和B都是m×n的,把它们对应 位置的元素相加而得到的矩阵叫做A、B的 和,记为A+B