68
2004 Dept. of Computer Science and Engineer 22/5/6 第第第 第第 ()

第七章 图 形 变 换(二)

  • Upload
    pink

  • View
    362

  • Download
    8

Embed Size (px)

DESCRIPTION

第七章 图 形 变 换(二). 主要内容:. 图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段裁剪. 形体的投影变换. 三维图形的基本问题 : 1. 在二维屏幕上如何显示三维物体? 存在的困难 : 显示器屏幕、绘图纸等是二维 ; 显示对象是三维 ; 解决方法 : 1) 三维显示设备 -> 正在研制中 ; 2) 投影 ; 2. 如何表示三维物体? 二维形体: 表示:直线段 , 折线 , 曲线段 , 多边形区域 … ; 输入:简单(图形显示设备与形体维数一致) ; 三维形体: - PowerPoint PPT Presentation

Citation preview

Page 1: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20

第七章 图 形 变 换 (二)

Page 2: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 2 / 68

主要内容:

图形变换的数学基础窗口视图变换图形的几何变换形体的投影变换三维线段裁剪

Page 3: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 3 / 68

形体的投影变换 三维图形的基本问题 :

- 1. 在二维屏幕上如何显示三维物体? 存在的困难:- 显示器屏幕、绘图纸等是二维 ;- 显示对象是三维 ;

解决方法 :- 1)三维显示设备 ->正在研制中 ;- 2)投影 ;

- 2. 如何表示三维物体? 二维形体:- 表示:直线段 , 折线 , 曲线段 , 多边形区域… ;- 输入:简单(图形显示设备与形体维数一致) ;

三维形体:- 表示:空间直线段、折线、曲线段、多边形、曲面片 ;- 输入、运算、有效性保证-》困难 ;

解决方法:各种用于形体表示的理论、模型、方法 ;

Page 4: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 4 / 68

形体的投影变换- 3. 如何反映遮挡关系?

物体之间或物体的不同部分之间存在相互遮挡关系 ;遮挡关系是空间位置关系的重要组成部分 ;解决方法:消除隐藏面与隐藏线 ;

- 4. 如何产生真实感图形 ?何谓真实感图形 ?-逼真的 ;-示意的 ;

人们观察现实世界产生的真实感来源于 :-空间位置关系:近大远小的透视关系和遮挡关系 ;-颜色分布:光线传播引起的物体表面颜色的自然分布 ;

解决方法:建立光照明模型、开发真实感图形绘制方法;

Page 5: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 5 / 68

形体的投影变换

三维图形的基本研究内容 :- 1)投影变换 ;- 2)三维形体的表示 ;- 3)消除隐藏面与隐藏线 ;- 4)建立光照明模型、开发真实感图形绘制方法 ;

投影变换 : 把三维物体变为二维图形表示的过程 ;

Page 6: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 6 / 68

形体的投影变换平面几何投影 : 分类:

投影中心与投影平面间距离无限

投影中心与投影平面间距离有限

根据投影方向与投影平面的夹角

根据投影平面与坐标轴的夹角

Page 7: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 7 / 68

形体的投影变换平面几何投影 : 分类:

透视投影 平行投影

Page 8: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 8 / 68

形体的投影变换平面几何投影 : - 平行投影 :

- 投影中心与投影平面之间的距离为无限,只需给出投影方向即可;

- 是透视投影的极限状态;

投影的方向

投影中心

Page 9: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 9 / 68

形体的投影变换 平面几何投影 : - 平行投影 :

- 根据投影线方向与投影平面的夹角,分为两类: 正平行投影与斜平行投影 正平行投影:投影方向垂直于投影平面; 正平行投影包括:正投影(三视图)和正轴侧投影- 三视图:三个投影面和坐标轴相互垂直。- 正轴侧:投影面和坐标轴呈一定的关系。

Page 10: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 10 / 68

形体的投影变换三视图:主(正)视图、侧视图和俯视图

Page 11: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 11 / 68

形体的投影变换正平行投影 - 三视图

