三维观察
流程
flowchart LR
L["局部空间<br/>(模型坐标)"]
W["世界空间<br/>(世界坐标)"]
V["观察空间<br/>(观察坐标)"]
C["裁剪空间<br/>(投影坐标)"]
S["屏幕空间<br/>(屏幕坐标)"]
L -->|模型变换| W
W -->|观察变换| V
V -->|投影变换| C
C -->|视口变换| S
-
模型变换
将模型坐标系(modeling coordinate system)中的顶点坐标通过模型变换转移到世界坐标系中.
-
观察变换
计算世界坐标系到观察坐标系(viewing coordinate system, 也称视点坐标系)的变换. 以此计算模型顶点相对于观察坐标系的坐标.
-
投影变换
- 裁剪: 通过指定参数生成一个观察体(view volume), 仅保留观察体内的三维对象.
- 截头锥体(frustum), 用于透视投影.
- 正投影观察体(orthogonal-projection view volume), 用于正交投影(orthographic projection, 也称正投影(orthogonal projection)).
- 投影: 将观察体内的三维对象投影到二维平面上. 该二维平面被称为观察平面或投影平面.
- 裁剪: 通过指定参数生成一个观察体(view volume), 仅保留观察体内的三维对象.
-
视口变换
将投影平面绘制到显示器上的指定区域.