[发明专利]一种探查层叠区域三角网格的方法有效
申请号: | 201810055440.5 | 申请日: | 2018-01-19 |
公开(公告)号: | CN108171793B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 胡云岗;侯妙乐;黄兵;华巍;严雪慧;石力文 | 申请(专利权)人: | 北京建筑大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T17/20 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;陈亮 |
地址: | 100044*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种探查层叠区域三角网格的方法,首先构建空间射线,利用所述空间射线和待查三角网格内三角形的重心坐标,求取所述空间射线和三角形面的交点坐标;构建KD树,运用所构建的KD树对待查三角网格进行空间划分,将其划分为多个由包围体包围的三维空间区域,且每个包围体区域中的顶点数据索引均存储在所述KD树的叶子节点中;然后在KD树的每一叶子节点中构建空间射线,利用空间射线与该域中的三角网格进行求交运算;根据求交运算得到的交点数标记待查三角网格的层叠网格区域。上述方法能够减少人工操作产生误差,提高探查层叠区域三角网格的效率。 | ||
搜索关键词: | 一种 探查 层叠 区域 三角 网格 方法 | ||
步骤1、首先构建空间射线,利用所述空间射线和待查三角网格内三角形的重心坐标,求取所述空间射线和三角形面的交点坐标;
步骤2、构建KD树,运用所构建的KD树对待查三角网格进行空间划分,将其划分为多个由包围体包围的三维空间区域,且每个包围体区域中的顶点数据索引均存储在所述KD树的叶子节点中;
步骤3、然后在KD树的每一叶子节点中构建空间射线,利用空间射线与该域中的三角网格进行求交运算;
步骤4、根据求交运算得到的交点数标记待查三角网格的层叠网格区域。
2.根据权利要求1所述探查层叠区域三角网格的方法,其特征在于,所述步骤2中,构建KD树的过程为:创建待查三角网格模型的最小包围盒;
将待查三角网格模型中所有点的坐标索引作为根节点序列;
在当前树节点所代表的空间范围内,取点集投影到各坐标轴上方差最大的轴作为分割超平面垂直的轴,并取该轴中投影点中值作为分割超平面的垂直位置;
将顶点在该维度位置上的坐标值小于或等于分割超平面的值划分到左子树集Left中,且将顶点在该维度位置上的坐标值大于分割超平面的值划分到右子树集Right中;
进一步判断节点域内的顶点数是否小于预先给定的叶子节点,如果是,则停止划分,然后将该节点定为叶子节点。
3.根据权利要求1所述探查层叠区域三角网格的方法,其特征在于,在步骤3中,所述利用空间射线与该域中的三角网格进行求交运算,具体包括:若每条空间射线与该域中的三角网格求交后只得出1个交点,则说明该叶子节点域中的网格没有层叠现象;
若求交后得出2个交点,则说明有2层层叠网格;
若求交后得出s个交点,则说明有s层层叠网格;
依次类推,通过每条射线求交运算得出的交点最大数与层叠网格的层数相同。
4.根据权利要求1所述探查层叠区域三角网格的方法,其特征在于,在步骤4中,所述根据求交运算得到的交点数标记待查三角网格的层叠网格区域,具体包括:根据求交运算得到的交点数,只要有一条射线求交时得出2个以上的交点,则该包围体为层叠网格所在的包围体,同时标记该叶子节点;
再将具有公共面的包围体划为同一组,将属于同一组的层叠网格区域标记出来。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京建筑大学,未经北京建筑大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810055440.5/,转载请声明来源钻瓜专利网。