- 把三维图形在三个方向上所看到的棱线分别投影到三个坐标面上。再经过适当变换放置到同一平面上。

z

y

x

a2

c2b2a1

b1c1

Page 12: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 12 / 68

形体的投影变换正平行投影 - 三视图

- 变换矩阵 ( 其中 (a,b) 为 u 、 v 坐标下的值 )

- 正视图

10

0010

0000

0001

11

zx tbta

zyxwvu

z

y

y

xo

v

u

z

y

y

x o

o’

tz tz

tx

tx

ty

ty

(a,b)

Page 13: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 13 / 68

形体的投影变换正平行投影 - 三视图

- 俯视图

10

0000

0010

0001

11

yx tbta

zyxwvu

z

y

y

xo

v

u

z

y

y

x o

o’

tz tz

tx

tx

ty

ty

(a,b)

Page 14: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 14 / 68

形体的投影变换正平行投影 - 三视图

- 侧视图

10

0010

0001

0000

11

zy tbta

zyxwvu

z

y

y

xo

v

u

z

y

y

x o

o’

tz tz

tx

tx

ty

ty

(a,b)

Page 15: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 15 / 68

形体的投影变换正轴测投影

- 当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。

- 正轴测投影分类:正等测、正二测、正三测- 正等测:投影平面与三个坐标轴的交点到坐标原点的距离都相等。- 沿三个轴线具有相同的变形系数。

Page 16: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 16 / 68

形体的投影变换正轴测投影

- 正二测:投影平面与两个坐标轴的交点到坐标原点的距离都相等。- 沿两个轴线具有相同的变形系数。

Page 17: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 17 / 68

形体的投影变换正轴测投影

- 正三测:投影平面与三个坐标轴交点到坐标原点距离都不相等。- 沿三个轴线具有各不相同的变形系数。

Page 18: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 18 / 68

形体的投影变换正轴测投影的形成过程

1 )将空间一立体图形绕 y轴旋转 θy角 2 )再绕 x轴旋转 θx 3 )最后,向 z=0 平面做正投影

- 由于这种投影的投影平面不与立体的轴线垂直-》同时可见到物体的多个面-》可产生立体效果。

- 经过正轴测投影变换后,物体线间的平行性不变,但角度有变化。正轴测投影变换矩阵的一般形式:

1000

0000

0010

0001

1000

0cossin0

0sincos0

0001

1000

0cos0sin

0010

0sin0cos

xx

xx

yy

yy

zxy TRRT

Page 19: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 19 / 68

形体的投影变换

1000

00cossinsin

00cos0

00sinsincos

yxy

x

yxy

T

下面主要讨论正二测和正等测的投影变换矩阵,即确定变换矩阵中的 θx角和 θy角。- 如何度量沿三个轴线方向的变形系数?

10cossinsin1100

10cos01010

10sinsincos1001

yxy

x

yxy

正轴侧投影

正轴侧投影

正轴侧投影

Page 20: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 20 / 68

形体的投影变换

∴正二侧投影需满足:

假定 Z 轴上的单位矢量经变换后长度变为 1/2;即 Z 轴的变形系数恒为 1/2:

可得: θx=20。42’, θy =19

。28’。

∴变换矩阵为: 变换矩阵为

xxyy 2222 cossinsincos

4/1sincossin 222 xyy

1000

0000

0327.0935.0133.0

0378.00926.0

'T

Page 21: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 21 / 68

形体的投影变换

正等侧投影需满足:

求得:正等测图的变换矩阵为正等测图的变换矩阵为:

xyxy 2222 coscossinsin

xxyy 2222 cossinsincos

4535 yx

0 707 0 0 408 0

0 707 0 0 408 0

0 0 0 816 0

0 0 0 1

. .

. .

.

Page 22: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 22 / 68

形体的投影变换

斜平行投影: 投影线与投影平面不垂直的平行投影;投影平面一般取坐标平面;

- 斜等测投影投影平面与一坐标轴垂直;投影线与投影平面成 45°角;与投影平面垂直的线投影后长度不变;

