- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章基本造型方法
第九章 基本造型方法 9.1 概述 9.2 结构实体几何模型(CSG) 9.3 分解模型 9.4 边界模型 9.5 非传统造型技术 9.1 概述 设计对象所含的信息可以分为两个部分:非视觉信息和视觉信息。 计算机内对形状信息的描述方法简称为造型(Modeling)的技术。造形技术主要由形状表达和形状操作两个部分组成。 1 形状表达的任务是将形状的结构用数据结构模拟出来。这种描述形状的数据结构称为模型(Model)。 2 形状操作的任务是实现对模型的生成、修改、综合、分析、计算、显示等等操作,以便完成设计过程中的各种造型任务。 1.实体造型技术(Solid Modeling) 2.曲面造型技术(Surface Modeling) 3.非几何形体的造型技术 9.2 结构实体几何模型(CSG) 结构模型又称结构实体几何(Constructive Solid Geometry)模型,简称CSG。 CSG含有一组简单的几何实体类型,如立方体、球、圆柱、圆锥等。它们称为基元实体类型(Primitive Solid Type)。 CSG还含有一组施加于基元实体类型上的操作,这些操作包括:几何变换、集合运算以及剖割、局部修改等其他造型操作。这是用二叉树的形式记录一个零件的所有组成体素拼合运算的过程,可以简称为体素拼合树。 体素拼合操作 9.3 分解模型 八叉树表达 2. 八叉树的操作 3. 线性八叉树 二、八叉树的集合运算 9.4 边界模型 9.5 非传统造型技术 * * 图9.1 对象的信息 造型技术是CAD的核心技术之一。目前常用的造型技术有: CSG树是无二义性的,但不是唯一的. CSG表示的优点: 数据结构比较简单,数据量比较小,内部数据的管理比较容易; 物体的有效性自动得到保证; CSG方法表示的形体的形状,比较容易修改。 CSG表示的缺点: 对形体的表示受体素的种类和对体素操作的种类的限制,也就是说,CSG方法表示形体的覆盖域有较大的局限性。 对形体的局部操作不易实现,例如,不能对基本体素的交线倒圆角; 由于形体的边界几何元素(点、边、面)是隐含地表示在CSG中,故显示与绘制CSG表示的形体需要较长的时间。 表示不唯一 表9.1 CSG节点数据结构 OP_Code 操作码 transform primitive 坐标变换 基本体素 left_Subtree right_Subtree 左子树 右子树 OP_Code 0 1 2 3 4 基本体素 求并 求差 求交 装配 要求:参与运算的体素必须是正规集。运算必须封闭,即运算产生的结果依然是正规集。 正规化处理 图9.3 A?B产生的非正规点集 CSG应用分治(divide-and-conquer)算法 图9.7 适用分治算法的CSG树节点组织 procedure ClassLine3D(L,S) if S is a primitive then ClassLine3DWithPrim(L,S) else CombineLine3D(ClassLine3D(L,Left_S),ClassLine3D(L,Right_S),Op_S) 9.3.1 八叉树表达 八叉树概念 图9.8 正方体及其八个子正方体 (a) 一个实体 (b) 所对应的八叉树表示 图 9.9 实体及其八叉树表示 八叉树的数据结构 typedef struct octreetype { classtype / * Black, White, Grey * / class; int depth; / * 深度控制值 * / struct octreetype * octree[8]; } octreetype; struct { pointtype point[8];/ * 存放正方形八个顶点之座标 * / octreetype * rootptr; } roothead; octreetype * octreeptr; octreetype octree; 9.3.2 八叉树的操作 八叉树的操作主要有八叉树的生成,集合运算,变换操作,分析计算和图形显示。 一、八叉树的生成 程序make-tree调用两个子程序classify和setson, 两个子程序的功能如下: 1. classtype classify (primitive, tree); 该子程序比较实体基元primitive和以tree为根的八叉树的相交关系,返回black , whi
文档评论(0)