透视和透视投影变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
透视和透视投影变换
——论图形变换和投影的若干问题之三
何援军
(上海交通大学计算机科学与工程系,上海,200030)
摘要:讨论了透视变换的基本原理:由于与画面成一角度的平行线簇经透视变换后交于灭点,可采用两
种不同的方法来获得透视图:一是保持画面铅垂而通过旋转物体使之与画面构成角度达到透视变换效果,得到了3种最佳透视变换矩阵;二是通过倾斜投影画面而达到透视变换效果,给出了通过倾斜画面得到
三灭点透视图的齐次透视变换矩阵。两种方法的灭点都是可预先控制(即可先决定灭点再决定变换矩阵),比较彻底的解决了透视变换的生成理论。给出了“对一个空间物体,一定存在另一个空间物体,使前者
在画面上的透视投影与后者的平行投影是一样的,且保留了深度方向的对应关系”的一个证明。这个性
质可使复杂的透视投影转化成简单的平行投影,使得立体图形的处理大为简化。
关键词:透视变换,齐次变换矩阵,CG
中图法分类号:TP391
Perspective and its Projection Transformation
He Yuanjun
(Department of Computer Science and Engineering,
Shanghai Jiaotong University, Shanghai 200030,China)
Abstract: Basic principles of perspective transformation are discussed. Based on the fact that parallel-lines in some angle with view plane intersect at vanishing-point, two methods are presented to get perspective view: one is to keep the view plane vertical while rotating objects to some angle, thus to achieve perspective transformation effect, and three best perspective transformation matrixes is presented. The other is to incline projective view to get the effect. Homogenous perspective transformation matrix are present, which can generate 3-vanishing-point drawing through inclining view. Both methods are beforehand controllable (that’s to say vanishing-point is first decided, then comes out the transformation matrix), thus generating theory of perspective transformation is thoroughly solved. Prove that for each 3D object there must be another 3D object, which parallel projection is the same as the former’s perspective projection, and the corresponding depth relation is well preserved. With this useful property, a complicated perspective projection can be converted to a simple parallel projection, so the complication of 3D graphics processing becomes sharply reduced.
Keywords: perspective transformation, homogenous transformation matrix, CG
1.引言
现实生活中的景物,由于观察距离及方位不同在视觉上会引起不同的反映,这种现象就是透视现象。研究这种现象并使之能在平面上用线来表现其规律,使画面可正确地表现出物体之间的远近之间的远近层次关系,使观察者获得立体,有深度的空间感觉,就必须研究透视变换的规律。
文献[1]讨论了正透视投影问题,分离了观察点位于世界坐标系Z轴上(中心投影)和不在Z 轴上(空间任意点的正透视投影)的问题,文献[2-4]也讨论了一、二、三个灭点的产生方法问题,
作者简介:何援军,男,1945年生,教授,博士生导师,主要研究领域为CAD/CG、几何计算的理论与算法研究等。Email:yjhe@
文献[5]的透视变换图示有错。几乎所有文献对透视变换所产生的灭点参数定量求取问题均未作深入的讨论。本文基于“与画面成一角度的平行线簇经透视变换后交于灭点”的透视变换基本原理,对透视变换参数的确切意义和产生原理等作了系统的分析,通过“旋转物体”和“倾斜投影画面”两种手段得到了最佳透视变换效果和灭点的定量求取。讨论了将透视投影转化为平行投影的问题。
2. 透视变换的基本原理
为简化问题的叙述,导出视点选在z 轴上,且取与此轴垂直的坐标平面为画面的透视投影公式。设视点E (0,0,z e )在z 轴上,空间点为P (x p ,y p ,z p ),则视线EP 的直线方程为:
⎪⎩
⎪
⎨⎧-+=-+=-+=t
z t y t
x z z z y x e p e p p )()0(0)0(0 (1)
此直线和画面z = 0相交时的参数为t = -z e /(z 1-z e ),将此参数t 代入(式1)前二式并把变换式应用于三个坐标,且由于P 是空间的任意一点,取消足标并用齐次坐标写出,(式1)的变换即是:
()()⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛-=100011000010
0001
1z y x
H Z Y X z e
(2)
矩阵
P z =⎪⎪
⎪
⎪
⎪
⎭⎫
⎝
⎛-10001100001000
01
z e
(3)
叫做视点在z 轴上的透视变换阵。同理,视点在x 轴上和y 轴上的变换阵,分别为
P x =⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛-100001000010/1001e x
P y =⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝⎛-10000100/10100
001
e y
(4)
3. 透视投影转化为平行投影
文献[6]讨论了透视投影转化为平行投影的问题,本文给出这一问题的新的论述。为了进一步说明透视变换P Z 后物体变化的情况,试考察一条参数直线的透视变换情况:
⎪⎩
⎪
⎨⎧+=+=+=t
c z z t c y y t
c x x z 0y 0x 0 -∞ 经(式2)或(式3)变换并规格化后得: ]][]⎪⎩ ⎪⎨⎧+-+=+-+=+-+=)t c z (z z )t c z (z )t c z (z z )t c y (y )t c z (z z )t c x (x z 0e e z 0'z 0e e y 0' z 0e e x 0' (6)