收藏 分享(赏)

基于 ACIS 的几何造型技术与系统开发.docx

上传人:oceanpvg 文档编号:3508683 上传时间:2018-11-09 格式:DOCX 页数:486 大小:4.77MB
下载 相关 举报
基于 ACIS 的几何造型技术与系统开发.docx_第1页
第1页 / 共486页
基于 ACIS 的几何造型技术与系统开发.docx_第2页
第2页 / 共486页
基于 ACIS 的几何造型技术与系统开发.docx_第3页
第3页 / 共486页
基于 ACIS 的几何造型技术与系统开发.docx_第4页
第4页 / 共486页
基于 ACIS 的几何造型技术与系统开发.docx_第5页
第5页 / 共486页
点击查看更多>>
资源描述

1、基 于 ACIS 的 几 何 造 型 技 术 与 系 统 开 发詹海生 李广鑫 马 志 欣 编著清 华 大 学 出 版 社(京) 新登字 158 号内 容 简 介本 书 的 内 容 主 要 由 两 部 分 组 成 : ACIS 中的几何造型技术:基于 ACIS 的图形系统开发。本书尽量做 到 自 我 完 备 , 使 读 者 在 不 参 考 或 少 参 考 其 他 资 料 就 可 以 看 懂 本 书 的 内 容 , 所 以 在 重 点 讲 述 ACIS 的基本功 能及图形系统开发技术等内容的同时, 本书用相当的篇幅讲述了几何造型技术的一些基本原理, 如自由曲 面造型技术、 边界表示法以及实体的布

2、尔运算等方面的一些原理, 另外对程序设计中使用的主要语言一一 C+的 基 本 问 题 也 做 了 一 定 的 介 绍 。本书在划分章节时按上述两个主要内容划分, 而几何造型技术的原理分布在相应的章节中。 本书共有 24 章 , 内 容 涵 盖 : ACIS 介 绍 、 组 成 以 及 基 本 原 理 , 自 由 曲 面 造 型 , 实 体 造 型 , 变 形 造 型 , 模 型 编 辑 , 真 实感图形显示以及 ACIS 中造型算法的 C+实现和图形应用程序开发技术等。本书的读者对象为从事计算机图形学及其相关领域工作的系统开发人员、 教师以及学生。 为了更好地 使用本书, 读者需要一定的图形学

3、和 C+编程技术, 不过在涉及到上述两方面的概念或原理的地方 , 本书 都做了简洁的相关解释。版权所有,翻印必究。 本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。书 名 : 基 于 ACIS 的几何造型技术与系统开发作 者 : 詹 海 生 李 广 鑫 马 志 欣 编著出 版 者 : 清 华 大 学 出 版 社 ( 北 京 清 华 大 学 学 研 大 厦 , 邮 编 100084) http:/责任编辑:钟志芳印 刷 者:发 行 者 : 新 华 书 店 总 店 北 京 发 行 所开 本 : 7871092 1/16 印 张 : 30 字 数 : 711 千字 版 次 : 2002 年

4、 月 第 1 版 2002 年 月第 1 次印刷 书 号 : ISBN 7-302-05228-X / TP3073印 数 : 0001 5000定 价 : 00.00 元前 言几何造型是 CAD/CAM 技术的基础, 随着 CAD/CAM 技术的 应用范围不断扩大, 人们 对相应的软件系统的要求越来越高,这种要求不断地推动几何造型理论和方法的更新与发 展,从普通的球体、棱柱体等规则形状的表示到自由曲面的设计,再到基于图像的三维模 型重建,几何造型技术的应用领域不断扩大,而其复杂性也越来越高。我国在高档图形系统开发方面与世界发达国家有一定的差距,造成这个结果的主要原 因就是图形系统的技术复杂性

5、。图形系统的基本技术包括:计算几何、解析几何、微分几 何以及数值逼近等数学技术和软件技术。而这些技术的发展不是一蹴而就,而是按层次分 阶段的发展,由于这个原因,现在世界上主要的图形核心软件平台包括 ACIS 也就有三四 个,而许多商业化图形软件系统源自 ACIS 这些图形平台,如 Autodesk 公司的 MDT5.0 、 AutoInventor 以及其他一些产品、老牌 CAD 软件 CadKey 等 。ACIS 作为一个世界级的几何造型平台, 集成了当今先进的造型方法与技术, 以它为基 础开发图形系统或者作为学习研究几何造型技术的工具都可以获得事半功倍的效果。 ACIS 一词由英国剑桥博士

