收藏 分享(赏)

三维图形的消隐算法分析.txt

上传人:myw993772 文档编号:6063377 上传时间:2019-03-25 格式:TXT 页数:9 大小:18.11KB
下载 相关 举报
三维图形的消隐算法分析.txt_第1页
第1页 / 共9页
三维图形的消隐算法分析.txt_第2页
第2页 / 共9页
三维图形的消隐算法分析.txt_第3页
第3页 / 共9页
三维图形的消隐算法分析.txt_第4页
第4页 / 共9页
三维图形的消隐算法分析.txt_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、三维图形的消隐算法分析- 摘 要 造 型 是 计 算 机 三 维 图 形 处 理 的 基 础, 而 消 隐 则 是 三 维 造 型 的 关 键。本 文 剖 析 了 当 前 在CAD 三 维 图 形 处 理 中 最 主 要 的8 种 物 体 空 间 消 隐 算 法 和4 种 图 象 空 间 消 隐 算 法。 - 关 键 词 造 型、 消 隐、 物 体 空 间 法、 图 象 空 间 法 - 分 类 号 - 造 型(modeling) 是 计 算 机 三 维 图 形 处 理 的 基 础, 而 消 除 隐 藏 面(hidden surface, 简 称 消 隐) 则 是 三 维 造 型 的 关 键。

2、所 谓 消 隐 就 是 不 画 出 即 隐 藏 从 当前 观 察 点 看 不 见 的 三 维 模 型 表 面。 消 隐 算 法 的 核 心 就 是 判 断 三 维 模 型 的 表 面 是 否 可 见。 - 抽 象 来 看, 一 种 消 隐 算 法 可 以 看 作 一 个 五 元 组, 即 HA = (I, O, D, P, S)- 其 中,I 为 要 进 行 消 隐 处 理 的 三 维 对 象 的 集 合; - O 为 经 过 消 隐 处 理 的 二 维 对 象 的 集 合; - D 为 进 行 消 隐 处 理 时 所 采 用 的 数 据 结 构; - P 为 进 行 消 隐 处 理 所 需

3、基 本 操 作 过 程 的 集 合, 主 要 包 括 分 类、 排 序 三 维 坐 标 变 换 透 视 投 影 变 换 基 本 图 形 元 素 间 的 求 交 计 算 两 个 区 域 重 判 断 点 区 域 的 包 面 的 - S 为 消 隐 , 即 P 中 基 本 操 作 过 程 采 用 的 序。 - , 计 消 隐 算 法 时 五 个 要 素 间 的 关 。 - 在 计 算 机 图 形 中, 为 了 简 算 法, 一 是 用 面 体 面 体, 面 体 的 消 隐 算 法 是 面 体 的 基 础。 本 文 的 消 隐 算 法 currency1 主 要 是 基 “ 面 体 的 消 隐 , 对

4、 面 体 进 行 面 体 , 对 fi 一 面 体 fl 用 面体 消 隐 算 法 就 面 体 的 消 隐。 - 基 “B-rep 模 型(Boundary Representative Model) 和CSG 模 型(Constructive Solid Geometry Model) 的 三 维 造 型 消 隐 算 法 可 以 分 为 两 类, 即 物 体 空 间 法 和 图 象 空 间 法。 物 体 空 间 法 用 三 维 三 维 视 图( 主 要 用 三 维 观察 坐 标, ” 时 用 三 维 坐 标) 来 消 除 隐 藏 面, 即 据 空 间 中 物 体 三 维 模 型 的 关 ,

5、来 判 断 表 面 可 见, 表 面 不 可 见。 图 象 空 间 法 基 “ 物 体 三 维 模 型 的 二 维 图 形( 用 二 维 坐 标) 来 物 体 表 面 观 察 点 的 关 , 从 而 判 断 表 面 了 其 表 面。 - 本 文 分 析 当 前 在CAD 三 维 图 形 处 理 中 最 主 要 的12 中 消 隐 算 法, 其 中8 种 “ 物 体 空 间 法,4 种 “ 图 象 空 间 法。 在 处 理 中, “ 物 体 表 面 形 的 和 消 隐 处 理 的 , 是 结 合 用 种 消 隐 算 法 来 物 体 的 消 隐 处 理 的。 - 一、 物 体 空 间 法 - 物

