第6章 图形变换02—透视变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4
1 0 0 0
1 0
0 0 0 1 1 ze 0 0 1 0 0
6.4.1 透视变换——基本公式
矩阵形式为:
X
矩阵
Y Z H x
1 0 y z 1 0 0
0 1 0 0 0 1 1 ze 0 0 1 0 0
10. X Z 2005年7月5日
ctgα x·sinα z·ze, -tgα x·sinα z·ze, 上海交通大学计算机系 何援军 -ctgα x·cosα z·ze, tgα x·cosα z·ze,
2
6.4.4由倾斜画面产生透视图——原理
视点E
投影画面K
2005年7月5日 上海交通大学计算机系 何援军
规格化矩阵的前三行,即得原来分别平行于x,y,z 轴的向量经变换后的投影分别交于三个灭点:
(ctg y ze ,
tg z , ctg x z 0), e y e cos y
和
tg z , tg x z e y e cos y
灭点F1-F3
13
6.4.4由倾斜画面产生透视图——公式
1 0 0 0 1 0 0 0 cos y 0 sin y 0 0 1 0 1 0 1 0 0 0 1 0 0 P 0 0 1 0 0 0 1 0 sin y 0 cos y 0 0 h 0 1 x 0 z 1 0 0 0 1 0 0 0 0 0 1 0 0 0 cos cos 0 sin / ez 0 1 0 0 0 0 0 1 0 0 0 cos cos / ze x 0 z 1 0 0 0 cos 0 0 0 cos sin y cos sin y cos cos y 0 cos 0 sin / ze cos sin y 0 cos cos y cos cos y / ze A h cos C ( h sin C ) / ze cos 其中 : A ( cos y x0 sin y z0 x0 ) cos C (sin y x0 cos y x0 z0 ) cos
设画面为右手坐标系,由比例关系,得
u U min x X min U max U min X max X min v V min y Y min V max V min Y max Y min
2005年7月5日
上海交通大学计算机系 何援军
18
6.5.3 屏幕投射的实施
2005年7月5日 上海交通大学计算机系 何援军
透视参数
14
6.4.5 透视图的例子
2005年7月5日
上海交通大学计算机系 何援军
15
6.5 投射变换
1.概述 2.屏幕投射的基本原理 3.屏幕投射的实施 6.屏幕投射的变换公式 5.屏幕投射变换参数的求取
2005年7月5日
上海交通大学计算机系 何援军
上述两类变换公式有明显的缺陷: x方向和y方向的变换比例不一致, 这将导致圆(弧)经变换后变成椭 圆(弧),造成图形的失真。因此, 需要对上述变换公式进行调整。 设世界坐标窗口为: W[Xmin,Ymin,Xmax,Ymax] 画面坐标窗口为: S[Xsmin,Ysmin,Xsmax,Ysmax]
一是保持画面铅垂而通过旋转物体使 之与画面构成角度达到透视变换效果; 二是通过倾斜投影画面而达到透视变 换效果。
2005年7月5日 上海交通大学计算机系 何援军 6
6.4.2 透视投影转化为平行投影——理论
定理:对一个空间物体,一定存在另一 个空间物体,使前者在画面上的透视投 影与后者的平行投影是一样的,且保留 了深度方向的对应关系。
ze ze
2005年7月5日
上海交通大学计算机系 何援军
9
6.4.3由旋转变换产生透视图——原理
cos y 0 sin y sin y z e sin x sin y cos x sin x cos y sin x cos y z e cos sin x y sin x cos x cos y cos x cos y z e 0 0 0 1
Biblioteka Baidu
2 dz' ze (z e z) (z e z) ze 0 2 2 dz ( z e z) ( z e z)
即空间物体B1 和空间物体B2 相应的点与画面的远近关 系(深度方向)是一致的。证毕。
2005年7月5日 上海交通大学计算机系 何援军 8
6.4.3由旋转变换产生透视图——原理
2005年7月5日
上海交通大学计算机系 何援军
10
6.4.3由旋转变换产生透视图——原理 类似地,通过以下矩阵的乘积,可 得出五个类似的物体绕两个轴旋转 后的变换矩阵:
E E E E E
2005年7月5日
Rx R z Pz Ry R x Pz Ry R z Pz Rz R y Pz Rz R x Pz
上海交通大学计算机系 何援军 11
6.4.3由旋转变换产生透视图——通式
旋转轴 序 及次序 ① ② 1. 不旋转 2. X 3. 4. 5. Y Z X Y
与原坐标轴平行线簇在 XOY 平面上的灭点坐标
X // // ctgα y·ze,0 // ctgα y·ze, 0 ctgα y/cosα x·ze, tgα x·ze ctgα y·cosα z·ze, ctgα y·sinα z·ze ctgα y·ze, tgα z/sinα y·ze, -ctgα z/sinα x·ze, -ctgα x·ze, // Y // 0, -ctgα x·ze // // -tgα y·ze, -ctgα x/cosα y·ze 0,-ctgα x·ze
透视子变换阵
2005年7月5日
上海交通大学计算机系 何援军
3
6.4.1 透视变换——基本公式
设视点E(0,0,ze)在z轴上,空间点为P(xp,yp,zp), 则视线EP的直线方程为: x=0+(xp-0)t y=0+(yp-0)t z=ze+(zp-ze)t
2005年7月5日
上海交通大学计算机系 何援军
2005年7月5日
上海交通大学计算机系 何援军
20
6.5.3 屏幕投射的实施
设W内的两条直线
x=x0 y=y0
分别变换到S内的两条直线
xs= xs0 ys= ys0
则有
xs xs0 x x0 = Xsmax Xsmin X min X max
y y0 Ymax Ymin
1 0 0 0 0 1 0 0 0 1 1 ze 0 0 1 0 0
=
cos y 0 sin y sin y ze sin x sin y cos x sin x cos y sin x cos y cos sin y sin x cos x cos y cos x cos y x 0 0 0 1
第6章 图形变换
之二——透视变换、视图变换
6.4 透视变换
1.概述 2.透视投影转化为平行投影 3.通过旋转变换产生透视图 4.通过倾斜画面产生透视图 5.透视变换的例子
2005年7月5日
上海交通大学计算机系 何援军
2
6.4.1 透视变换——概述
现实生活中的景物,由于观察距离及方位不同, 在视觉上会引起不同的反映,这种现象就是透视 现象。研究这种现象并使之能在平面上用线来表 现其规律,使画面可正确地表现出物体之间的远 近和层次关系,使观察者获得立体的、有深度的 空间感觉,就必须研究透视变换的规律。
y s y s0 = Ys Ys max min
上海交通大学计算机系 何援军 21
2005年7月5日
6.5.3 屏幕投射的实施
令
X max X min Sx Xs max Xs min Ymax Ymin Sy Ysmax Ysmin
其中Sx,Sy分别为W和S在x和y方向的比例因子。 为了保证相同的比例和W在S中占有最大的区域两 个条件,取 S0=max(Sx,Sy) 于是有 x-x0=S0(xs-xs0) 即 xs= xs0+(x-x0)/S0 y-y0=S0(ys-ys0) ys= ys0+(y-y0)/S0
6.
Y
X
7. 8. 9.
Y Z Z
Z Y X
// ctgα y·ze, -ctgα x/sinα y·ze, tgα z/sinα x·ze, -ctgα x·ze,
灭 备 注 点 Z 数 1 1 个灭点在中心 0,0 2 2 个灭点位于同一 0, tgα x·ze 垂直方向 2 2 个灭点位于同一 tgα y·ze,0 水平方向 1 1 个灭点在中心 0,0 3 2 个灭点位于同一 -tgα y·ze, tgα x/cosα y·ze 垂直方向,1 个灭 点在水平轴上 -tgα y/cosα x·ze, 3 2 个灭点位于同一 tgα x·ze, 水平方向,1 个灭 点在垂直轴上 -tgα y·cosα z·ze, 2 灭点成歪斜状态 -tgα y·sinα z·ze, 3 灭点成歪斜状态 -tgα y·ze,0 0,tgα x·ze 3 2 个灭点位于同一 水平方向,1 个灭 点在垂直轴上 灭点成歪斜状态 12
2005年7月5日 上海交通大学计算机系 何援军 19
6.5.3 屏幕投射的实施
由于该两窗口的尺寸不一定在X方向和Y方向 有相同的比例,为了使变换后的图形不出现 变形,因此投射时需要满足下列两个条件:
x,y方向成相同的比例变换(不引起变形); W在S中占有最大的区域,即或在水平方向占据S 整个跨度或在垂直方向占据S的整个跨距。
16
6.5.1概述
窗口变换,显示屏的坐标具有一定 的范围,为了保证物体能够在显示 屏上显示出来,需要屏幕投射变换; 视口变换,屏幕上的部分图形需局 部放大; 动态变换,输出的图形会随变换参 数改变(例如视点的移动)而变化。
2005年7月5日
上海交通大学计算机系 何援军
17
6.5.2 屏幕投射的基本原理
1 0 Pz= 0 0
0 1 0 0 0 1 1 ze 0 0 1 0 0
叫做视点在z轴上的透视变换阵。
2005年7月5日 上海交通大学计算机系 何援军 5
6.4.1 透视变换——基本方法
结论:与画面成一角度的平行线簇 经透视变换后交于灭点 可采用两种不同的方法获得透视图:
2005年7月5日
上海交通大学计算机系 何援军
7
6.4.2 透视投影转化为平行投影——理论
证明:设有一个空间物体B1,其空间点由P(x y z)表 述,用下列方法构筑另一个空间物体B2:
B2的拓扑与的空间物体B1一致,其相应空间点P´(x´ y´ z´) 由P经透视变换而得。 显然,B1在xoy平面上的透视投影坐标与B2在xoy平面上的 正投影坐标均为(x´ y´)。而由于
将物体绕x轴转 αx角(Rx),绕y轴转 αy角(Ry) , 再施以变换Pz即得三灭点透视,变换为:
E
0 0 1 0 cos x sin x R x R y PZ R x R y PZ 0 sin x cos x 0 0 0 0 cos y 0 0 0 sin y 1 0 0 sin y 0 1 0 0 0 cos y 0 0 0 1