跳转至

三维观察

流程

flowchart LR
    L["局部空间<br/>(模型坐标)"]
    W["世界空间<br/>(世界坐标)"]
    V["观察空间<br/>(观察坐标)"]
    C["裁剪空间<br/>(投影坐标)"]
    S["屏幕空间<br/>(屏幕坐标)"]

    L -->|模型变换| W
    W -->|观察变换| V
    V -->|投影变换| C
    C -->|视口变换| S
  1. 模型变换

    将模型坐标系(modeling coordinate system)中的顶点坐标通过模型变换转移到世界坐标系中.

  2. 观察变换

    计算世界坐标系到观察坐标系(viewing coordinate system, 也称视点坐标系)的变换. 以此计算模型顶点相对于观察坐标系的坐标.

  3. 投影变换

    • 裁剪: 通过指定参数生成一个观察体(view volume), 仅保留观察体内的三维对象.
      • 截头锥体(frustum), 用于透视投影.
      • 正投影观察体(orthogonal-projection view volume), 用于正交投影(orthographic projection, 也称正投影(orthogonal projection)).
    • 投影: 将观察体内的三维对象投影到二维平面上. 该二维平面被称为观察平面或投影平面.
  4. 视口变换

    将投影平面绘制到显示器上的指定区域.

投影

评论