6、体 空 间 法 是 在 三 维 坐 标 中, 过 分 析 物 体 模 型 间 的 关 , 物体 的 、 观 察 点 的 对 , 来 进 行 隐 藏 面 判 断 的 消 隐 算 法。 坐 标 是 物 体 的 坐 标 , 物 体 的 坐 标 了 物 体 的 基 本 形 。 为 了 观 察 和 物 体, 经 需 要 对 其 坐 标 进 行 和 , 而 物 体 的 观 察 坐 标。 物 体 的 观 察 坐 标 物 体 的 视 , 所 以物 体 空 间 法 是 在 观 察 坐 标 中 进 行 的。 观 察 坐 标 的 点 一 即 是 观 察 点。 - 物 体 空 间 法 消 隐 包 括 两 个 基 本

7、, 即 三 维 坐 标 变 换 和 当 的 隐 藏 面 判 断 算 法。 - 一) 三 维 坐 标 变 换 - 合 的 观 察 坐 标 不 可 以 物 体, 而 可 以 简 和 消 隐 算 法 的 fl 算。 , 用 物 体 空 间 法 进 行 消 隐 的 一 是 物 体 所 处 的 坐 标 换 为 当 的 观 察 坐 标 。 需 要 对 物 体 进 行 三 维 和 变 换。 - 物 体 点 的 坐 标 为(x, y, z), 变 的 观 察 坐 标 为(x*, y*, z*), 则 - 1 变 换 物 体 Y 的 的 三 维 变 换 为x* y * z* 1= x y z cos sin 0

8、 0-sin cos 0 00 0 1 00 0 0 1 物 体 Z 的 的 三 维 变 换 为x* y * z* 1= x y z cos 0 -sin 00 1 0 0sin 0 cos 00 0 0 1 物 体 X 的 的 三 维 变 换 为x* y * z* 1= x y z 1 0 0 00 cor sin 00 -sin cos 00 0 0 1 表 达 展 开 可 下 x=cosx-sinz;y=cosy-sinx;z=sinx+cosz;x*=cosx+siny;y*=sinz+cosy;z*=cosz-sin y; - 其 中,x、y 和z 是 fl 算 中 间 变 量。 -

9、 2 变 换 - 三 维 变 换 下 x* y * z* 1= x y z 1 1 0 0 00 1 0 00 0 1 0x y z 1 - 展 开 即 x*=x+xy*=y+y z*=z+z - 其 中 x、 y、 z 分 别 为 物 体 沿X、Y、Z 的 量。 - 二) 消 隐 算 法 - 用 的 物 体 空 间 消 隐 算 法 包 括 面 法、 背 面 消 除 法、 径 预 排 序 法、径 排 序 法、 隔 离 面 法、 深 排 序 法、 光 线 跟 踪 法 和 分 解 法。 其 中 前 四 种 算 法 最 用, 的 基 础 是 背 面 消 隐 理。 所 谓 背 面 消 隐 理, 即 是

10、 对 观 察 点 来 说 面 的 物 体 表 面 是 不 可 见 的, 隐 藏。 - 1 面 法 - 据 解 析 理, 过 标 准 的 面 方 程 可 以 判 断 给 点 是 在 面 的 正 面 还 是 背 面。 面 法 用 理 来 判 断 观 察 点 “ 物 体 表 面 的 一 面, “ 背 面 一 侧, 则 表 面 不 可 见, 消 隐; 反 则 可 见。 - 对 物 体 任 意 表 面, 可 其 划 分 为 若 干 个 面, 在 据 面 任 意 三 点的 坐 标 可 以 求 其 面 方 程。 标 准 面 方 程 为 Ax+By+Cz+D = 0;- 其 中A、B、C、D 为 决 面 数。

11、 果(x1, y1, z1)、(x2, y2, z2)、(x3,y3, z3) 为 面 已 知 三 点 坐 标, 则 可 求 A、B、C、D 下: A=y1(x2-x3)+y2(z3-z1)+y3(z1-z2);B=z1(x2-x3)+z2(x3-x1)+z3(x1-x2);C=x1(y2-y3)+x2(y3-y1)+x3(y1-y2);D=-x1(y2z3-y3z2)-x2(y3z1-y1z3)-x3(y1z2-y2z1); - 观 察 点 坐 标 为(x, y, z), 果 Ax+By+Cz+D = 0, 则 观 察 点(x, y, z) “ 面 ; Ax+By+Cz+D 0, 则 观 察

12、 点(x, y, z) “ 面 背 面 一 侧, 面 不 可 见, 隐 藏; Ax+By+Cz+D 0, 则 面 不 可 见, 隐 藏; D 0, 则 物 体 表 面 是 可 见 的 观 察 点 的 面; 果, 则 物 体 表 面 是 不可 见 的 背 观 察 点 的 面, 消 隐。 - 为 量 和 间 的 夹 , 视 量 的 长 为 线 段OP 的 长 |OP|, 则 据 量 点 积 的 义 可 知=|OP|cos 。 果 0, 则cos 0( 即 0); 反 , 果, 则cos 0( 即 )。 - , 背 面 消 除 法 的 判 据 简 为: cos 0, 则 物 体 表 面 不 可 见,