6、 Ian Braid 及其同 窗 Alan Grayer、 导师 Charles Lang 三人 的名字的第一 个字母再加上 Solid( 实 体 ) 的 第 一 个 字 母 组 合 而 成 。本书的主要内容由两部分组成:(1) ACIS 中的几何造型技术。 从第 1 章到第 10 章, 主要介 绍了几何造型技术的基本 概 念 、 ACIS 系 统 的 介 绍 、 几 何 体 的 表 示 方 法 、 模 型 的 产 生 与 修 改 、 自 由 曲 面 造 型 、 变 形 造 型以及模型显示等内容。(2)基于 ACIS 的几何造型系统的开发技术。从第 11 章到第 24 章,主要介绍基于 ACI

7、S 的几何造型系统开发技术,包括 ACIS 中的 C+程 序 和 Scheme 程序设计方法、规则 曲面、自由曲面以及交互功能设计等内容。本书的内容尽量做到自我完备,使读者在不参考或少参考其他资料就可以看懂本书的 内容,所以在重点讲述 ACIS 的基本功能及图形系统开发技术方面内容的同时,本书用相 当的篇幅讲述了几何造型技术的一些基本原理。本书的读者对象为从事计算机图形学及其相关领域工作的系统开发人员、教师以及学 生。为了更好地使用本书,读者需要掌握一定的图形学和 C+编 程 技 术 , 为 了 便 于 读 者 阅 读,提出如下建议仅供参考:对于熟悉几何造型概念的读者,在第一部分内容中重点阅读

8、第 2 章的内容,了解一下 ACIS 中的一些几何造型概念就可以了, 然后将重点放在第二部分内容的阅读上 。 而对于熟 悉 C+编 程 和 面 向 对 象 技 术 的 人 员 , 第 二 部 分 中 的 第 11 章 可 以 略 去 不 读 。本书由詹海生主持编写,主要编写了第 1、 2、 3、 4、 5、 6 章以及第 11、 12、 13、 14章 中 的 内 容 。 李 广 鑫 编 写 了 第 7、 8、 9、 10、 20、 21、 22、 23、 24 章 以 及 附 录 部 分 的 内 容 。基于 ACIS 的几何造型技术与系统开发4马志欣编写了第 15、 16、 17、 18、

9、19 章的内容。关于如何获得 ACIS 开发平台,可以参考附录 A 中的说明。 在本书的编写过程中得到美国 Spatial 公司的大力 支持, 他们的支持使我们能及时得到ACIS 系 统 的 最 新 版 本 ( 8.0 版 ) , 以 及 相 关 的 开 发 资 料 。 感谢我的导师周利华教授从始至终对本书的关心和支持,并在百忙之中仔细阅读了本书的原稿,提出了许多宝贵的建议。 感谢责任编辑钟志芳老师的大力支持,是她的认真、负责、热情的工作才保证了本书如期顺利地完成。 感谢我校虚拟产品研究中心和多媒体研究所的各位老师和同学的热心支持。 由于编者能力所限,尽管我们尽了最大努力,本书难免存在缺点和错

10、误,恳请广大读者批评、指正和帮助。编者 2001 年 12 月 于 西安电子科技大学多媒体所目 录第 1 章 几 何 造 型 .11.1 简介 .1 1.2 边 界 表 示 法 .21.3 为 什 么 要 用 有 向 边 .61.4 几 何 体 的 表 示 .71.5 插 值 曲 线 .91.6 共 享 几 何 体 .91.7 内 外 有 别 .101.8 形 状 构 造 .111.9 非 二 边 流 形 体 和 多 维 度 模 型 .121.10 单 元 拓 扑 .131.11 形 状 的 移 动 和 缩 放 .141.12 模 型 管 理 .141.13 模 型 显 示 .15第 2 章

11、关 于 ACIS .172.1 概述 .172.1.1 什 么 是 ACIS172.1.2 SAT 文件 .172.1.3 结构 182.1.4 造型 182.1.5 应 用 程 序 与 ACIS 的接口 .182.1.6 扩展 ACIS192.1.7 辅 助 程 序 192.2 ACIS 结构 .202.2.1 ACIS 组件 202.2.2 ACIS 产品 222.2.3 目 标 库 252.3 ACIS 概念 .252.3.1 ACIS 和 C+252.3.2 几 何 体 262.3.3 拓 扑 体 262.3.4 边 界 表 示 法 26基于 ACIS 的几何造型技术与系统开发62.3