- 斜二测投影投影平面与一坐标轴垂直;投影线与该轴夹角成 arcctg(1/2)角;该轴轴向变形系数为 ½。即与投影平面垂直的线投影后长度减半;

Page 23: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 23 / 68

形体的投影变换

斜平行投影求法:- 1 .已知投影方向矢量为( xp,yp,zp )

设形体被投影到 XOY平面上 形体上的一点 (x,y,z) 在 xoy平面上投影后→ (xs,ys) ∵投影方向矢量为 (xp,yp,zp) ∴投影线的参数方程为:

tzzz

tyyy

txxx

ps

ps

ps

y

z

x

(xs,ys)

(x,y,z)

(xp,yp,zp )

Page 24: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 24 / 68

形体的投影变换

p

ssss

z

zt

zZzyx

00的平面上在

zz

yyy

zz

xxx

p

ps

p

ps

p

pyp

p

pxp z

yS

z

xS

y

z

x

(xs,ys)

(x,y,z)

(xp,yp,zp )

Page 25: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 25 / 68

形体的投影变换

则上面方程的矩阵式为:

其中, [x,y,z,1]表示用户坐标系下的坐标, [xs,ys,zs,1]表示投影平面上的坐标。

1000

01

0010

0001

11ypxp

sss SSzyxzyx

Page 26: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 26 / 68

形体的投影变换

2 .设( xe,ye,ze )为任一点,( xs,ys )为( xe,ye,ze )在 XcOcYc平面上的投影- 设立方体上一点 P(0,0,1)在 XcOcYc平面上的投影 P' (lcosα,lsinα,0),投影方向为 PP',PP' 与投影面的夹角为 β, α为投影与 x 轴的夹角,则投影方向矢量为(lcosα,lsinα,-1)

zc

α

yc

xc

P’

P(0,0,1)

β l

Page 27: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 27 / 68

形体的投影变换

现考虑任一点( xe,ye,ze )在 XcOcYc平面上的投影( xs,ys)

∵投影方向与投影线 PP’平行

所以

0sincos1

ssesese z

l

yy

l

xxzz

sin

cos

lzyy

lzxx

ees

eeszc α

yc

xc

P’

P(0,0,1)

β l

Page 28: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 28 / 68

形体的投影变换

- 矩阵形式为:

- 斜等侧中: l=1,β=45- 斜二侧中: l=1/2, β=arctgl=63.4- 正平行投影: l=0, β=90

1000

01sincos

0010

0001

11 ll

zyxzyx eeesss

zc α

yc

xc

P’

P(0,0,1)

β l

Page 29: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 29 / 68

透视 - 基本知识基本知识:

- 透视投影是一种中心投影法,在日常生活中,观察外界的景物时,常会看到一些明显的透视现象。

- 如:站在街上,向远处看,- 1)会感到街上具有相同高度的路灯,显得近处的高,远处的矮。

- 2)即使路灯间的距离相等,视觉产生的效果是近处的间隔大,远处的间隔小,越远越密。

- 3)观察道路的宽度,会感到越远越窄,最后汇聚于一点。上述现象,称为透视现象。

- 产生透视的原因,可用下图说明:

Page 30: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 30 / 68

透视- 基本知识- 图中, AA',BB',CC' 为一组高度和间隔都相等,排成一条直线的电线杆,从视点 E 去看,发现

- ∠ AEA>∠BEB>∠CEC- 若在视点 E 与物体间设置一个透明的画面 P, 让 P 通过 AA' ,则在画面上看 到 的 各 电 线 杆 的 投 影aa'>bb'>cc'

- aa' 即 EA,EA' 与画面 P 的交点的连线 ;

- bb' 即为 EB , EB' 与画面 P 的交点的连线。

- cc' 即为 EC , EC' 与画面 P 的交点的连线。

- ∴近大远小

Page 31: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 31 / 68

透视- 基本知识- 若连 a,b,c 及 a',b',c' 各点,它们的连线汇聚于一点。