13、 消 隐; cos 0, 则 物 体 表 面 可 见, 画 出。- 据 面 法 量 的 义 可 知, 在 面 按 逆 时 针 方 P1(x1, y1, z1)、P2(x2, y2, z2)、P3(x3, y3, z3) 三 点, 则 - ( ) - 其 中: - ( ) - 经 过 投 影 变 , 视 量 Z 是 行 的, 量 和 间 的 夹 即 为Z 量 的 夹 , 所 以 - “|0, 所 以cos 的 正 负 决 “C, 背 面 消 除 法 的 判 据 为:- ( ) C 0, 则 物 体 表 面 不 可 见, 消 隐; C 0, 则 物 体 表 面 可 见, 画 出。- 3 径 预 排

14、 序 法 - 径 预 排 序 法 据 物 体 在 三 维 坐 标 XY 面 中 的 来 判 断 物 体 住 了 其 物 体, 物 体 的 表 面 住 了 其 表 面。 对 具 ” 同 的物 体 表 面, 观 察 点 较 的 住 较 的。 图2 所 。 图2 径 预 排 序 法 例 - 径 预 排 序 法 消 隐 的 要 点 是 对 物 体 物 体 的 表 面 进 行 的 排 序, 对 具 ” 同 的 物 体 表 面, 画 较 的, 画 较 的, 样 果 较 的 物 体 表 面 住 了 较 的 物 体 表 面, 则 的 部 分 覆 盖 而 消 隐。 对 具 ” 不 同 的 物 体 表 面, 画

15、一 个 可 据 需 要 来 决 。果 存 在 凹 面 物 体 的 消 隐, 一 画 物 体 中 心 部 分, 再 画 物 体 的 两 侧, 以正 表 重 的 凹 面 模 型。 - 径 预 排 序 法 可 以 对 任 意 形 的 物 体 进 行 消 隐 处 理。 需 要 预 知 道 观 察 , 并 据 对 物 体 的 画 图 顺 序 预 排 序。 而 构 造 模 型 的 编 码受 种 排 序 的 限 制, 模 型 不 进 行 变 换。 - 4 径 排 序 法 - 径 排 序 法 是 对 径 预 排 序 法 的 改 进 算 法, 构 造 模 型 的 编 码 据 观 察 的 变 , 来 自 动 调

16、整 物 体 表 面 的 顺 序 即 画 图 顺 序, 以 对 模 型 的 变 换, 以 便 从 不 同 的 来 观 察 物 体。 算 法 需 要 检 变换 的 , 并 随 的 变 而 调 整 物 体 表 面 的 顺 序。 - 5 隔 离 面 法 - 隔 离 面 法 主 要 用 “ 个 物 体 间 的 消 隐 处 理, 其 基 础 是 面 法。其 基 本 理 是, 在 需 要 进 行 消 隐 处 理 的 两 个 物 体 间 建 立 一 个 虚 拟 面, 并据 面 法 判 断 出 两 个 物 体 分 别 “ 该 面 的 一 侧, 以 该 面 的 一 侧 观 察 点, 则 可 以 推 “ 面 观 察

17、 点 一 侧 的 物 体 离 观 察 点 较 , “ 面 背 观 察 点 一 侧 的 物 体。 即 “ 面 背 观 察 点一 侧 的 物 体 首 画 出, 进 行 消 隐。 - 6 深 排 序 法 - 深 排 序 法 是 主 要 用 “ 分 析 个 物 体 间 是 否 存 在 表 面 的 消 隐 算 法。 其 理 是 比 较 不 同 物 体 表 面 的 表 的z 坐 标, 在 观 察 点 “ 点 的 观 察 坐 标 中,|z| 值 越 的 物 体 表 面 离 观 察 点 越 , 消 隐 的 可 越 , 画 出;|z| 值 越 小 的 物 体 表 面 离 观 察 点 越 , 可 较 的 物 体

18、表 面, 画 出。 - 深 排 序 法 需 要 用 深 和 绘 图 顺 序, 用 “ 模 型 数 据 中 包 深 和 绘 图 顺 序 的 物 体 造 型。 - 7 光 线 跟 踪 法 - 光 线 跟 踪 法 的 基 本 理 是, 人 看 见 物 体 是 为 物 体 反 射 光, , 跟 踪 从 光 源 发 出 的 光 线, 光 线 投 射 物 体 , 再 从 物 体 反 射 观 察 点, 在 光 线 轨 迹 中 离 观 察 点 最 的 物 体 表 面 其 物 体 表 面。 - 光 线 跟 踪 法 需 要 分 析 物 体 表 面 的 fi 一 点 的 光 反 射 , 需 要 的 内 存 空 间