12、.5 容 限 造 型 262.3.6 实 体 和 模 型 对 象 272.3.7 属性 272.3.8 维度 272.3.9 模 型 空 间 和 参 数 空 间 282.3.10 连 续 性 28第 3 章 几 何 与 拓 扑 303.1 几何体 .303.1.1 曲 线 和 曲 面 的 类 型 303.1.2 构 造 几 何 体 和 模 型 几 何 体 313.1.3 抽 象 和 具 体 几 何 体 313.2 曲 线 和 曲 面 .323.2.1 曲线 323.2.2 曲面 343.2.3 参 数 空 间 曲 线 和 曲 面 363.2.4 曲 线 和 曲 面 的 连 续 性 373.2.

13、5 曲 线 和 曲 面 延 伸 373.2.6 曲 线 和 曲 面 的 分 割 373.3 拓扑 .373.3.1 拓 扑 和 边 界 表 示 法 383.3.2 体 393.3.3 块 393.3.4 壳 393.3.5 子壳 403.3.6 面 413.3.7 环 423.3.8 线 423.3.9 有 向 边 423.3.10 边 433.3.11 顶点 443.3.12 容 限 造 型 443.4 实 体 对 象 .45第 4 章 实 体 属 性 .484.1 ATTRIB 类 484.1.1 ATTRIB 类的派生类 .494.1.2 属 性 的 分 割 、 融 合 以 及 变 换

14、494.2 ACIS 的偏差和单位 .50目 录4.2.1 偏差 504.2.2 动 态 范 围 514.2.3 单 位 和 模 型 数 据 转 换 514.2.4 偏 差 变 量 的 比 例 缩 放 52第 5 章 规 则 与 图 论 535.1 规则 .535.1.1 API 和字符表达式 .535.1.2 规 则 类 545.1.3 规 则 中 的 数 值 工 具 545.1.4 用 规 则 产 生 几 何 体 555.2 图论 .575.2.1 图 的 基 本 概 念 585.2.2 图 的 布 尔 运 算 605.2.3 边 和 顶 点 的 类 型 605.2.4 有 序 图 615

15、.2.5 产 生 子 图 62第 6 章 几 何 造 型 方 法 646.1 曲 面 技 术 .646.1.1 覆盖 646.1.2 蒙 面 和 放 样 656.1.3 网 格 面 696.2 扫掠 .706.2.1 规 则 扫 掠 706.2.2 垂 直 扫 掠 726.2.3 刚 性 扫 掠 726.3 混合 .726.3.1 体 积 增 加 与 减 少 736.3.2 构 造 混 合 曲 面 736.3.3 滚 动 球 746.3.4 混 合 几 何 体 746.3.5 混 合 拓 扑 786.3.6 封顶 796.3.7 多 边 混 合 796.3.8 顶 点 混 合 顺 序 826.

16、3.9 面 -面 混 合 .846.3.10 局 部 和 全 局 干 涉 检 查 846.3.11 薄 面 之 间 的 混 合 85基于 ACIS 的几何造型技术与系统开发86.3.12 混 合 属 性 866.3.13 混 合 预 览 866.4 布 尔 运 算 .866.4.1 求 交 器 876.4.2 布 尔 运 算 876.4.3 缝合 91第 7 章 高 级 曲 面 混 合 937.1 混 合 功 能 .937.1.1 横 截 面 半 径 937.1.2 拓扑 947.2 混 合 比 较 .967.3 混 合 属 性 .977.4 混 合 过 程 .977.5 有 序 边 混 合

17、.987.6 实 体 /实 体 混 合 987.6.1 混 合 过 渡 997.6.2 封 顶 的 限 制 1027.6.3 局 限 性 1037.7 高 级 混 合 中 的 几 个 特 殊 情 况 .1037.7.1 混 合 的 中 断 和 封 顶 1037.7.2 指 示 属 性 1037.7.3 边 /面 序 列 .1057.7.4 尖 端 混 合 1057.7.5 复 杂 顶 点 混 合 106第 8 章 变 形 造 型 技 术 1078.1 变 形 造 型 原 理 .1078.2 变 形 的 类 型 .1088.2.1 变 形 曲 面 1088.2.2 变 形 曲 线 1098.2.

18、3 雕塑 1108.3 ACIS 中的变形造型 .1158.3.1 接口 1158.3.2 数 据 管 理 1158.4 SDM 组 件 内 核 和 变 形 造 型 库 .116第 9 章 图 形 交 互 .1179.1 观 察 和 着 色 .117目 录9.1.1 着色 1179.1.2 视窗 1179.1.3 着 色 管 理 1189.2 着 色 器 类 型 .1189.2.1 动 态 着 色 器 1189.2.2 静 态 着 色 器 1199.3 离散面 .1199.3.1 离 散 密 度 1199.3.2 网 格 管 理 1209.3.3 自 适 应 离 散 面 1209.4 交 互