- 而实际上, A,B,C 与 A , B ,C 的连线是两条互相平行的直线,说明空间中不平行于画面( 投影面)的所有平行线的透视 投 影 , 即 a,b,c 与a',b',c' 的连线,必交于一点,这点称为灭点。

Page 32: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 32 / 68

透视投影条件:投影中心与投影平面间的距离有限;灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点 .

主灭点 : 平行于坐标轴的平行线产生的灭点。透视投影按主灭点个数分为:-一点透视-二点透视-三点透视

特点:能够产生近大远小的视觉效果,由此产生的图形深度感强,看起来更加真实。

Page 33: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 33 / 68

透视投影- 主灭点数和投影平面切割坐标轴的数量相对应 , 即由坐标轴与投影平面交点的数量决定。 如投影平面仅切割 z 轴,则 z 轴是投影平面的法线,因而只在 z 轴上有一个灭点,平行于 x 轴或 y 轴的直线也平行于投影平面-》没有灭点。

y

x

zo

Page 34: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 34 / 68

一点透视

一点透视(平行透视) :- 人眼从正面去观察一个立方体,当 z 轴与投影平面垂直时,另两根轴 ox,oy轴平行于投影平面。这时的立方体透视图只有一个灭点,即与画面垂直的那组平行线的透视投影交于一点。

Page 35: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 35 / 68

二点透视

二点透视(成角透视)- 人眼观看的立方体绕 y 轴旋转一个角度,再进行透视投影。- 三坐标轴中 oy轴与投影平面平行,而其它两轴与画面倾斜,除平行于 oy轴的那组平行线外,其它两组平行线的透视投影分别在投影平面的左右两侧,作出的立方体透视图产生两个灭点。

Page 36: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 36 / 68

三点透视

三点透视(斜透视) - 投影平面与三坐标轴均不平行。- 三组平行线均产生灭点。

Page 37: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 37 / 68

透视举例

Page 38: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 38 / 68

一点透视变换的变换矩阵- 1)一点透视

设 z 轴上有一观察点(即视点) V(0,0,h) 从 V 点出发将物体上的点 P(x,y,z) 投影到 XOY平面上得到 P' (x',y',0)

由相似三角形可知:

h

zh

y

y

x

x

''

0'

1'

1'

zh

zy

y

h

zx

x

Page 39: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 39 / 68

一点透视变换的变换矩阵

这时变换矩阵变为 的齐次坐标变换;

可以看作先作变换

1000

1000

0010

0001

h

M rz