19、较 , fl 算 速 较 慢。 种 方 法 可 同 时 生 物 体 的 光 照 模 型, 产 生 的 消 隐 果 和 真 感 很 。 - 8 分 解 法 - 分 解 法 是 对CSG 模 型 的 一 种 消 隐 算 法, 首 物 体 分 解 为 一 列 的 立 方 体, 离 观 察 点 的 立 方 体 的 立 方 体, 从 而 消 隐。 分 解 法 算 法 , 需 要 的 内 存 空 间 , 速 满, 仅 用 “ 一 特 殊 的 场 合。 - 二、 图 象 空 间 法 - 图 象 空 间 法 基 “ 物 体 三 维 模 型 的 二 维 图 形 来 物 体 表 面 的 fi 一 点 观 察 点

20、的 关 , 从 而 判 断 表 面 了 其 表 面。 为 了 获 三 维 物 体 的 二 维 图 形, 在 对 物 体 进 行 和 变 , 还 需 对 物 体 进行 透 视 投 影 变 换。 图3 透 视 投 影 变 换 意 - 图3 所 , 三 维 空 间 中 点P(x, y, z) 透 视 点E 沿Z 透 视 投 影 变 换 XOY 二 维 面 中 的 点P*(x*, y*, z*)。 E 点 距 点O 的 距 离 为r, 则 透 视 投 影 变换 为: - (x*, y*, z*, 1)=(x, y, z, 1)MPeMPr - 中MPe、MPr 分 别 为 透 视 变 换 矩 阵 和

21、投 影 变 换 矩 阵, 的 表 达 下:- ( ) - 透 视 投 影 变 换 展 开 可 : - ( ) - 1 Z 缓 冲 区 法 - Z 缓 冲 区 法 首 建 立 一 个 的 缓 冲 区, 用 来 存 储 三 维 物 体 沿Z 透 视 投 影 而 的 二 维 图 形 的 所 ” 象 素 的 值, 叫 做Z 缓 冲 区。Z 缓 冲 区 的 单 元 个数 屏 幕 象 素 点 的 个 数 同, 和 缓 冲 区 的 单 元 个 数 同, 而 间 是 一 一 对 的。Z 缓 冲 区 fi 个 单 元 的 小 决 “ 图 形 在 观 察 坐 标 中Z 方 的 变 。Z 缓 冲 区 的 fi 个

22、单 元 的 值 是 对 象 素 点 所 对 的 物 体 表 面 点的Z 坐 标 值。 - 用Z 缓 冲 区 法 进 行 消 隐 和 造 型 的 过 程 就 是 对 屏 幕 中 fi 一 点 进 行 判 断 并 给 缓 冲 区 和Z 缓 冲 区 中 单 元 进 行 值 的 过 程。 用 形 该 算 法 下: Z缓冲区消隐算法1) 缓冲区 单元的值 为背 值;2) Z缓冲区 单元的值 为Z坐标可 出的最值;3) :对fi一物体:对物体fi一面的fi一点(x, y, z)i)对(x, y, z)做透视投影变换,变换 的X、Y坐标(x*, y*);ii) 果Z缓冲区中(x*, y*)对 单元的值小“z

23、,则 a) Z缓冲区中(x*, y*)对 单元的值 为z;b) 缓冲区中(x*, y*)对 单元的值 为点(x, y, z)的值( 是 、 值 表的 值);iii) 果Z缓冲区中(x*, y*)对 单元的值“z,则 a)说 前 缓冲区中(x*, y*)对 单元的所表的物体 点比点(x, y, z)接观察点,即点(x, y, z) 消隐;b) Z缓冲区和 缓冲区中(x*, y*)对 单元的值 不变;4) :对屏幕 fi一点(x*, y*)据 缓冲区中(x*, y*)对 单元的值画出象素点。- Z 缓 冲 区 消 隐 算 法 简 单、 可 , 而 消 隐 和 表 果 很 。 需 要 的 内 存 量

