3D 计算机图形学
在 2D 系统中,我们仅使用两个坐标 X 和 Y,但在 3D 系统中,添加了一个额外的坐标 Z。3D 图形技术及其应用是娱乐、游戏和计算机辅助设计行业的基础。这是科学可视化的一个持续研究领域。
此外,3D 图形组件现在几乎是每台个人计算机的一部分,尽管传统上用于游戏等图形密集型软件,但它们越来越多地被其他应用程序使用。
平行投影
平行投影会丢弃 z 坐标,并且对象上每个顶点的平行线会延伸,直到与视图平面相交。在平行投影中,我们指定投影方向而不是投影中心。
在平行投影中,投影中心到投影平面的距离是无穷大。在这种类型的投影中,我们通过与原始对象上的连接相对应的线段连接投影的顶点。
平行投影不太现实,但有利于精确测量。在这种类型的投影中,平行线保持平行并且角度不保留。以下层次结构显示了各种类型的平行投影。
正投影
在正交投影中,投影方向垂直于平面投影。正交投影分为三种类型 -
- 正投
- 顶部投影
- 侧投影
斜投影
在斜投影中,投影方向不垂直于平面投影。在斜投影中,我们可以比正投影更好地观察物体。
倾斜投影有两种类型 -骑士式和内阁式。Cavalier 投影与投影平面成 45° 角。在骑士投影中,垂直于视平面的线的投影与线本身的长度相同。在骑士投影中,所有三个主方向的透视缩短因子相等。
内阁投影与投影平面成 63.4° 角。在内阁投影中,垂直于观察表面的线以其实际长度的 1/2 进行投影。两个投影如下图所示 -
等角投影
显示物体多于一侧的正投影称为轴测正投影。最常见的轴测投影是等角投影,其中投影平面与模型坐标系中的每个坐标轴以相等的距离相交。在该投影中,保留了线的平行度,但不保留角度。下图显示等角投影 -
透视投影
在透视投影中,投影中心到投影平面的距离是有限的,物体的大小与距离成反比,看起来更真实。
距离和角度不会保留,平行线也不会保持平行。相反,它们都汇聚在一个点,称为投影中心或投影参考点。透视投影有 3 种类型,如下图所示。
一点透视投影绘制起来很简单。
两点透视投影可提供更好的深度印象。
三点透视投影是最难画的。
下图显示了所有三种类型的透视投影 -
翻译
在 3D 翻译中,我们将 Z 坐标与 X 和 Y 坐标一起传输。3D 翻译过程与 2D 翻译类似。平移将对象移动到屏幕上的不同位置。
下图展示了翻译后的效果 -
通过将平移坐标 $(t_{x,} t_{y,} t_{z})$ 添加到原始坐标 (X, Y, Z) 来获得新坐标 (X', Y),可以对点进行 3D 平移',Z')。
$T = \begin{bmatrix} 1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0\\ t_{x}& t_{y}& t_{z}& 1\\ \end{bmatrix}$
P' = P∙T
$[X′ \:\: Y′ \:\: Z′ \:\: 1] \: = \: [X \:\: Y \:\: Z \:\: 1] \: \begin{ bmatrix} 1& 0& 0& 0\\ 0& 1& 0& 0\\ 0& 0& 1& 0\\ t_{x}& t_{y}& t_{z}& 1\\ \end{bmatrix}$
$= [X + t_{x} \:\:\: Y + t_{y} \:\:\: Z + t_{z} \:\:\: 1]$