19、线 消 隐 .1219.5 拾 取 和 过 滤 .1219.6 橡皮线 .1229.7 栅 格 管 理 .1229.8 可 视 化 管 理 .1239.8.1 基 于 组 件 的 结 构 1239.8.2 分 层 结 构 1239.8.3 数 据 格 式 1249.8.4 自 定 义 对 象 1249.8.5 底 层 着 色 器 的 控 制 1249.8.6 概 念 和 术 语 1249.8.7 结构 1259.9 着色器 .1279.9.1 高 级 着 色 1279.9.2 基 本 着 色 1279.9.3 OpenGL 着色 .1289.9.4 着 色 基 础 组 件 1289.9.5 渲

20、染 1289.9.6 着 色 器 比 较 1299.9.7 模 型 数 据 和 实 体 方 向 1409.9.8 视 图 控 制 140第 10 章 模 型 管 理 与 模 型 分 析 .14110.1 模 型 管 理 .14110.1.1 SAT 文件的保存与打开 14110.1.2 零 件 管 理 14110.1.3 历 史 树 和 回 溯 14210.1.4 永 久 标 识 符 14410.1.5 特 征 名 称 支 持 145基于 ACIS 的几何造型技术与系统开发1010.2 模 型 分 析 .14610.2.1 对 象 关 系 14610.2.2 物 理 特 性 14710.2.3

21、 光 线 测 试 14710.2.4 几 何 分 析 14710.2.5 单 元 拓 扑 147第 11 章 ACIS 中的 C+技 术 14811.1 面 向 对 象 编 程 .14811.2 类 型 、 指 针 和 引 用 .14911.2.1 类型 14911.2.2 指针 15011.2.3 强 制 类 型 转 换 15111.2.4 引用 15211.2.5 常量 15211.3 枚举 .15411.4 C+ 函数 15511.4.1 函 数 原 型 15511.4.2 默 认 参 数 15511.4.3 引 用 参 数 15611.4.4 指 针 引 用 参 数 15711.4.5

22、 NULL 引用参数 15811.5 类 的 术 语 .15911.5.1 类 成 员 的 访 问 标 识 符 15911.5.2 继 承 和 虚 函 数 16011.5.3 使 用 构 造 函 数 产 生 对 象 16111.6 控制 .16111.6.1 while 循环 16211.6.2 for 循环 16211.7 ACIS 类 .16311.7.1 回溯 16411.7.2 保 存 、 恢 复 和 实 体 标 志 功 能 16411.7.3 ACIS 中的属性 16611.7.4 ENTITY 对象的删除 .16611.8 组 件 结 构 .16711.9 编 程 接 口 .168

23、第 12 章 Scheme 语言 .17012.1 ACIS 中的 Scheme .170目 录12.1.1 Scheme 解释器 17112.1.2 Elk Scheme 语言 17112.1.3 Scheme 过程 17112.1.4 Scheme 扩展 17212.1.5 ACIS 中的 Scheme 解释器 17212.2 Scheme 程序设计 .17412.2.1 基础 17412.2.2 表 达 式 17512.2.3 外 部 描 述 符 17612.2.4 变量 17712.2.5 函数 17812.2.6 条 件 语 句 17812.2.7 列 表 和 递 归 18012.2

24、.8 for-each 结构 18212.2.9 局 部 变 量 18312.2.10 Set! .18412.2.11 lambda 18412.2.12 begin .18512.2.13 do 循环 .18512.2.14 定 义 186第 13 章 基 本 造 型 .18813.1 用 API 函数生成基本几何体 .18813.1.1 编 写 健 全 的 ACIS 程序 .19013.1.2 构 造 基 本 几 何 体 19213.1.3 用 ACIS Scheme 产生基本几何体 19313.2 模 型 文 件 的 读 写 .19413.2.1 写 SAT 文件 .19513.2.2

25、 读 SAT 文件 .19713.3 实 体 列 表 .19813.3.1 实 体 类 型 转 换 19913.3.2 构 造 和 稀 构 19913.3.3 删 除 标 记 19913.3.4 ENTITY_LIST 参数 20013.3.5 Scheme 中的读写操作 20113.4 用 布 尔 运 算 构 造 模 型 .20213.4.1 数 学 类 20313.4.2 ACIS Scheme 中的集合运算 .20413.4.3 布 尔 运 算 204基于 ACIS 的几何造型技术与系统开发1213.5 计 算 质 量 属 性 .20513.6 用 扫 掠 方 法 构 造 几 何 体 .

