透视

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

如:我们站在笔直的大街上,向远处看去,会感到街上具有相同高度的路灯柱子,显得近处的高,远处的矮,越远越矮。这些路灯柱子,即使它们之间的距离相等,但是视觉产生的效果则是近处的间隔显得大,远处的间隔显得小,越远越密。观察道路的宽度,也会感到越远越窄,最后汇聚于一点。这些现象,称之为透视现象。

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

图中,\(AA',BB',CC'\)为一组高度和间隔都相等,排成一条直线的电线杆,从视点\(E\)去看,发现

\(∠AEA>∠BEB>∠CEC\)

若在视点\(E\)与物体间设置一个透明的画面P, ,则在画面上看到的各电线杆的投影\(aa'>bb'>cc'\)

\(aa'\)\(EA,EA'\)与画面\(P\)的交点的连线;

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

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

∴近大远小

若连\(a,b,c\)\(a',b',c'\)各点,它们的连线汇聚于一点。

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

平面几何投影—透视投影

透视投影

  • 投影中心与投影平面之间的距离为有限
  • 特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实。
  • 灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点
  • 主灭点:平行于坐标轴的平行线产生的灭点。
    • 一点透视
    • 两点透视
    • 三点透视

透视投影

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

一点透视(平行透视)

立方体平行透视图

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

二点透视(成角透视)

两点透视(成交透视)

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

三点透视(斜透视)

三点透视

此时,投影平面与三坐标轴均不平行。这时的三组平行线均产生灭点。

透视举例

透视变换方程

坐标为\((x,y,z)\)\(P\)点到观察平面上点\((x_p,y_p,z_p)\)的透视投影。

直线AB的参数化方程:

\[\left\{\begin{matrix} x'=x-xu\\ y'=y-yu\\ z'=z-(z-z_{prp})u\qquad u∈[0,1] \end{matrix}\right. \]

\(u=0\),位于\(P=(x,y,z)\)

\(u=1\),位于投影参考点\((0,0,zprp)\)处。

在观察平面上,\(z’=z_{vp}\)

可以得到:

\[z_{vp}=z-(z-z_{prp})u\\ u=\frac {z-z_{vp}}{z-z_{prp}} \]

\(u\)值代入\(x’\)\(y’\)方程,得到透视变换方程:

\[x_p=x\cdot \frac {z_{prp}-z_{vp}}{z_{prp}-z}=x\cdot \frac {d_p}{z_{prp}-z}\\ y_p=y\cdot \frac {z_{prp}-z_{vp}}{z_{prp}-z}=y\cdot \frac {d_p}{z_{prp}-z} \]

其中, \(d_p= z_{prp}-z_{vp}\)投影参考点到观察平面的距离

\(z_{vp} =0\),则

\[xp=x\cdot \frac {z_{prp}}{z_{prp}-z}=x\cdot \frac 1 {1-\frac z{z_{prp}}}\\ yp=y\cdot \frac {z_{prp}}{z_{prp}-z}=y\cdot \frac 1 {1-\frac z{z_{prp}}} \]

\(z_{prp}=0\),则

\[x_p=x\cdot \frac {z_{vp}}{z}=x\cdot \frac 1{\frac z {z_{vp}}}\\y_p=y\cdot \frac {z_{vp}}{z}=y\cdot \frac 1{\frac z {z_{vp}}} \]

猜你喜欢

转载自www.cnblogs.com/iamfatotaku/p/12641483.html