[发明专利]一种基于BSP树的布尔运算方法及系统在审
申请号: | 202210948638.2 | 申请日: | 2022-08-09 |
公开(公告)号: | CN115423969A | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 贺可太;李岩席;朱冬梅;孟晓伟;雷毅;刘爱军;邹小慧 | 申请(专利权)人: | 北京科技大学;北京数码大方科技股份有限公司 |
主分类号: | G06T17/20 | 分类号: | G06T17/20 |
代理公司: | 北京高沃律师事务所 11569 | 代理人: | 万慧华 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 bsp 布尔 运算 方法 系统 | ||
1.一种基于BSP树的布尔运算方法,其特征在于,所述布尔运算方法包括:
根据待设计的目标三维网格模型确定第一三维网格模型、第二三维网格模型和布尔运算方式;所述第一三维网格模型和所述第二三维网格模型通过所述布尔运算方式得到所述目标三维网格模型;所述布尔运算方式包括交集布尔运算、并集布尔运算和差集布尔运算;
获取所述第一三维网格模型的第一三角形边界面列表和第一三角形边界顶点列表;获取所述第二三维网格模型的第二三角形边界面列表和第二三角形边界顶点列表;
根据所述第一三角形边界面列表和所述第一三角形边界顶点列表建立所述第一三维网格模型的第一BSP树;根据所述第二三角形边界面列表和所述第二三角形边界顶点列表建立所述第二三维网格模型的第二BSP树;在建立所述第一BSP树和所述第二BSP树时,利用OBB包围盒空间确定前N个超平面;
利用所述第一BSP树的超平面对所述第二三角形边界面列表进行划分,得到第一内面集合和第一外面集合;利用所述第二BSP树的超平面对所述第一三角形边界面列表进行划分,得到第二内面集合和第二外面集合;
利用所述布尔运算方式对所述第一内面集合、所述第一外面集合、所述第二内面集合和所述第二外面集合进行处理,得到所述目标三维网格模型。
2.根据权利要求1所述的布尔运算方法,其特征在于,所述根据所述第一三角形边界面列表和所述第一三角形边界顶点列表建立所述第一三维网格模型的第一BSP树具体包括:
以所述第一三角形边界面列表作为第一初始列表;
判断迭代次数是否大于N;
若否,则利用OBB包围盒空间确定所述第一初始列表的超平面,计算所述第一初始列表中的每一个三角形面与所述超平面的位置关系,并根据所述位置关系将所述第一初始列表划分为位于所述超平面的前面的第一子列表、位于所述超平面的后面的第二子列表以及与所述超平面共面的第三子列表;
若是,则在所述第一初始列表中随机选取一三角形面作为所述第一初始列表的超平面,计算所述第一初始列表中的每一个三角形面与所述超平面的位置关系,并根据所述位置关系将所述第一初始列表划分为位于所述超平面的前面的第一子列表、位于所述超平面的后面的第二子列表以及与所述超平面共面的第三子列表;
以所述第一子列表和所述第二子列表作为下一迭代中的所述第一初始列表,返回“判断迭代次数是否大于N”的步骤,直至所述第一子列表只包括一个三角形面时,则结束所述第一子列表的迭代过程,所述第二子列表只包括一个三角形面时,则结束所述第二子列表的迭代过程;
以所述第一三角形边界面列表的超平面作为根节点,将每一迭代中的所述第一子列表的超平面和所述第二子列表的超平面作为所述第一初始列表的超平面的叶节点,按照迭代次序依次连接各个节点得到第一BSP树。
3.根据权利要求2所述的布尔运算方法,其特征在于,所述利用OBB包围盒空间确定所述第一初始列表的超平面具体包括:
将所述第一初始列表中的每一三角形面的顶点坐标按列排列,得到坐标矩阵,对所述坐标矩阵进行中心化,得到中心化后矩阵;计算所述中心化后矩阵的协方差矩阵,并对所述协方差矩阵进行特征值分解,得到特征向量矩阵;选取所述特征向量矩阵中的三个特征向量作为OBB包围盒空间的三个坐标轴的单位方向向量;
将所述第一初始列表中的所有所述顶点坐标分别向所述三个坐标轴的单位方向向量进行投影,得到每一顶点在三个所述坐标轴上的坐标;对于每一所述坐标轴,选取所有所述顶点在所述坐标轴上的坐标的最大值和最小值,并计算所述最大值和所述最小值的差值,得到所述坐标轴对应的极差;根据三个所述坐标轴对应的极差计算所述OBB包围盒空间的中心点坐标,并选取所述极差最大的坐标轴的单位方向向量作为超平面的方向向量,根据所述中心点坐标和所述超平面的方向向量确定所述第一初始列表的超平面。
4.根据权利要求3所述的布尔运算方法,其特征在于,所述根据三个所述坐标轴对应的极差计算所述OBB包围盒空间的中心点坐标具体包括:
对于每一所述坐标轴,计算所述坐标轴对应的极差与2的比值,并计算所述比值与所述坐标轴的单位方向向量的乘积,得到所述坐标轴对应的坐标值;三个所述坐标轴对应的坐标值即组成所述OBB包围盒空间的中心点坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京科技大学;北京数码大方科技股份有限公司,未经北京科技大学;北京数码大方科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210948638.2/1.html,转载请声明来源钻瓜专利网。