26、20813.7 混合 .21113.8 截面 .21413.9 坐标系 .21813.10 零 件 管 理 .221第 14 章 直 接 接 口 .22214.1 计 算 面 的 数 量 .22214.2 访 问 面 的 参 数 .22414.3 访 问 边 的 参 数 .22614.4 顶 点 坐 标 .22914.5 构 造 基 本 几 何 体 .23114.6 访 问 参 数 曲 面 .23514.7 边 的 搜 索 算 法 .23714.8 面 的 方 向 标 志 与 几 何 体 共 享 .239第 15 章 实 体 求 交 和 布 尔 运 算 .24315.1 点 的 比 较 .24

27、315.2 几 何 求 交 .24515.3 边 -面 求 交 24815.4 面 -面 求 交 25015.5 布 尔 运 算 .25315.6 构 造 交 图 .25615.7 交 线 映 射 与 面 的 分 割 .25915.8 缝合 .26015.9 快 速 求 交 .26315.10 非 正 则 布 尔 运 算 .26515.11 选 择 布 尔 运 算 .267第 16 章 真 实 感 图 形 显 示 27216.1 光 线 跟 踪 .27316.2 构 造 离 散 面 .27516.3 线消隐 .27916.4 精 确 线 消 隐 .28216.5 用 C+进 行 真 实 感 显

28、 示 .28216.6 用 Scheme 进行真实感显示 .28516.7 高 级 着 色 功 能 .28816.8 视 图 旋 转 .29016.9 产生 PostScript 图像 .291目 录16.10 交 互 功 能 .292第 17 章 样 条 曲 面 .29417.1 与 样 条 有 关 的 概 念 .29417.2 Bzier 曲线 .29517.2.1 定义 29617.2.2 曲 线 拚 接 29717.2.3 Bzier 曲线的矩阵形式 .29817.2.4 Bzier 曲线的递推定义 .29917.2.5 构造 Bzier 曲线 29917.3 B 样 条 曲 线 30

29、017.4 B 样 条 混 合 函 数 .30417.5 有理 B 样条曲线 30817.6 B 样 条 曲 面 31017.7 反 算 控 制 多 边 形 顶 点 .31217.8 变 形 曲 面 .31417.9 蒙 面 与 放 样 .31617.10 网 格 曲 面 .318第 18 章 反 悔 操 作 .32118.1 BULLETIN 的统计 .32218.2 产生 DELTA_STATE .32518.3 造 型 器 的 回 溯 .32718.4 其 他 功 能 .33018.4.1 零 件 历 史 管 理 33018.4.2 历 史 的 保 存 与 恢 复 330第 19 章 规

30、 则 与 图 的 应 用 33219.1 规 则 表 达 式 .33219.2 C+中 的 规 则 表 达 式 334XII 基于 ACIS 的几何造型技术与系统开发19.3 平 面 偏 移 .33819.4 规 则 偏 移 的 实 际 应 用 .33919.5 螺 旋 偏 移 .34319.6 基 本 扫 掠 .34519.7 高 级 扫 掠 .34819.8 用 规 则 定 义 边 .35219.9 用 规 则 定 义 面 .35519.10 空 间 弯 曲 与 缩 放 .35919.10.1 锥 形 变 形 规 则 36119.10.2 扭 转 变 形 规 则 36219.11 图 的

31、表 示 与 分 析 .36319.11.1 VERTEX-EDGE 图 .36419.11.2 FACE-EDGE 图 .36419.11.3 CELL 邻接图 .36519.11.4 图 的 分 析 365第 20 章 模 型 编 辑 .36920.1 一 个 简 单 的 边 界 重 构 .36920.2 局 部 操 作 .37420.2.1 实 体 的 创 建 和 删 除 37520.2.2 自 相 交 37620.2.3 多解 37820.3 偏 移 与 抽 壳 .38020.4 混合 .38220.5 变 半 径 边 混 合 .38420.6 顶 点 混 合 .38620.7 实 体

32、/实 体 混 合 38720.8 修复 .388第 21 章 属 性 .39521.1 字 符 串 属 性 .39621.2 通 用 属 性 .39721.3 自 定 义 属 性 .40121.4 属 性 的 缺 陷 .408第 22 章 扩 展 ACIS .40922.1 自 定 义 实 体 .40922.2 自 定 义 API 函数 .421目 录 XIII22.3 自 定 义 Scheme 扩 展 .424第 23 章 程 序 调 试 与 出 错 处 理 .42623.1 outcome 类 42623.2 错 误 跟 踪 宏 .42823.3 实 体 调 试 函 数 .430第 24

