开发经验
三 维 图 形 的 消 隐 算 法 分 析
周 长 发
北 京 轻 工 业 学 院 自 动 化 工 程 系, 北 京100037
--------------------------------------------------------------------------------
---- 摘 要 造 型 是 计 算 机 三 维 图 形 处 理 的 基 础, 而 消 隐 则 是 三 维 造 型 的 关 键。 本 文 剖 析 了 当 前 在CAD 三 维 图 形 处 理 中 最 主 要 的8 种 物 体 空 间 消 隐 算 法 和4 种 图 象 空 间 消 隐 算 法。
---- 关 键 词 造 型、 消 隐、 物 体 空 间 法、 图 象 空 间 法
---- 分 类 号
---- 造 型(modeling) 是 计 算 机 三 维 图 形 处 理 的 基 础, 而 消 除 隐 藏 面(hidden surface, 简 称 消 隐) 则 是 三 维 造 型 的 关 键。 所 谓 消 隐 就 是 不 画 出 即 隐 藏 从 当 前 观 察 点 看 不 见 的 三 维 模 型 表 面。 消 隐 算 法 的 核 心 就 是 判 断 三 维 模 型 的 表 面 是 否 可 见。
---- 抽 象 来 看, 一 种 消 隐 算 法 可 以 看 作 一 个 五 元 组, 即
HA = (I, O, D, P, S)
---- 其 中,I 为 要 进 行 消 隐 处 理 的 三 维 对 象 的 集 合;
---- O 为 经 过 消 隐 处 理 的 二 维 对 象 的 集 合;
---- D 为 进 行 消 隐 处 理 时 所 采 用 的 数 据 结 构;
---- P 为 进 行 消 隐 处 理 所 需 基 本 操 作 过 程 的 集 合, 主 要 包 括
分 类、 排 序
三 维 坐 标 变 换
透 视 投 影 变 换
基 本 图 形 元 素 间 的 求 交 计 算
两 个 区 域 重 叠 判 断
点 与 区 域 的 包 含 测 试
面 的 朝 向 测 试
---- S 为 消 隐 策 略, 即 规 定P 中 各 基 本 操 作 过 程 被 采 用 的 先 后 次 序。
---- 因 此, 设 计 消 隐 算 法 时 应 考 虑 上 述 五 个 要 素 及 它 们 之 间 的 相 互 关 系。
---- 在 计 算 机 图 形 学 中, 为 了 简 化 算 法, 一 般 是 利 用 多 面 体 去 逼 近 曲 面 体, 因 此 多 面 体 的 消 隐 算 法 是 曲 面 体 的 基 础。 本 文 的 消 隐 算 法 讨 论 主 要 是 基 于 多 面 体 的 消 隐 问 题, 对 曲 面 体 进 行 多 次 多 面 体 近 似, 对 每 一 多 面 体 运 用 多 面 体 消 隐 算 法 就 能 实 现 曲 面 体 的 消 隐。
---- 基 于B-rep 模 型(Boundary Representative Model) 和CSG 模 型(Constructive Solid Geometry Model) 的 三 维 造 型 消 隐 算 法 可 以 分 为 两 大 类, 即 物 体 空 间 法 和 图 象 空 间 法。 物 体 空 间 法 利 用 三 维 环 境 信 息 或 三 维 视 图( 主 要 使 用 三 维 观 察 坐 标, 有 时 也 使 用 三 维 世 界 坐 标) 来 消 除 隐 藏 面, 即 根 据 空 间 中 各 物 体 三 维 模 型 的 几 何 关 系, 来 判 断 哪 些 表 面 可 见, 哪 些 表 面 不 可 见。 图 象 空 间 法 基 于 物 体 三 维 模 型 的 二 维 显 示 图 形( 使 用 二 维 显 示 坐 标) 来 确 定 物 体 或 表 面 与 观 察 点 的 远 近 关 系, 从 而 判 断 哪 些 表 面 遮 挡 了 其 它 表 面。
---- 本 文 将 分 析 当 前 在CAD 三 维 图 形 处 理 中 最 主 要 的12 中 消 隐 算 法, 其 中8 种 属 于 物 体 空 间 法,4 种 属 于 图 象 空 间 法。 在 实 际 处 理 中, 由 于 物 体 表 面 形 态 的 复 杂 性 和 提 高 消 隐 处 理 的 效 率, 通 常 都 是 结 合 使 用 多 种 消 隐 算 法 来 完 成 物 体 的 消 隐 处 理 的。
---- 一、 物 体 空 间 法
---- 物 体 空 间 法 是 在 三 维 坐 标 系 中, 通 过 分 析 物 体 模 型 间 的 几 何 关 系, 如 物 体 的 几 何 位 置、 与 观 察 点 的 相 对 位 置 等, 来 进 行 隐 藏 面 判 断 的 消 隐 算 法。 世 界 坐 标 系 是 描 述 物 体 的 原 始 坐 标 系, 物 体 的 世 界 坐 标 描 述 了 物 体 的 基 本 形 状。 为 了 更 好 地 观 察 和 描 述 物 体, 经 常 需 要 对 其 世 界 坐 标 进 行 平 移 和 旋 转, 而 得 到 物 体 的 观 察 坐 标。 物 体 的 观 察 坐 标 能 得 到 描 述 物 体 的 更 好 视 角, 所 以 物 体 空 间 法 通 常 都 是 在 观 察 坐 标 系 中 进 行 的。 观 察 坐 标 系 的 原 点 一 般 即 是 观 察 点。
---- 物 体 空 间 法 消 隐 包 括 两 个 基 本 步 骤, 即 三 维 坐 标 变 换 和 选 取 适 当 的 隐 藏 面 判 断 算 法。
---- 一) 三 维 坐 标 变 换
---- 选 择 合 适 的 观 察 坐 标 系 不 但 可 以 更 好 地 描 述 物 体, 而 且 可 以 大 大 简 化 和 降 低 消 隐 算 法 的 运 算。 因 此, 利 用 物 体 空 间 法 进 行 消 隐 的 第 一 步 往 往 是 将 物 体 所 处 的 坐 标 系 转 换 为 适 当 的 观 察 坐 标 系。 这 需 要 对 物 体 进 行 三 维 旋 转 和 平 移 变 换。
---- 设 物 体 顶 点 的 原 始 坐 标 为(x, y, z), 变 化 后 的 观 察 坐 标 为(x*, y*, z*), 则
---- 1 . 旋 转 变 换
物 体 绕Y 轴 旋 转 的 角 度 α 的 三 维 旋 转 变 换 公 式 为
[x* y * z* 1]= [x y z] [ cosα sinα 0 0
-sinα cosα 0 0
0 0 1 0
0 0 0 1]
物 体 绕Z 轴 旋 转 的 角 度 β 的