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

文档序号:9304715阅读:来源:国知局
则的形体,突破、单纯CSG表达的局限性。f.能 够处理模型和模型之间的拓扑关系。
[0056] 本发明提出两种算法来解决拓扑结构的访问问题,实现对形体的子集和父级拓扑 结构的访问。另外,对体素进行布尔运算构造出复杂模型可以将模型之间的拓扑回归统一 到模型内部的拓扑问题,实现了对建筑物模型的拓扑关系的访问,便于明确建筑物内部结 构的连接和构造等位置关系信息。
[0057] 本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本 发明的研究和实践而为本领域的技术人员所理解。
【附图说明】
[0058] 图1为本发明的基于CSG-BREP的拓扑模型结构图;
[0059]图2为拓扑模型描述复杂体实例图;
[0060]图3为本发明的拓扑对象元素的几何信息;
[0061]图4为本发明形体shape成员变量组成关系示意图;
[0062] 图5为本发明其中一个实施例中根据点云拟合参数并构建的CSG体素示意图;
[0063]图6为本发明其中一个实施例中查找正方形上与顶点关联的边的结果示意图;
[0064] 图7为本发明其中一个实施例中基于CSG-BRep的大木结构模型图;
[0065] 图8为第三方软件GeomagicStudi〇12生成大木结构的三角网模型图;
[0066] 图9为本发明其中一个实施例中通过盒box形状访问其子形状边和顶点的结果示 意图;
[0067] 图10为本发明其中一个实施例中通过顶点访问边的结果示意图;
[0068]图11为本发明其中一个实施例中通过边访问面的结果示意图。
【具体实施方式】
[0069] 下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文 字能够据以实施。
[0070] 应当理解,本发明所使用的诸如"具有"、"包含"以及"包括"术语并不配出一个或 多个其它元件或其组合的存在或添加。
[0071] 针对目前通过离散点云来构建的三角网模型具有数据量大,不能拆分,没有拓扑 关系等缺点,本发明提出一种特殊的CSG-BRep模型数据结构,该数据结构可以全面细致的 记录模型内部的拓扑关系。对这种特殊的数据结构从子集形体,拓扑位置,拓扑朝向等角度 进行了全面的分析,并提出两种算法来解决拓扑结构的访问问题。另外,对体素进行布尔运 算构造出复杂模型可以将模型之间的拓扑回归统一到模型内部的拓扑问题。最后利用激光 雷达点云作为模型的数据来源,利用改进的RANSAC算法拟合基本体素参数,结合本发明提 出的数据结构构造CSG-BRep模型体素,分析并访问该体素内的数据结构进行验证。
[0072] 本发明提供一种三维CSG-BR印模型的拓扑元素的访问方法,包括:
[0073] 访问建筑物的三维CSG-BRep模型中的单一模型内部拓扑关系的步骤和访问模型 之间的拓扑关系的步骤;
[0074] 通过访问建筑物的三维CSG-BRep模型的拓扑关系,以得到该建筑物中各结构之 间的位置关系信息;
[0075] 其中,所述访问单一模型内部拓扑关系的步骤包括访问形体的子集拓扑结构的步 骤和访问形体的父级拓扑结构步骤,
[0076] 访问模型之间的拓扑关系的步骤包括依次进行的:利用布尔运算将模型之间的拓 扑回归统一到单一模型内的拓扑访问的步骤,和所述访问单一模型内部拓扑关系的步骤。
[0077] 本发明提出两种算法来解决拓扑结构的访问问题,实现对形体的子集和父级拓扑 结构的访问。另外,对体素进行布尔运算构造出复杂模型可以将模型之间的拓扑回归统一 到模型内部的拓扑问题,实现了对建筑物模型的拓扑关系的访问,便于明确建筑物内部结 构的连接和构造等位置关系信息。
[0078] 作为优选,所述访问形体的子集拓扑结构的步骤具体包括:
[0079] 遍历形体的子集实体中所需要查找的拓扑元素类型,
[0080] 当查找到一个所需要类型的拓扑元素时,
[0081] 将该拓扑元素的信息存储到一个映射map中,
[0082] 如此循环,直到找到所有所需要类型的拓扑元素。
[0083] 作为优选,所述访问形体的父集拓扑结构的步骤具体包括:
[0084] 遍历该形体,从该形体中找到位于该形体上的所有父级元素结构,
[0085] 在查找到的父级元素结构中继续遍历位于该父级元素结构上的子集元素结构,
[0086] 为查找到的子集元素结构赋予一个唯一标识,
[0087] 将该子集元素结构的所述唯一标识和该父级元素结构按照key-value的形式放 入到一映射map中,
[0088] 从该映射map中提取出与该子集元素结构相连接的父级元素结构即可。
[0089] 作为优选,利用布尔运算将模型之间的拓扑回归统一到单一模型内的拓扑访问的 步骤包括通过对两个以上的物体进行交运算、并运算或差运算,以得到一个新的物体形态 的步骤,其中,在所述交运算、并运算和差运算步骤中均用参数方程的形式表达基本体素。
[0090] 作为优选,在上述的方案中,利用布尔运算将模型之间的拓扑回归统一到单一模 型内的拓扑访问的步骤具体包括:
[0091] 步骤一、计算第一和第二体素之间的交点:首先遍历第一体素中的所有边,同时遍 历第二体素中的所有面,将第一体素中的所有的边与第二体素中的所有的面求第一交点, 此时,第一交点将第一体素中的边分割成若干段;以同样的方法,再将第二元素中的所有边 与第一元素中的所有面进行求交运算,得到第二交点,此时,第二交点也将第二体素中的边 分割成若干段;之后进入步骤二,
[0092] 步骤二、求解新的交线:首先判定步骤一中的交点是否为有效点,
[0093] 若第一交点位于第一元素的边界上且位于第二元素的边界内,则判定该第一交点 为有效点;
[0094] 若第二交点位于第二元素的边界上且位于第一元素的边界内,则也判定该第二交 点为有效点;
[0095] 最后连接所有有效点,以得到新的交线;
[0096] 步骤三、对步骤一中分割以后的边进行分类处理:
[0097] 判断出第一体素中的边的各段与第二体素的位置关系,将位于第二体素的内部、 外部或是与第二体素边重合的第一体素边的各段分别分为三类,
[0098] 判断出第二体素中的边的各段与第一体素的位置关系,将位于第一体素内部、外 部或是与第一体素边重合的第一体素边的各段也分别分为三类;
[0099] 步骤四、第一和第二体素中原有边界的去留:利用步骤二中得到的新的交线和步 骤三中的分类结果,
[0100] 当第一和第二体素做求交运算时,保留位于第二体素的内部和与第二体素边重合 的第一体素边的两类段,舍去位于第二体素的外部的第一体素边的一类段,
[0101] 同时保留位于第一体素的内部和与第一体素边重合的第二体素边的两类段,舍去 位于第一体素的外部的第二体素边的一类段;
[0102] 当第一和第二体素做并运算或差运算时,保留位于第二体素的外部的第一体素边 的该一类段,舍去位于第二体素的内部和与第二体素的边重合的第一体素边的两类段;
[0103] 步骤五、将保留下来的边界,按照拓扑重建思想构建出一个新的体素。
[0104] 作为优选,所述步骤二中,所述第一交点位于第一元素的边界上且位于第二元素 的边界内也包括第一交点位于第一元素的边界上且位于第二元素的边界上,
[0105] 所述第二交点位于第二元素的边界上且位于第一元素的边界内也包括第二交点 位于第二元素的边界上且位于第一元素的边界上。
[0106] 在上述的方案中,作为优选,所述步骤一中,求得交点的具体过程包括:
[0107] 将边的所有的参数曲线统一表示为:C(t)=(x(t),y(t),z(t)),
[0108]将面的所有的参数曲面统一表示为:F(u,v)=(x(u,v),y(u,v),z(u,v)),
[0109](1. 1)参数方程求交需满足C(t)_F(u,v)=0,令S(t,u,v)=C(t)_F(u,v),
[0110] (1. 2)求微分
[0111] (1. 3)各参数微分显示表示:
[0112]
[0116]
[0117] (1.5)在得至IJ步骤(1.4)中的迭代方程之后,对曲线和曲面分别建立包围盒树,当 曲线的包围盒树与曲面的包围盒树叶子相交时,取两个叶子内的参数值作为初值t。,U。,V。 进行迭代,直到满足收敛条件,最终求取交点。
[0118] 作为优选,在上述的方案中,所述拓扑重建思想为由边构建环,再由环构建面,最 后再由面构建壳和体的方式。
[0119] 作为优选,所述建筑物的CSG-BRep模型中拓扑元素的引用关系为从复杂的拓扑 元素到简单的拓扑元素,且简单的拓扑元素可被不同的复杂的拓扑元素共享。
[0120] 作为优选,所述建筑物的CSG-BRep模型中拓扑元素的引用关系为壳和体引用面、 面引用环、环引用边和边引用点。
[0121] 基于CSG-BR印建立拓扑模型
[0122] UCSG-BR印模型拓扑元素
[0
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1