33、章 ACIS 辅 助 开 发 工 具 .43324.1 MFC 与 AMFC .43324.1.1 鼠 标 事 件 43324.1.2 重载 new 和 delete 函数 43524.2 用 ACIS AppWizard 生成应用程序框架 .43624.3 应 用 程 序 框 架 的 功 能 .43824.4 扩 充 应 用 程 序 的 功 能 .439附录 A 程 序 编 译 方 法 441附录 B ACIS 数据结构 .444参考文献 467第 1 章 几 何 造 型1.1 简 介物理世界模型的计算机重建工作一直吸引着众多科学工作者的极大兴趣,对它的研究 促进了大批的应用数学家和计算机学

34、家的出现。然而将几十年来相关的几何知识应用于自 动图形系统(即所谓的几何造型器)却是近些年的事情。几何机械化是将形状数学的方法 编制成相应的计算机程序,用这些计算机程序来实现具体的复杂的几何运算。对于用户来 说这些计算机程序更像一个“黑盒子”,用户只关心它的执行结果,不参与具体的复杂算 法的设计。用户利用几何造型器可以进行与图 1.1 所 示 的 操 作 类 似 的 操 作 :( 1) 一 定 的 尺 寸 产 生 一 个 圆 环 和 长 方 体 ;( 2) 移 动 它 们 的 位 置 , 使 它 们 发 生 干 涉 ( 体 积 重 叠 ) ;( 3) 对 它 们 进 行 “布 尔 并 ”运 算

35、 而 产 生 一 个 单 一 的 物 体 。错误!不能通过编辑域代码创建对象。图 1.1 一个简单的几何造型操作在这些操作中用户不必知道具体的圆环或长方体的曲面方程以及系统如何显示它们。 另外,那些支持矩形区域(如下拉菜单和滚动条等)的显示和操作的图形接口也存在一种 底层的支撑程序,即窗口管理程序,这些程序必须能够表示由点和线组成的矩形结构。这 些程序还实现了一些常用算法,如求交算法、点的包容性判断算法以及着色处理算法等, 因此窗口管理程序也可以称为二维矩形几何造型器。对于一个显示几何形状的应用程序来说,它至少能够显示它所描述的对象的图像。在 虚拟现实、计算机游戏以及动画等应用程序中就可能要用

36、到一些造型器,这些造型器对物 体的描述非常简单,一般是平面多边形(常用的是三角形),但是它们可以很好地完成显 示图像的任务,这是因为在虚拟现实、游戏以及动画中所用的模型的精度不是特别重要。 在一些对模型精度要求较高的应用系统中,这些造型器就不适用了,因为它们产生的图形 是基于对物体的实际形状的逼近,如果要计算这个形状的一些物理性质(如质量),它就 会提供一个不准确的结果。与上述系统相反, ACIS 是一个精确的几何造型器, 它用由一些内部关联的曲线和曲面 组 成 的 网 络 来 描 述 形 状 。 要 真 正 理 解 ACIS, 最 根 本 的 事 情 是 要 认 识 到 ACIS 是通过定义

37、形 状 的 边 界 来 表 示 形 状 的 , 用 几 何 造 型 的 行 话 来 说 就 是 边 界 表 示 法 ( B_Rep) 造 型 。 ACIS 构 造并记录位于实体边界上的曲线或曲面的方程。基 于 ACIS 的 几 何 造 型 技 术 与 系 统 开 发2表 1.1 几何造型方法的类型类 型 描 述线 框 ( Wire frame) 定义了点和边,没定义面集 合 论 ( Set theoretic) 定 义 了 曲 面 , 不 包 括 顶 点 和 边 , 隐 含 着 对 边 界 的 定 义 ; 也 被 称 为 构 造 实 体 几 何 ( CSG, Constructive Soli

38、d Geometry) 方 法边 界 表 示 法 ( B_Rep) 定义顶点、边、面的信息,有明确的边界的定义多 面 体 模 型 ( Polyhedral model) 用平面几何体描述形状,通常为三角形八 叉 树 ( Octree) 用按一定的层次组合在一起的成千上万个立方体表示物体曲 面 造 型 ( Surface) 全部采用样条曲线和曲面描述物体,没有体积概念R 表 示 法 ( R_Rep) 用函数定义的点的集合表示物体边界表示法并不是惟一的形状定义方法,如表 1.1 所 示 。 在 学 术 界 对 形 状 表 示 方 法 的 研 究 产 生 了 一 些 不 同 的 方 法 , 这 些

