透 视 投 影 是 3D固 定 流 水 线 的 重 要 组 成 部 分 , 是 将 相 机 空 间 中 的 点 从 视 锥 体 (frustum)变 换 到 规 则 观 察 体 (Canonical View Volume)中 , 待 裁 剪 完 毕 后 进 行 透 视 除 法 的 行 为
在 算 法 中 它 是 通 过 透 视 矩 阵 乘 法 和 透 视 除 法 两 步 完 成 的
透 视 投 影 变 换 是 令 很 多 刚 刚 进 入 3D图 形 领 域 的 开 发 人 员 感 到 迷 惑 乃 至 神 秘 的 一 个 图 形 技 术
其 中 的 理 解 困 难 在 于 步 骤 繁 琐 , 对一 些 基 础 知 识 过 分 依 赖 , 一 旦 对 它 们 中 的 任 何 地 方 感 到 陌 生 , 立 刻 导 致 理 解 停 止 不 前
没 错 , 主 流 的 3D APIs如 OpenGL、 D3D的 确 把 具 体 的 透 视 投 影 细 节 封 装 起 来, 比如 gluPerspective(„) 就可以根据输入 生 成 一 个 透 视 投 影 矩 阵
而且在 大多 数情况下不 需要 了解 具 体 的 内幕算 法 也可以完 成 任务
但是 你不 觉得, 如 果想要 成 为 一 个 职业的 图 形 程序员 或游 戏开 发 者, 就应该真正降伏透 视 投 影 这个 家伙么
我们 先从 必需的 基 础 知 识 着手, 一 步 一 步 深入 下去(这些 知 识 在 很 多 地 方 可以单独找到 , 但我从 来没 有在 同一 个 地 方 全部 找到 , 但是 你现在找到 了)
我们 首先介绍两 个 必须掌握的 知 识
有了它 们 , 我们 才不 至 于 在 理 解 透 视 投 影 变 换 的 过 程中 迷 失方 向(这里会使用到 向量几何 、矩