【技术实现步骤摘要】
基于可见性判断的三维CAD网格模型简化方法和系统
本专利技术属于计算机图形学和计算机辅助设计
,更具体地,涉及一种基于可见性判断的三维CAD网格模型简化方法和系统。
技术介绍
目前,三维CAD网格模型已经广泛应用在航空、航天、船舶、机械、装备等工业制造领域。然而,随着需要展示的这些机械装备产品的复杂程度越来越高,三维CAD网格模型的文件存储规模(即三角形网格的数量)也越来越庞大,这给三维CAD网格模型的传输、绘制和使用带来了诸多困难,进而影响到三维CAD网格模型的广泛应用。网格模型简化或轻量化是解决上述问题的重要方法之一,其目标是在保持原模型形状特征和近似精度的条件下,用尽量少的三角形表达原模型。目前网格模型简化一般采用删除法、重划分法和折叠法。其中,删除法是删去密集处的点或三角形,然后在附近局部区域重新连接成更稀疏的网格;重划分法是在原网格表面上重新采点,连接成更少的三角形逼近原始网格模型;折叠法包括边折叠和三角形折叠,其中应用较为成功的是基于误差控制的递进式边收缩折叠法。该方法利用二次误差度量(Quadri ...
【技术保护点】
1.一种基于可见性判断的三维CAD网格模型简化方法,其特征在于,包括以下步骤:/n(1)获取三维CAD网格模型中多个零件构成的装配结构树、该装配结构树中每个零件对应的变换矩阵、每个零件对应的三角形网格,以及与每个三角形网格对应的一个点表、一个边表、一个面表、以及一个边-面邻接表,所有零件对应的三角形网格构成三角形网格集合;/n(2)利用步骤(1)获取的装配结构树中每个零件对应的变换矩阵将该零件对应的点表中所有点的坐标变换为全局坐标,并获取所有全局坐标中的最大值xmax,ymax和zmax、以及最小值xmin、ymin和zmin,根据该最大值和最小值确定三维CAD网格模型的包 ...
【技术特征摘要】
1.一种基于可见性判断的三维CAD网格模型简化方法,其特征在于,包括以下步骤:
(1)获取三维CAD网格模型中多个零件构成的装配结构树、该装配结构树中每个零件对应的变换矩阵、每个零件对应的三角形网格,以及与每个三角形网格对应的一个点表、一个边表、一个面表、以及一个边-面邻接表,所有零件对应的三角形网格构成三角形网格集合;
(2)利用步骤(1)获取的装配结构树中每个零件对应的变换矩阵将该零件对应的点表中所有点的坐标变换为全局坐标,并获取所有全局坐标中的最大值xmax,ymax和zmax、以及最小值xmin、ymin和zmin,根据该最大值和最小值确定三维CAD网格模型的包围盒,在该包围盒的6个面中心处选择6个与面法向相反的视角方向VF,在包围盒的12个边中点选择12个视角方向VE,其方向是由该边中点与对边中点的连线确定,在包围盒的8个顶点选择8个视角方向VV,其方向是由该顶点与对角顶点的连线确定;
(3)根据包围盒的每一面上每条边的中点将该面均匀划分为4个视角分区,并对每个视角分区中4个顶点的基本视角方向进行双线性插值计算,以得到该视角分区内部的视角方向;
(4)在步骤(2)得到的26个视角方向上分别使用Z-Buffer方法提取三角形网格集合中多个可见三角形;
(5)基于步骤(3)得到的每个视角分区内部的视角方向以及步骤(4)提取的多个可见三角形获取三角形网格集合中对应该视觉分区的多个可见三角形;
(6)根据步骤(4)得到的多个可见三角形和步骤(5)得到的多个可见三角形,获得三角形网格集合中的每个三角形在不同视角方向上的可见性标识,并根据该可见性标识获取三角形网格集合中的全部外部可见三角形网格;
(7)根据步骤(1)获得的边-面邻接表将三角形网格中每个三角形的每条边划分为光滑边和折边,并根据划分的光滑边和折边将三角形网格中每个三角形的顶点划分为区域顶点、区域边点、区域内边顶点、以及区域面点;
(8)根据步骤(7)得到的三角形网格中每个三角形的顶点类型对步骤(6)得到的三角形网格集合中的全部外部可见三角形网格进行边折叠简化处理,以得到简化后的三角形网格集合。
2.根据权利要求1所述的基于可见性判断的三维CAD网格模型简化方法,其特征在于,点表用于表示该三角形网格中每个三角形的顶点的三维坐标,边表用于表示该三角形网格中每个三角形的边所包含的两个顶点在点表中的序号,面表用于表示该三角形网格中每个三角形的三个边在边表中的序号,边-面邻接表用于表示该三角形网格中每个三角形中的每个边所邻接的三角形在面表中的序号
3.根据权利要求1所述的基于可见性判断的三维CAD网格模型简化方法,其特征在于,在Z-Buffer方法中,光栅像素尺寸d的选取条件为:满足的最大d,其中,h表示三角形的高,b表示三角形底边上的两个顶点分别到高的垂足的距离中较长的一个。
4.根据权利要求1所述的基于可见性判断的三维CAD网格模型简化方法,其特征在于,步骤(5)具体包括以下子步骤:
(5-1)对于步骤(3)得到的每个视角分区D而言,获取其内部的视角方向上可见三角形的并集合M(D),并判断该并集合M(D)中是否存在内部孔洞,如果存在则转入步骤(5-2),否则过程结束;
(5-2)获取视角分区D中已经使用Z-Buffer方法的视角方向V所检测到的轮廓线所包含的内部孔洞边E,选取内部孔洞边E中的一个点p1,并获取与点p1位于V视角光栅中同一扫描线上的另一轮廓点p2;
(5-3)连接点p1和p2,以得到向量W=p2-p1,并判断是否有VTW<0成立,如果是则设置W=-W,然后转入步骤(5-4),否则直接转入步骤(5-4);
(5-4)分别计算点p1和p2的外法向在V视角光栅所在平面上的投影n1和n2,将向量绕点p1和p2的中点m=0.5(p1+p2)旋转一角度Δθ,从而得到入口方向估计Ventrance;
(5-5)判断入口方向估计Ventrance是否是视角分区D内部的视角方向,如果是则进入步骤(5-6),否则调整Δθ或α值,使入口方向估计Ventrance成为视角分区D内部的视角方向,然后进入步骤(3-6);
(5-6)使用入口方向估计Ventrance作为视角方向,在该视角方向上使用Z-Buffer方法提取三角形网格集合中的多个可见三角形。
(5-7)重复上述步骤(5-1)至(5-6),直至不能探测到新的可见三角形为止,从而得到多个可见三角形。
5.根据权利要求1所述的基于可见性判断的三维CAD网格模型简化方法,其特征在于,入口方向估计Ventrance计算过程为:
判断f=NscanPlane*[(p1-m)×n1+(p2-m)×n2]是小于0、大于0,还是等于0,如果小于0,则取Δθ为负值,并根据以下公式计算入口方向估计Ventrance,如果大于0,则取Δθ为正值,并根据以下公式计算入口方向估计Ventrance:
Ventrance=RW
若f=0,则其中NscanPlane表示扫描线平面法向,且有NscanPlane=[0-10]T;α>0表示调整量,其取值范围是0.1到0.5之间,优选为0.3。
6.根据权利要求1所述的基于可见性判断的三维CAD网格模型简化方法,其特征在于,对于顶点v0和v1组成的边e而言,对其进行边折叠简化处理具体为:
A、当v0和v1均为区域顶点时,对边e不执行任何操作;
B、当v0和v1分别为区域顶点和区域边点时,在边e的边长大于预定阈值时,对边e执行边长阈值操作...
【专利技术属性】
技术研发人员:黄正东,刘云华,潘隽永,刘坤,董天林,
申请(专利权)人:武汉天喻软件股份有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。