[发明专利]一种基于点灯法的三维模型精确体素化方法有效
| 申请号: | 202010020742.6 | 申请日: | 2020-01-09 |
| 公开(公告)号: | CN111243094B | 公开(公告)日: | 2021-09-28 |
| 发明(设计)人: | 张长东;江为民;刘婷婷;廖文和;王聪;施昕 | 申请(专利权)人: | 南京理工大学 |
| 主分类号: | G06T17/20 | 分类号: | G06T17/20;G06T17/30 |
| 代理公司: | 南京钟山专利代理有限公司 32252 | 代理人: | 王磊 |
| 地址: | 210094 江苏省南*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 点灯 三维 模型 精确 体素化 方法 | ||
1.一种基于点灯法的三维模型精确体素化方法,其特征在于,主要包括以下步骤:
步骤1:导入三维模型文件,对原始模型进行四面体剖分处理,得到模型的拓扑信息数据组,计算模型的最小AABB'包围盒,划分体素单元,并记录包围盒内所有体素的顶点坐标信息;
步骤2:根据模型剖分得到的拓扑信息数据组,进行“搜寻点灯法”算法处理,对有用的体素单元用‘a’进行标记,得到体素化模型modelA;
步骤3:根据模型剖分得到的拓扑信息数据组,进行“桁架构造法”算法处理,对有用的体素单元用‘b’进行标记,得到由所有四面体的边角所构成的架构体素化模型modelB;
步骤4:对“搜寻点灯法”得到的体素模型modelA和“桁架构造法”得到的模型modelB进行合并,得到最终体素化的模型modelvoxel;
所述步骤1具体包括以下步骤:
步骤1.1:导入三维模型数据文件;
步骤1.2:对三维模型进行四面体网格剖分操作,得到模型的拓扑信息数据组;
步骤1.3:读取得到的拓扑信息数据组,通过建立集合P0包含模型内部所有的点信息,构建集合E0包含模型内部所有的四面体信息;
步骤1.4:根据集合P0中记录的所有点的坐标信息,建立模型的最小AABB包围盒;
步骤1.5:设置体素单元的径长L,对模型的最小AABB包围盒做取整化处理:对AABB包围盒八个顶点的坐标进行调整,使每个相邻顶点的距离数值增大且相邻距离可以被L整除;得到模型的最小AABB'包围盒;
步骤1.6:对模型的AABB'包围盒进行体素化划分,设划分得到的体素单元的集合为D0,记录每个体素单元对应八个顶点的坐标,设所有体素顶点构成的集合为V0;
所述步骤2具体包括以下步骤:
步骤2.1:开始“搜寻点灯法”,调出剖分得到的模型内部的各个四面体顶点的坐标信息;
步骤2.2:计算求解四面体单元e的最小取整包围盒AABB′e,对包围盒AABB′e进行体素单元划分;记录AABB′e包围盒内所有体素单元对应的顶点坐标;
步骤2.3:求解AABB′e包围盒内的所有点与四面体单元e的空间位置关系,根据每个不同的位置关系,返回不同的特征值进行记录;
步骤2.4:根据返回的特征值对点集Ve内的各个对应点进行不同的操作:内部的点予以记录,表面的点和外部的点跳过不做处理;只要该点在其中的被予以标记和记录过一次,则该点记为有用点,在点集Ve中对该点用‘a’进行标记;
步骤2.5:遍历模型内部的所有四面体单元,循环进行步骤2.3和步骤2.4的操作,将各个四面体单元的点集Ve的顶点状态信息,整合到总点集V0中,根据各个体素顶点的状态再对各个体素自身的状态值进行判断,确认体素集D0中有用的体素单元;基于模型的拓扑结构信息,对模型的最小AABB'包围盒内的所有体素进行遍历,验证每个体素的八个对应的顶点的状态;若八个对应顶点中存在一个以上的顶点为已经在点集V0中被‘a’标记,说明该体素单元与模型在三维空间内有相交的部分,将该部分正方体体素用‘a’进行标记;
步骤2.6:将所有被‘a’标记的体素进行整合和建模,导出三维模型modelA,输出modelA;
所述步骤3具体包括以下步骤:
步骤3.1:开始“桁架构造法”,依次调出模型内部各个四面体的顶点和边的空间结构信息;对集合E0内的四面体进行遍历,以遍历到的四面体单元e'为例,设四面体四个顶点及它们的坐标为A(xA,yA,zA)、B(xB,yB,zB)、C(xC,yC,zC)、D(xD,yD,zD),四条边记为AB、BC、CD、AD;
步骤3.2:以边AB为例,按照笛卡尔坐标系x、y、z三个轴向,分三次进行处理,以x轴方向为例,首先判断Ax和Bx的大小;当Ax=Bx即A和B两点在x方向上的坐标相等时,跳出当前步骤,进入下一步对y和z两个方向的处理,否则,继续进行计算,对Ax和Bx的大小进行排序,设AxBx,对x坐标较小点A进行判断,通过A的三个坐标Ax、Ay、Az,判断点A是否在AABB'包围盒内划分的体素单元间的交界面上,当A的任一坐标在体素交界面上时,对A的坐标进行微量调整,设向量的单位矢量为k(kx,ky,kz),设微调后得到的点及坐标为A'(x'A,y'A,z'A),微量调整关系式为:
将得到的点A'替代点A作为线段的起始点,即A'B;
步骤3.3:在获得线段的新起始点A'后,插值计算线段A'B中A'到B上的各个间断点,由间断点查找对应的体素单元用‘b’进行标记;以体素的径长L为累加单位,从起始点A'进行三个坐标的累加,当满足x'A≥xB或y'A≥yB或z'A≥zB其中的一个时,停止累加,记录累加过程中获得的点的坐标信息,查找这些点分别在体素集D0中在哪个体素的空间范围内,对找到的体素用‘b’进行标记;
步骤3.4:按照y、z轴方向处理边AB,同x轴的处理方式一致,接着处理四面体单元e'的其它三个边BC、CD、AD;
步骤3.5:完成当前四面体单元e'的处理,进入下一个四面体单元的处理流程,对于已处理过的重复边不再重复处理;
步骤3.6:遍历完四面体集合D0后,统计在桁架构造法中所有被‘b’标记的体素,整合和建模,导出三维模型modelB。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010020742.6/1.html,转载请声明来源钻瓜专利网。





