[发明专利]一种基于CAD的平行六面体体积平均共形网格剖分方法有效
申请号: | 202310257023.X | 申请日: | 2023-03-17 |
公开(公告)号: | CN115984511B | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 杜刘革;樊渊;周雨豪;孙崇磊;徐晓;赵佳 | 申请(专利权)人: | 山东大学;上海曼光信息科技有限公司 |
主分类号: | G06T17/20 | 分类号: | G06T17/20;G06F30/10 |
代理公司: | 青岛华慧泽专利代理事务所(普通合伙) 37247 | 代理人: | 马千会 |
地址: | 266200 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cad 平行六面体 体积 平均 网格 方法 | ||
1.一种基于CAD的平行六面体体积平均共形网格剖分方法,其特征在于,包括以下步骤:
(1)、使用CAD对物体进行建模,得到描述该物体的三角网模型;对仿真空间进行平行六面体网格划分,得到一系列体像素;
(2)、读取三角网模型和平行六面体网格,利用光线追踪算法计算出该模型的阶梯网格;遍历三角网模型中的所有三角形,计算每个三角形的包围盒;
(3)、遍历与包围盒发生交叠碰撞的体像素,使用分离面定理检测包围盒内的体像素与三角形的碰撞情况,如果发生碰撞则将三角形添加到该体像素的三角形集合中;遍历完所有三角形,得到位于目标模型边界处的体像素集合和集合中每一个体像素对应的与其碰撞的三角形集合;
(4)、遍历体像素集合,并调出与其碰撞的三角形集合,计算三角形留在该体像素内部的部分,使用平行六面体裁剪三角形算法,得到分割曲面,并根据分割曲面与体像素的上顶面的相交情况填补顶面上的多边形,得到遮荫面;使用阴影体积算法计算出不同材料在体像素内的填充体积;计算每个体像素的体积平均等效材料系数,利用计算得到的体像素的体积平均等效材料系数更新阶梯网格中的材料系数,得到平行六面体体积平均共形网格;
所述平行六面体裁剪三角形算法具体包括:首先使用3D-Liang-Barsky算法,将平行六面体作为三维窗口对三角形的每条边进行裁剪,得到留在三维窗口内部的部分,再使用三维窗口的六个边界面分别对三角形进行求交线计算,交线只保留在三维窗口内部的部分,所有裁剪得到的线段都是有向线段,所有的有向线段首尾相连得到多边形;遍历三角形集合后得到多个多边形,这些多边形彼此相连形成一个分割曲面;
阴影体积算法具体为:将遮荫面拆分为多个平面多边形,每一个平面多边形与其在体像素底面上的投影构成一个不规则柱体,将不规则柱体拆分为多个不规则三棱柱,不规则三棱柱的体积计算公式为:
;
其中,、、为不规则三棱柱的三个高,
将每一个不规则柱体中包含的所有不规则三棱柱的体积相加,得到该不规则柱体的阴影体积;
按照遮荫面上多边形的外法向量区分内外,将位于遮荫面以内的所有不规则柱体的阴影体积添加正号,位于遮荫面以外的所有不规则柱体的阴影体积添加负号;将所有带符号的阴影体积求和,得到遮荫面的阴影体积;当遮荫面的阴影体积为正数时,其为目标模型留在体像素内部的体积,当遮荫面的体积为负数时,目标模型留在体像素内部的体积为体像素体积加上遮荫面的体积。
2.根据权利要求1所述的基于CAD的平行六面体体积平均共形网格剖分方法,其特征在于,所述分离面定理具体为:对于任意两个凸多面体,若存在一个分离面,使得单个凸多面体所有顶点在该分离面的同侧,并且该两个凸多面体各自的所有顶点分别位于该分离面的两侧,则该两个凸多面体没有重合,不发生碰撞。
3.根据权利要求1所述的基于CAD的平行六面体体积平均共形网格剖分方法,其特征在于:若分割曲面边界与体像素的上顶面相交,则在体像素的上顶面填补一个多边形,填补的多边形与分割曲面相加得到遮荫面。
4.根据权利要求3所述的基于CAD的平行六面体体积平均共形网格剖分方法,其特征在于,填补多边形的方法为:计算分割曲面留在体像素上顶面的边集合,将起点端的有向线段反向延长至无穷远,将终点端的有向线段正向延长至无穷远,得到广义多边形,通过Sutherland-Hodgman裁剪算法使用体像素上顶面的四条边依次对广义多边形进行裁剪,裁剪完成后得到填补的多边形。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东大学;上海曼光信息科技有限公司,未经山东大学;上海曼光信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310257023.X/1.html,转载请声明来源钻瓜专利网。