Skip to content

3.5.5 平面投影

有若干种方法使得三维对象在二维媒介中可视化 [3.22]. 其中最重要的是平面投影. 一个平面投影是一个映射, 其中三维空间中的点被指派到平面上的点. 一个像点作为该平面与连接观察者和空间点之射线的交点给出. 该平面称为投影平面或画面, 射线称为投影线, 其方向则为投影方向.

3.5.5.1 投影的分类

1. 中心投影

中心投影也称透视投影, 其中投影线是从一个公共中心点发出的 (图 3.210). 距离透视中心 C 较远的物体比接近该中心的物体所成的像较小. 不与投影平面平行的平行线不再平行, 而是相交于所谓的没影点. 对于观看者来说透视投影给出了该物体的实际印象. 但是在这一映射中长度和角度之间的关系不再有了.

2. 平行投影

在平行投影时投影线相互平行 (图 3.211). 不平行于投影平面的线段变短, 而角通常被扭曲.

01935d9a-00b5-7750-94cb-0c4c22581c4c_319_404_742_409_282_0.jpg

01935d9a-00b5-7750-94cb-0c4c22581c4c_319_914_707_297_322_0.jpg

(1) 正交平行投影 如果投影线的方向垂直于画面则平行投影是正交投影. 如果还有画面垂直于其中一个坐标轴, 则它是一个正投影或主投影, 这在工业设计中是众所周知的.

如果投影方向不垂直于任何坐标轴, 则该正交投影称为轴测投影.

(2) 斜平行投影 如果投影线的方向不平行于画面的法向量, 则一个平行投影是斜投影(图 3.212). 斜投影的特殊情形是斜等轴测投影和斜角立体投影.

有时平行投影保持尺寸的比例, 但它们似乎并不比透视表示更真实.

01935d9a-00b5-7750-94cb-0c4c22581c4c_319_676_1377_295_286_0.jpg

3.5.5.2 局部或投影坐标系

在世界坐标系中定义投影平面的方向和投影结果的坐标是不合理的. 应用图像坐标系似乎是有用的,其 x,y 平面等同于投影平面. 这一图像坐标系表示的是从一个直视投影平面的观看者角度来看的投影.

设投影平面由参考点 R(xr,yr,zr) 和一个单位法向量 n={nx,ny,nz} 给定. 则图像坐标系按下列方式定义. 将原点置于 R(xr,yr,zr) . 在单位坐标向量 ei,ejek 中首先固定 ek=n . 在画面中固定坐标向量 eiej 需要额外的信息. 在世界坐标系中选取一个 “朝上的” 向量 u ,它在画面上的投影定义垂直方向,即图像坐标系的 y 方向. un 的正规化向量积定义向量 ei . 概括如下:

(3.473)ek=n,ei=u×nu×n,ej=ek×ei.

从世界坐标系到图像坐标系的映射的变换矩阵及其逆是通过在 (3.464) 和 (3.465) 中代入点 R(xr,yr,zr) 和向量 ei,ejek 的相应坐标给出的.

3.5.5.3 主投影

这种投影垂直于与其中一个坐标轴垂直的平面. 依赖于投影的方向和观看画面的方向, 在投影平面上形成了平面图, 俯视图或一个侧视图.

一点 P(xP,yP,zP) 到平行于 x,y 平面且方程为 z=z0 的投影平面的正交投影之矩阵形式是

(3.474)(xPyPzP1)=(10000100000z00001)(xPyPzP1)

通常选择 z0=0 的投影平面. 到坐标面的投影矩阵是

(3.475)Px=(0000010000100001),Py=(1000000000100001),Pz=(1000010000000001).

3.5.5.4 轴测投影

与正投影形成对照,现在投影平面的法向量 n={nx,ny,nz} 和投影方向不平行于任何坐标轴. 有三种不同情形要考虑:

  • 等距投影 n 与每个坐标轴的夹角相同. 因此,对于 n 的坐标有 |nx|=|ny|= |nz| . 投影坐标轴之间的夹角是 120 . 平行于坐标轴的线段具有相同的扭曲因子 (图 3.213(a)).

  • 双度量投影 n 与两个坐标轴具有相同的夹角. 沿这些方向相等的距离仍相等. n 的坐标中有两个具有相同的绝对值 (图 3.213(b)).

  • 三度量投影 n 与每个坐标轴具有不同的夹角. 因此,坐标轴具有不同的扭曲因子 (图 3.213(c)).

01935d9a-00b5-7750-94cb-0c4c22581c4c_321_448_492_748_261_0.jpg

3.5.5.5 等距投影

考虑投影平面包含世界坐标系的原点并且其法向量是 n={13,13,13} 的情形.

