一种三维CSG-BRep模型的拓扑元素的访问方法_5

文档序号:9304715阅读:来源:国知局
用内存的大小为1986KB。
[0208] 利用上述算法通过编程实现CSG-BRep拓扑形状对于与其相连接的上下形状的访 问,即实现对模型拓扑元素父对象和子对象的访问。
[0209] 通过对比可以知道,本文提出的三维精细CSG-BRep模型,不仅有效的减少了数据 量,而且模型可拆分,各部分构件清晰明了,并且具备可查询分析的拓扑关系。
[0210] 该CSG-BRep模型的另一个突出的优点是实现了三维空间对象拓扑信息的查询分 析。下面利用本文前面介绍的算法,编程实现CSG-BRep拓扑形状对于与其相连接的上下形 状的访问,即实现对模型拓扑元素父对象和子对象的访问。为了方便起见,提取该大木结构 中的一个基本体为例,来验证拓扑结构对的访问可靠性。如图9表示通过一个形状长方体, 分别访问其子级形状边和顶点。如图10表示通过形状box上的一个顶点分别访问与其相 连接的三条父级拓扑边。图11所示通过形状box上的一条拓扑边分别访问与其相连接的 两个父级拓扑面。从一个顶点出发,可以查询访问与该点相连接的边;从边出发,可以查询 访问与该边相连接的面;从面出发,可以查询访问该面组成的体。反过来,从体可以逐级查 询访问该体的任意子对象。
[0211] 本发明对CSG-BRep表示的shape中的拓扑信息和几何信息的组成关系进行了详 细的阐述和分析并,实现了任意一个拓扑对象对于与其相连接的父及对象和子级对象的访 问。
[0212] 本发明设计了基于CSG-BREP的拓扑数据模型,该数据模型中包含了拓扑元素的 组成关系,拓扑元素与几何元素的结合,以及拓扑元素的三大机制:拓扑位置,拓扑朝向,子 集元素列表。并按照面向对象的思想,采用VS2010和C++语言,通过实验,实现了三维精细 模型生成,布尔运算,以及模型内部拓扑元素的访问,效果良好。基于CSG-BREP的拓扑数据 模型,模型元素之间的连接关系清楚,有利于三维空间拓扑关系的查询分析。该方法解决了 目前大部分模型如三角网模型没有详细拓扑关系,以及仅具有拓扑模型但不能自由访问拓 扑结构的问题。
[0213] 这里说明的拓扑元素和访问机制是用来简化本发明的说明的。对本发明的拓扑访 问机制的应用、修改和变化对本领域的技术人员来说是显而易见的。
[0214] 尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列 运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地 实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限 于特定的细节和这里示出与描述的图例。
【主权项】
1. 一种三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,包括: 访问建筑物的三维CSG-BRep模型中的单一模型内部拓扑关系的步骤和访问模型之间 的拓扑关系的步骤; 通过访问建筑物的三维CSG-BRep模型的拓扑关系,以得到该建筑物中各结构之间的 位置关系信息; 其中,所述访问单一模型内部拓扑关系的步骤包括访问形体的子集拓扑结构的步骤和 访问形体的父级拓扑结构步骤, 访问模型之间的拓扑关系的步骤包括依次进行的:利用布尔运算将模型之间的拓扑回 归统一到单一模型内的拓扑访问的步骤,和所述访问单一模型内部拓扑关系的步骤。2. 如权利要求1所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 访问形体的子集拓扑结构的步骤具体包括: 遍历形体的子集实体中所需要查找的拓扑元素类型, 当查找到一个所需要类型的拓扑元素时, 将该拓扑元素的信息存储到一个映射map中, 如此循环,直到找到所有所需要类型的拓扑元素。3. 如权利要求1所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 访问形体的父集拓扑结构的步骤具体包括: 遍历该形体,从该形体中找到位于该形体上的所有父级元素结构, 在查找到的父级元素结构中继续遍历位于该父级元素结构上的子集元素结构, 为查找到的子集元素结构赋予一个唯一标识, 将该子集元素结构的所述唯一标识和该父级元素结构按照key-value的形式放入到 一映射map中, 从该映射map中提取出与该子集元素结构相连接的父级元素结构即可。4. 如权利要求1所述的三维CSG-BRep模型的拓扑元素的访问方法,其特征在于,利用 布尔运算将模型之间的拓扑回归统一到单一模型内的拓扑访问的步骤包括通过对两个以 上的物体进行交运算、并运算或差运算,以得到一个新的物体形态的步骤,其中,在所述交 运算、并运算和差运算步骤中均用参数方程的形式表达基本体素。5. 如权利要求4所述的三维CSG-BRep模型的拓扑元素的访问方法,其特征在于,利用 布尔运算将模型之间的拓扑回归统一到单一模型内的拓扑访问的步骤具体包括: 步骤一、计算第一和第二体素之间的交点:首先遍历第一体素中的所有边,同时遍历第 二体素中的所有面,将第一体素中的所有的边与第二体素中的所有的面求第一交点,此时, 第一交点将第一体素中的边分割成若干段;以同样的方法,再将第二元素中的所有边与第 一元素中的所有面进行求交运算,得到第二交点,此时,第二交点也将第二体素中的边分割 成若干段;之后进入步骤二, 步骤二、求解新的交线:首先判定步骤一中的交点是否为有效点, 若第一交点位于第一元素的边界上且位于第二元素的边界内,则判定该第一交点为有 效点; 若第二交点位于第二元素的边界上且位于第一元素的边界内,则也判定该第二交点为 有效点; 最后连接所有有效点,以得到新的交线; 步骤三、对步骤一中分割以后的边进行分类处理: 判断出第一体素中的边的各段与第二体素的位置关系,将位于第二体素的内部、外部 或是与第二体素边重合的第一体素边的各段分别分为三类, 判断出第二体素中的边的各段与第一体素的位置关系,将位于第一体素内部、外部或 是与第一体素边重合的第一体素边的各段也分别分为三类; 步骤四、第一和第二体素中原有边界的去留:利用步骤二中得到的新的交线和步骤三 中的分类结果, 当第一和第二体素做求交运算时,保留位于第二体素的内部和与第二体素边重合的第 一体素边的两类段,舍去位于第二体素的外部的第一体素边的一类段, 同时保留位于第一体素的内部和与第一体素边重合的第二体素边的两类段,舍去位于 第一体素的外部的第二体素边的一类段; 当第一和第二体素做并运算或差运算时,保留位于第二体素的外部的第一体素边的该 一类段,舍去位于第二体素的内部和与第二体素的边重合的第一体素边的两类段; 步骤五、将保留下来的边界,按照拓扑重建思想构建出一个新的体素。6. 如权利要求5所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 步骤二中,所述第一交点位于第一元素的边界上且位于第二元素的边界内也包括第一交点 位于第一元素的边界上且位于第二元素的边界上, 所述第二交点位于第二元素的边界上且位于第一元素的边界内也包括第二交点位于 第二元素的边界上且位于第一元素的边界上。7. 如权利要求5或6任一所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在 于,所述步骤一中,求得交点的具体过程包括: 将边的所有的参数曲线统一表示为:C(t) = (x(t),y(t),z(t)), 将面的所有的参数曲面统一表示为:F(u,v) = (x(u,v),y(u,v),z(u,v)), (1.1)参数方程求交需满足以1:)-?(11,¥)=0,令3(1:,11,¥)=(:(1:)-?(11,¥),(1.5)在得到步骤(1.4)中的迭代方程之后,对曲线和曲面分别建立包围盒树,当曲线 的包围盒树与曲面的包围盒树叶子相交时,取两个叶子内的参数值作为初值t。,U。,V。进行 迭代,直到满足收敛条件,最终求取交点。8. 如权利要求5所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 拓扑重建思想为由边构建环,再由环构建面,最后再由面构建壳和体的方式。9. 如权利要求1所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 建筑物的CSG-BRep模型中拓扑元素的引用关系为从复杂的拓扑元素到简单的拓扑元素, 且简单的拓扑元素可被不同的复杂的拓扑元素共享。10. 如权利要求9所述的三维CSG-BR印模型的拓扑元素的访问方法,其特征在于,所述 建筑物的CSG-BRep模型中拓扑元素的引用关系为壳和体引用面、面引用环、环引用边和边 引用点。
【专利摘要】本发明公开了一种CSG—BR印模型数据结构,该数据结构可以全面细致的记录模型内部的拓扑关系。对这种特殊的数据结构从子集形体,拓扑位置,拓扑朝向等角度进行了全面的分析,并提出两种算法来解决拓扑结构的访问问题,公开了一种三维CSG—BRep模型的拓扑元素的访问方法。另外,利用布尔运算妥善的处理空间模型相交的拓扑难题。最后利用激光雷达点云作为模型的数据来源,结合本发明提出的数据结构构建三维精细CSG—BRep模型,利用改进的RANSAC算法或者手动拟合参数。该模型与普通三角网模型相比,模型各个构件可以拆分,所占用内存较少,并具备更完善的拓扑关系,实现了三维空间对象拓扑信息的查询与分析。
【IPC分类】G06F19/00
【公开号】CN105022910
【申请号】CN201510196806
【发明人】黄明, 王晏民, 张勇
【申请人】北京建筑大学
【公开日】2015年11月4日
【申请日】2015年4月23日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1