39、方 法 都 具 有 自 身 的 一 些 特 点 , 可 以 适 用 于 不 同 方 面 的 应用。然而,绝大多数商业化的精确造型器所采用的都是边界表示法。本章将对边界表示法 以及它在 ACIS 中的实现做详细解释。1.2 边界表示法为了进行与物体形状有关的精确问题(如问题质量、重心等物理性质)的求解,边界 表示法必须包含足够的信息。 ACIS 为了表示这些信息构造了一个可以描述任意复杂模型的 数据结构。在边界表示法中,会出现大量实体和更多的描述这些实体之间的内部关系信息 以及这些信息之间或实体之间的交叉引用,这将使初学者望而却步,然而当人们一旦了解 了它们内在的逻辑关系就会发现记住这个结构是相

40、当容易的。一般来说,程序员在写程序 之前要深刻了解形状的边界描述方式。那么,应该怎样描述一个物体的边界呢?首先,我们注意到大多数的人造物体可以用 一些类似的曲面表示,如平面、圆柱面和球面等。让我们看下面一个例子,图 1.2 右图中所示的物体由一个圆柱面和六个平面(如图 1.2 左图所示)组成。这些曲面的汇合处形成 曲线,而曲线的汇合处形成点。所以点、线和面是描述一个形状所需的基本组成单元。这样, 我们就可以用平面方程和柱面方程来描述曲面, 用直线或圆弧方程来描述曲线。 这时会出现这样一个问题,即代数表达式只能定义无边界的几何体。除了单个的点、圆以 及球体,经典的解析几何仅能表示无限延伸的曲线和

41、曲面。为了解决这个问题,边界表示 法按下述方法明确地定义曲线或曲面的边界: 曲线的边界由位于曲线上的一对点来确定; 曲面的边界由位于曲面上的一组曲线来确定。第 1 章 几 何 造 型 3一 个 体组 成 体 的 七 个 面图 1.2 由柱面和平面组成的物体通过这个方法,我们就可以定义一段曲线或一片曲面。这时,不同几何元素之间关系 的组织问题就出现了,为此我们将不得不记录如下信息: 哪些点界定哪些曲线; 哪些曲线界定哪些曲面。 这些关于谁与谁相关联的信息,就是几何造型系统经常提到的拓扑。拓扑是可见的,通过将表示单个的点、线、面的节点,按它们之间的内部关系连接在一起形成一个内部关 联 网 ( 图

42、) , 这 个 网 就 是 拓 扑 的 可 视 化 表 示 。 借 助 该 关 联 网 可 以 达 到 共 享 边 界 实 体 ( 指 点 、 线、面等实体)的目的,这样就降低了数据的冗余。例如在表示一个三维实体的时候,一 个点可能是多个线的边界,同样一条线可能是多个面的边界。假设一个立方体,它的每个 顶点都是三条边的公共端点,每个边同时是两个面的边界,因此实体之间共享边界数据是 一个正常现象而不是一个例外。 换句话说, 我们必须通过记录点、 线、 面之间的关联性 (谁 界 定 谁 , 也 称 毗 邻 性 ) 将 它 们 组 织 起 来 。 为 了 区 别 有 边 界 的 实 体 和 没 有

43、边 界 的 实 体 , ACIS 采用如下定义: 曲 面 的 连 通 域 称 为 面 ( FACE) ; 曲 线 的 连 通 域 称 为 边 ( EDGE) ; 在 边 ( EDGE) 的 边 界 上 的 点 ( 也 就 是 边 端 点 ) 称 为 顶 点 ( VERTEX) 。 按上述方法定义的顶点、边和面实际上是混合实体。因为它们定义了事物之间的内在联系,所以也被称为拓扑实体。一般拓扑实体之间存在大量的交叉引用现象,例如: 几何体表面的形状由一个边界曲面表示,而该曲面的边界由与其相关联的一组边 决定; 边的形状由一个边界曲线表示,而曲线的边界由与其相关联的一对顶点决定; 顶点的位置由点来定

44、义。 利用上述这些关系就可以形成一个关联网(就是数据结构中所谓的图的概念),如何正确设计这个关联网是早期关于实体造型技术的主要论题。尽管存在不同的研究结果,但 对如下观点很早就达成共识,即将实体间的连接信息与实体本身分离,换句话说就是拓扑 与 几 何 信 息 的 分 离 。 ACIS 严 格 遵 循 这 个 观 点 , 一 个 利 用 ACIS 开发系统的程序员更多地接 触到的概念是面而不是具体的平面、圆柱面或球面。在边界表示法中,理论上表示一个物理模型只需要三个拓扑实体(顶点、边和面), 但在实际应用中,为了提高计算机处理的速度或提供高级的操作功能,还要引入其他一些 概念。基 于 ACIS