为了确定投影矩阵,到投影坐标系的一个坐标变换之后再合成一个沿 z 轴到 x,y 平面的投影. 图像坐标系的定义与 (3.473) 一致. 朝上的向量取作 u={0,0,1} . 这样 z 轴就被映射到 y 轴. 图像坐标系的单位基向量是

ei=u×nu×n={12,12,0},ej=ek×ei={16,16,26},ek=n={13,13,13}.

从图像坐标系到世界坐标系的映射的变换矩阵以及由 (3.464) 和 (3.465) 给出的逆是

MA=(121613012161300261300001),MA1=MAT=(121200161626013131300001).

(3.476)

于是,在图像坐标系中沿 z 轴的正交投影是

PA=PzMA1=(1000010000000001)(121200161626013131300001)(3.477)=(121200161626000000001).

投影矩阵 PA 将世界坐标系的点映射到图像坐标系的 x,y 平面. 乘以矩阵 MA 后我们得到世界坐标系中的点. 全部投影的投影矩阵是

(3.478)P=MAPzMA1=13(2110121011200003)

3.5.5.6 斜平行投影

在斜投影时投影线与投影平面以一个角 β 相交. 在图 3.214 中点 P(xP,yP,zP) 的斜投影是 P(xP,yP,zP) ,而它的正交投影是 P0 . 作为投影的线段 P0P 之长是 L . 这一投影由两个量刻画. d=Lz=1tanβ 给出了垂直于投影平面的线段的缩放因子. αx 轴与垂直线段的投影像之间的夹角. 则全部投影的坐标所遵循的规则是

(3.479)xP=xPzPdcosα,yP=yPzPdsinα,zP=0

(3.480)(xPyPzP1)=(10dcosα001dsinα000000001)(xPyPzP1)

如果投影平面不同于 x,y 平面,则图像坐标系的坐标变换必须要在应用投影矩阵之前完成 (参见第 320 页 3.5.5.2).

具有 α=45d=1 ,即 β=45 的单位立方体的斜等轴测投影. 垂直于投影平面的线段在这种情形没有变短 (图 3.215).

将不位于 x,y 平面的四个顶点作为一个矩阵的列. 用投影矩阵乘以这个矩阵将给出投影点的坐标:

(1212112112121121211200001111)=(101200112000000000)(0101001111111111).

具有 α=30d=12 ,即 β=63.4 的单位立方体的斜角立体投影. 垂直于投影平面的线段在这种情形被减半 (图 3.216).

01935d9a-00b5-7750-94cb-0c4c22581c4c_323_687_607_271_336_0.jpg

01935d9a-00b5-7750-94cb-0c4c22581c4c_323_455_1019_299_296_0.jpg

01935d9a-00b5-7750-94cb-0c4c22581c4c_323_919_1079_291_238_0.jpg

不位于 x,y 平面的四个顶点的投影坐标由

(34134341341414343400001111)=(103400114000000001)(0101001111111111)

计算.

3.5.5.7 透视投影

1. 映射公式

透视投影的映射公式可以在图像坐标系中合理地给出. 原点的选取要使得投影中心位于 z 轴上.

正如在图 3.217 中可以看到的,点 P(xP,yP,zP) 与它的投影像 P(xP,yP , zP ) 的坐标之间的关系可以用截距定理的等式 (参见第 176 页 3.1.3.2,5.) 计算:

xPxP=z0z0zP=11zPz0,yPyP=11zPz0,zP=0.

原坐标与像坐标之间的关系不是线性的. 然而利用齐次坐标 (参见第 310 页 3.5.4.2) 的性质, 投影规则可以用下面的矩阵形式给出:

(3.481)(xPyPzP1)=(xPyP01zPz0)=(100001000000001z01)(xPyPzP1).

01935d9a-00b5-7750-94cb-0c4c22581c4c_324_541_1012_558_372_0.jpg

2. 没影点

透视投影具有性质: 不平行于画面的平行线看上去像是彼此相交于一点. 这个点称为没影点. 平行于坐标轴的直线的没影点称为主点或主没影点. 主点的个数等于和画面相交的坐标轴个数. 图 3.218 显示的是有一个、两个和三个主点的透视图像. 主点和画面与平行于坐标轴的射线之交点重合. 如果投影中心是 C(xc,yc,zc) , 画面的一个点是 R(xr,yr,zr) 而法向量是 n={nx,ny,nz} ,则主点存在时其坐标为

(3.482a)Fx(xc+dnx,yc,zc),Fy(xc,yc+dny,zc),Fz(xc,yc,zc+dnz),

其中

(3.482b)d=(cr)n=(xcxr)nx+(ycyr)ny+(zczr)nz.

如果法向量 n 的一个坐标是零,则在此方向没有主点.

01935d9a-00b5-7750-94cb-0c4c22581c4c_325_397_549_850_290_0.jpg

version 1.24.0