24、 , fl 算 , 时。 - 2 线 法 - 线 法 是 对Z 缓 冲 区 法 进 行 改 进 而 生 出 来 的 消 隐 算 法。 为 了 Z 缓 冲 区 法 需 要 分 屏 幕 象 素 点 的 个 数 同 单 元 的 内 存 一 点, 可 以 整 个 屏 幕 分 若 干 区 域, 一 个 区 一 个 区 进 行 处 理, 样 可 以 Z 缓 冲 区 的 单 元 个 数 为 屏 幕 一 个 区 域 的 象 素 点 的 个 数。 屏 幕 的 一 行 作 为 样 的 区 域, 便 了 线 法, 称 为 线Z 缓 冲 区 法,Z 缓 冲 区 的 单 元 个 数 仅 为 屏 幕 一 行 的 象 素

25、点 的 个 数。 - 线 法 的 形 下: 线消隐算法1) :从 下对屏幕中fi一 线i) 缓冲区对 行 单元的值 为背 值;ii) Z缓冲区 单元的值 为Z坐标可 出的最值;iii) :对fi一物体:对物体fi一表面果当前 线 当前物体表面 交,则: 线 当前物体表面的交点是 对的,对fi对交点 间的fi一点(x, y, z)A)对(x, y, z)做透视投影变换,变换 的X、Y坐标(x*, y*);B) 果Z缓冲区中(x*, y*)对 单元的值小“z,则 a) Z缓冲区中(x*, y*)对 单元的值 为z;b) 缓冲区中(x*, y*)对 单元的值 为点(x, y, z)的值( 是 、 值

26、 表的 值);C) 果Z缓冲区中(x*, y*)对 单元的值“z,则 a)说 前 缓冲区中(x*, y*)对 单元的所表的物体 点比点(x, y, z) 接观察点,即点(x, y, z) 消隐;b) Z缓冲区和 缓冲区中(x*, y*)对 单元的值 不变;iv) :对屏幕 fi一点(x*, y*)据 缓冲区中(x*, y*)对 单元的值画出象素点。- 3 视 线 投 射 法 - 视 线 投 射 法 的 基 本 理 是 物 体 的 二 维 图 看 是 从 物 体 的 视 线 物 体 的 可 见 点 投 射 屏 的 投 影。 该 算 法 的 形 下: 视线投射消隐算法1) :对屏幕 fi一象素(x

27、*, y*) 经过视点和象素(x*, y*)的直线Ray;判断直线Ray(x, y) 物体是否 交;果存在交点,则 a)求出直线Ray 物体的 一个交点(x, y, z);b)交点(x, y, z)是可见点,其交点 消隐;c) 点(x, y, z)的值( 是 、 值表的 值) 给象素(x*, y*);2) :对屏幕 fi一点(x*, y*)画出象素(x*, y*)对 的值。- 4 值 检 法 - 值 检 法 需 其 消 隐 算 法 结 合 用, 主 要 用 来 消 隐 速 。 值 检 法 过 计 算 物 体 表 面 的 坐 标 的 和 小 值 来 判 断 两 个 表 面 是 否 存 在 重 。

28、 果 一 个 表 面 的x 坐 标 的 值 小 “ currency1 一 个 表 面 的x 坐 标 的 小 值, 则 两 个 表 面 不 重 , 可 以 按 任 意 顺 序 直 接 画 出。 否 则, 两 个 表 面 存 在 重 , 需 要 用 其 消 隐 算 法 进 行 消 隐 处 理。 - 用 值 检 法 画 出 不 发 生 重 的 表 面, 在 用 其 算 法 处 理 重 的 表 面。 - “ 文 Newmann W M,Sproull R F,Principles of Interactive Computer Graphics,MacGrawHill,1979 Giloi W K,

29、Interactive Computer Graphics - Data Structure,Algorithms,Languages,Printice-Hall,1978 Hamlin G,Gear G,Raster-scan Hidden Surface Algorithm Techniques,Computer Graphics,Vol. 11,pp206-213,1977 Griffiths J G,Bibliography of Hidden-line and Hidden-surface Algorithms,Comput. Aided Des. ,Vol. 10,No. 3,pp

30、203-206,1978 Atherton P R,A Scan-line Hidden Surface Removal Procedure for Constructive Solid Geometry,Computer Graphics,Vol. 17,No. 3,1983- An Analysis of Algorithms for 3-D Graphics Hidden Surface Removal - Zhou Zhangfa - (Department of Automatic Engineering, Beijing Institute of Light Industry,Be

31、ijing 100037) - Abstract Modeling is the foundation for 3-D computer graphics, while hiddensurface removal is the key of 3-D modeling. This paper discusses 11 algorithms widely used in modern 3-D computer graphics and CAD, 8 of which belong to objectspace algorithms, the other belong to image space algorithms. - Key words Modeling Hidden Surface Removal Object Space Algorithm Image Space Algorithm - E-mail: - :68905574 - fi: fl 11 号 1 510 - 编:100037

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报