45、的 几 何 造 型 技 术 与 系 统 开 发4例如,在一个三维实体中大多数边位于两个面之间,而许多模型处理功能需要遍历一 个 面 的 所 有 边 界 , 为 了 快 速 地 执 行 这 个 运 算 , ACIS 中 引 入 了 有 向 边 ( COEDGE) 的 概 念 , 有向边只是一个概念上的实体,它只位于一个面上,这一点与边不同(边可以被多个面共 享 ) 。 多 个 有 向 边 被 首 尾 连 接 就 形 成 了 所 谓 的 环 ( LOOP) 的 结 构 。 通 过 环 可 以 进 行 面 的 高 级处理操作。关于有向边的详细概念,请参考本章的第 3 节。与 有 向 边 组 合 成

46、环 类 似 , 面 ( FACE) 组 合 起 来 就 可 以 形 成 壳 ( SHELL) 。 一 般 的 物 体只有一个壳,而一些含有一个和多个空区间的三维实体则含有两个或多个壳。将 壳 进 一 步 组 合 在 一 起 就 形 成 了 组 成 物 体 的 相 互 分 离 的 块 ( LUMP) , 再 将 块 进 一 步 组 合 在 一 起 我 们 将 得 到 体 ( BODY) , 如 图 1.3 所 示 。两 个 块 ( LUMP) 一 个 体 ( BODY)图 1.3 由两个块组成的体表 1.2 列 出 了 ACIS 中用于形状描述的一些实体,以及这些实体的组成和内容。 有许多方式可

47、以表示这个数据结构,其中树形结构是最常用的描述方法,在该结构中体是根结点。我们知道,体可以包含一个或多个块,块又包含一个或多个由面组成的壳, 同样面又是由有向边首尾连接而成的环组成的。这时这些实体之间的层次关系就变得不易 很清楚地表达, 为了克服这个困难, ACIS 按如下规定组织这些实体: 尽管每个实体可以有 多个继承节点(实体),但是它只有一个父节点(实体),也就是说,有向边仅仅属于一 个环,而环仅仅属于一个面,依此类推。这样组成的树形结构如图 1.4 所示。图 1.4 中 有 向 边 以 下 的 部 分 , 就 不 能 用 这 个 结 构 来 描 述 了 , 而 是 用 一 个 内 部

48、关 联 的 网(图) 来描述。 因为每个边可以被多个有向边引用, 同样每个顶点的所有者也不是惟一的, 它 可 以 被 不 同 的 边 或 有 向 边 共 享 。 一 种 将 边 -面 关 系 可 视 化 的 方 法 是 构 造 一 个 网 络 ( 图 ) , 网络中的节点表示模型中的面,网络中的边表示模型中的边,如图 1.5 所示。由于这个网 络定义了面与其他实体的连接关系,所以这个网格也被称为面连接图。尽管我们对 ACIS 中边界表示法的数据结构做了详细的描述,但是当我们用它来描述 物理世界中的三维模型时,还需要一些其他的规则,在数学范畴中物理世界中存在的形体 被 称 为 二 边 流 形 体

49、 ( mainfold) , 它 遵 循 下 述 几 个 原 则 : 每个边必须位于两个面之间; 面和边不可以自相交; 模型中的每个实体必须是有边界的。第 1 章 几 何 造 型 5体 ( BODY)块( LUMP) 块( LUMP)壳 ( SHELL) 壳 ( SHELL) 壳 ( SHELL) 壳 ( SHELL) 壳 ( SHELL)面 ( FACE) 面 ( FACE) 面 ( FACE)曲 面 ( SURFACE) 环 ( LOOP)有 向 边 ( COEDGE)图 1.4 ACIS 中实体的层次关系表 1.2 ACIS 实体实 体 组 成 表 示 内 容体 ( BODY) 块(LUMP )或线( WIRE)的集 合 ACIS 中最高级的实体,可以是一维、 二维和三维的,完全或不完全的形状块 ( LUMP) 壳 ( SHELL) 的 集 合 在体中不与其他部分相连的区域壳 ( SHELL) 面(FACE )和/或线( WIRE)的 集合 块的外部或者内部的边界面面 ( FACE) 一个表面和零个或多个环的集合 某个表面的一部分环 ( LOOP) 有 向 边 ( COEDGE) 的 列 表 面 的 边 界 连 通 部 分 , 可 以 是

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

当前位置:首页 > 高等教育 > 大学课件

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


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

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

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