rzMzyxzyx 11 '''

透视变换

1000

1100

0010

0001

h

M r

Page 40: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 40 / 68

一点透视变换的变换矩阵- 再做变换

的合成。

- 在透视变换 Mr下有:

平面的正投影变换向 0

1000

0000

0010

0001

ZM z

h

zz

z

h

zy

y

h

zx

x

1'

1'

1'

Page 41: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 41 / 68

一点透视变换的变换矩阵- 当 z→ 时, x →0,y →0,z →-h- ∴(0,0,-h) 为该透视的一个灭点。- 同样,视点在 (h,0,0)的透视变换,灭点在 (-h,0,0)- 变换矩阵为

1000

0100

0010

1001

hM rx

Page 42: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 42 / 68

一点透视变换的变换矩阵- 视点在 (0,h,,0)的透视变换,灭点在 (0,-h,0)- 变换矩阵为

- 在变换矩阵中,第四列的 p,q,r 起透视变换作用:

1000

0100

1010

0001

hM ry

均称为一点透视变换。、、 rzryrx MMM

1000

100

010

001

r

q

p

M

Page 43: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 43 / 68

一点透视变换的变换矩阵- 当 p 、 q 、 r 中有一个不为 0 时的变换:假定 q!=0,p=r=0.

对空间上任一点 (x,y,z)进行透视变换结果如下:

进行规范化处理后,有:

1qy zy

1 0 0 0

0 1 0 0

q 0 1 0

0 0 0 1

1 zy

xx

1 1qy

z

1qy

y

1qy

x

Page 44: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 44 / 68

一点透视变换的几何意义- 当 y=0时: x’ = x y’ = 0

z’ = z

即处于 y=0平面上的点,经过透视变换后没有变化。- 当 y=∞时 x’ = 0

y’ = 1/q

z’ = 0

即当 y->∞时,所有点的变换结果都集中到 Y 轴的 1/q处,也即所有平行于 Y 轴的直线,变换后都将沿伸相交于该点。该点即为灭点。

Page 45: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 45 / 68

二点透视变换的变换矩阵- 2)二点透视

在变换矩阵中,第四列的 p,q,r起透视变换作用

当 p、 q、 r中有两个不为 0时的透视变换称为二点透视变换。假定 p!=0, r!=0, q=0;

将空间上一点 (x,y,z) 进行变换,可得如下结果:

1000

100

010

001

r

q

p

M

Page 46: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 46 / 68

二点透视变换的变换矩阵

由上式可看出:当 x->∞时,在 X轴上 1/p 处有一个灭点;当 z->∞时,在 Z轴上 1/r 处有一个灭点;

)1/('

)1/('

)1/('

经齐次化处理后得:

1rzpx zy x

1 0 0 0

r 1 0 0

0 0 1 0

p 0 0 1

1 zy x

rzpxzz

rzpxyy

rzpxxx

Page 47: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 47 / 68

三点透视变换的变换矩阵- 3)三点透视

类似,若 p,q,r 都不为 0 ,则可得到有三个灭点的三点透视。

)1/('

)1/('

)1/('

经齐次化处理后得:

1rzpx zy x

1 0 0 0

r 1 0 0

q 0 1 0

p 0 0 1

1 zy x

rzqypxzz

rzqypxyy

rzqypxxx

qy

Page 48: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 48 / 68

三点透视变换的变换矩阵

由上式可看出: 当 x->∞时,在 X 轴上 1/p处有一个灭点; 当 y->∞时,在 Y 轴上 1/q处有一个灭点 ; 当 z->∞时,在 Z 轴上 1/r处有一个灭点;

Page 49: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 49 / 68

透视投影的方法- 1 、一点透视图的生成

生成一点透视图时,通常在透视变换前,先将立体作一平移变换。

Page 50: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 50 / 68

透视投影的方法 变换过程:- 1 )先作平移变换;- 2 )再作透视变换;- 3 )最后将结果投影到投影面。

由于向 XOZ平面上投影,故一点透视变换的灭点选在 Y 轴上。变换公式:

1qdy dz 0dx

0 1 0 0

q 0 0 0

0 0 0 1

1 0 0 0

0 1 0 0

0 0 0 0

0 0 0 1

1 0 0 0

0 1 0 0

q 0 1 0

0 0 0 1

1 dzdy dx

0 1 0 0

0 0 1 0

0 0 0 1

T

Page 51: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 51 / 68

透视投影的方法- 2 、二点透视投影图的生成

立体经透视变换后,若直接投影到 V 面上,可能其立体效果并不理想,所以,在透视变换后,对变换结果绕 Z 轴旋转后,使物体轴线不与投影面垂直,再向 V 面上投影其效果会更好。

变换过程:- 1 )先对立体进行二点透视变换;- 2 )再把变换结果绕 Z 轴旋转一角度;- 3 )最后将上述变换结果投影到投影面上。

Page 52: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 52 / 68

透视投影的方法- 3 、三点透视投影图生成

与二点透视投影图生成变换原理一样,在透视变换后,先对变换结果作旋转变换,以保证透视投影面与物体上的三个坐标轴均不平行,从而获得立体效果更好的透视投影图。

变换过程:- 1 )首先对物体作三点透视变换;- 2 )将透视变换结果绕 Z 轴旋转一角度 α- 3 )再绕 X 轴旋转一 β角;- 4 )将上述结果投影到投影面。

Page 53: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 53 / 68

投影空间- 定义:相对于二维的窗口概念,三维的投影窗口称为投影空间,一般在观察坐标系下定义投影窗口; 透视投影空间-》四棱台体 平行投影空间-》四棱柱体 投影线(视线)平行于坐标轴-》正四棱台或正四棱柱; 投影线(视线)不平行坐标轴-》斜四棱台或斜四棱柱; 输出时,为减少计算工作量,需要将斜四棱台或斜四棱柱转换为正四棱台或正四棱柱;

图形输出过程:

Page 54: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 54 / 68

透视投影空间的定义- 透视投影空间由下面六个参数定义: 1 )投影中心(视点) Oe(xe,ye,ze),相当于观察者眼睛的位置坐标,改变投影中心即从不同角度观察形体;

2 )投影平面法向 VPN(xn,yn,zn),一般把观察坐标系 ze轴作为观察平面法向;

3 )观察右向 PREF,(xp,yp,zp) ,与垂直向上矢量 Ye相互垂直,可以选择 Xe作为观察右向;

4 )观察点 Oe到观察空间前、后截面的距离 FD和 BD -》控制四棱台裁剪空间的长度和位置;

5 )观察点 Oe到投影平面的距离 VD -》控制投影图的大小, VD小-》投影图小; VD大-》投影图大。 VD>0;

6)窗口中的 Ow(wcu,wcv)及窗口半边长WSU,WSV -》二维窗口的大小及位置,在投影平面上定义;

Page 55: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 55 / 68

平行投影空间的定义- 平行投影空间由五个参数定义:

1 )观察参考点 VRP(xr,yr,zr) ; 2 )投影平面法向 NORM(xn,yn,zn) ; 3 )观察参考点与前、后截面之间的距离 FD

和 BD; 4 )投影平面上矩形窗口中心Os(wcu,wcv)及沿 Xe,Ye方向上的半边长WSU,WSV;

5)观察右向 PREF(xp,yp,zp) ;

平面投影时,投影平面无论在什么位置,都不会改变投影图的大小。

Page 56: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 56 / 68

用户坐标系到观察坐标系的变换- 投影变换的基本操作,即把形体坐标从用户坐标系变换到观察坐标系,即:

- 目的:求变换矩阵:- 1 )单位矢量法

1 、取 Ze轴向为观察平面法向 VPN,其单位矢量 :

2 、取 Xe轴向为观察右向 PREF,其单位矢量:

3 、取 Ye轴向的单位矢量:

wvwwweee Tzyxzyx 1]1[

wvT

.)(

),,()/,/,/(/2/1222

nnn

zyxnnn

zyxk

nnnkzkykxVPNVPNn

2/12221

111

)(

),,,()/,/,/(/

ppp

zyxppp

zyxk

uuukzkykxPREFPREFu

),,(),,,( zyxxyyxzxxzzzzy vvvvnununununununuv

Page 57: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 57 / 68

用户坐标系到观察坐标系的变换- 即可得:

- 2 )向量代数法 设观察点在用户坐标系下的坐标值为( a,b,c),并设 Xe 在 Zw=c的平面上,参照图,可得变换矩阵:

1000

0

0

0

zyx

zyx

zyx

wv nnn

vvv

uuu

T

wvT

Page 58: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 58 / 68

向量代数法(推导过程 1/3)

uuuwwweee

Teeeuuu

Teeewww

wewe

Teeewww

eeewwww

T

wwweee

eueueuwe

Teeeeeeeeeeeee

Twwwwwwwwwwwww

eeewwweeeewwww

zyxAzyxzyx

kjizyxkjiAzyx

OOPOPO

kjiAzyx

kjiAzyxPO

IAA

Akjikji

kzjyixOO

kjizyxkzjyixPO

kjizyxkzjyixPO

zyxzyxZYXOZYXOP

][][

][][][

][][

][][

][][

]][[

]][[

),,(),,(

T1T

即:

由于:

对正交变换有:

,有:和中的坐标为:和在设点

Page 59: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 59 / 68

向量代数法(推导过程 2/3)

www

www

eee

eee

wwewweee

wwe

we

wwwwewee

kuvjuvbciuvac

ucubua

vavb

kji

kij

kji

vjaibivjaibiii

bnamjnimi

cZx

ukcjbiaOOOOK

cbaubav

///

///

0//

,,

/)(/)(0

0,

/)(/

)(,)( 2/12222/122

构成左手坐标系,即:由于

,仅取正值,,即:而:

的平面上,所以可设:在又,

令:

Page 60: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 60 / 68

向量代数法(推导过程 3/3)

100

0//0

0///

0///

100

0//0

0///

0///

]1[

1]1[

][][

//0

///

///

u

ucuv

ubuvbcva

uauvacvb

T

u

ucuv

ubuvbcva

uauvacvb

zyx

Tzyxzyx

Azyxzyx

ucuv

ubuvbcva

uauvacvb

A

wv

www

wvwwweee

wwweee

即:

所以:

则有:

Page 61: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 61 / 68

规格化裁剪空间和图像空间- 将裁剪空间规格化为正四棱台,且其后截面在 Ze=1处;- 将平行投影的规格化裁剪空间为正四棱柱,如图:

Page 62: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 62 / 68

透视投影裁剪空间的规格化- 目的:求把斜四棱台裁剪空间变为正四棱台裁剪空间的变换矩阵;- 步骤:

1 )将投影中心平移到原点: T1; 2 )将用户坐标系变换到观察坐标系 :T2; 3 )将裁剪空间的后截面变为 Ze=1的平面,即作 Ze向的变比例变换 :T3; 4 )作错切变换,使投影中心与窗口中心的连线与 Ze轴重合,使斜四棱台变为正四棱台 :T4;

5 )经比例变换,使裁剪空间的后截面介于 范围内 :T5;1,1 ee yx

Page 63: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 63 / 68

平行投影裁剪空间的规格化- 目的:求把斜四棱柱裁剪空间变为正四棱柱裁剪空间的变换矩阵;- 步骤:

1 )将观察参考点平移到原点; 2 )将用户坐标系变换到观察坐标系; 3 )将裁剪空间的后截面变为 Ze=1的平面,即作 Ze向的变比例变换; 4 )作错切变换,使投影中心与窗口中心的连线与 Ze轴重合,使斜四棱柱变为正四棱柱;

5 )作比例变换,使裁剪平面介于 范围内; 6 )沿 Ze方向作平移、变比例,使裁剪空间介于

1,1 ee yx11 ez

Page 64: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 64 / 68

规格化的图象空间- 目的:将平行投影和透视投影处理一致化;

在图象空间中把投影中心移到无穷远处,相当于在裁剪空间中的透视投影会变成图象空间中的平行投影;

在规格化的图象空间中简化了投影线方程-》简化求交计算;- 步骤:

1 )作 T1变换,放大前截面; 2 )作 T2压缩变换,使 Ze方向的厚度由 1 变为( 1 - f ); 3 )作 T3平移变换,使前截面 Ze=f,后截面 Ze=1;

Page 65: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 65 / 68

主要内容:

图形变换的数学基础窗口视图变换图形的几何变换形体的投影变换三维线段裁剪

Page 66: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 66 / 68

三维线段裁剪三维图形的显示流程图

- 观察变换:从世界坐标系到观察坐标系的变换- 何时裁剪?:

投影之前裁剪 — 三维裁剪-优点:只对可见的物体进行投影变换-缺点:三维裁剪相对复杂

投影之后裁剪 — 二维裁剪-优点:二维裁剪相对容易-缺点:需要对所有的物体进行投影变换

Page 67: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20 67 / 68

三维线段裁剪- 采用二维裁剪的三维图形显示流程图

- 在投影之前裁剪的理由三维物体的表面通常被离散表示成多边形或折线,而对这类简单图元,三维裁剪同样比较简单。

三维图形在显示过程中需要被消隐,做这个工作要有图形的深度信息,所以必须在投影之前完成 。 消隐很费时,如果在此之前裁剪(或部分裁剪)掉不可见的图形,可使需要消隐的图形减至最小。

Page 68: 第七章  图  形  变  换(二)

© 2004 Dept. of Computer Science and Engineer 23/4/20

谢谢 !