CN114170385B - 实时生成模型剖面带洞网格的方法、装置、介质和设备 - Google Patents
实时生成模型剖面带洞网格的方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN114170385B CN114170385B CN202111505748.3A CN202111505748A CN114170385B CN 114170385 B CN114170385 B CN 114170385B CN 202111505748 A CN202111505748 A CN 202111505748A CN 114170385 B CN114170385 B CN 114170385B
- Authority
- CN
- China
- Prior art keywords
- model
- triangle
- vertex
- quadtree
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000001133 acceleration Effects 0.000 claims abstract description 22
- 238000005520 cutting process Methods 0.000 claims abstract description 11
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 238000003860 storage Methods 0.000 claims abstract description 8
- 238000010276 construction Methods 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 238000003466 welding Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)
Abstract
本发明涉及一种实时生成模型剖面带洞网格的方法,所述方法包括如下步骤:提取模型中三角形数据,构建BVH加速结构;基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;利用处理后的横截面数据构建稀疏四叉树;递归遍历稀疏四叉树,并利用BVH加速结构判定四叉树叶子节点N与模型的交叉情况;遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。本发明的方法基于有向距离场对离散点的精准三角化,支持对任意模型实时地平面剖分,并自动生成剖面的网格,剖分更灵活。本发明还涉及一种实时生成模型剖面带洞网格的装置、存储介质和设备。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种实时生成模型剖面带洞网格的方法、装置、存储介质和设备。
背景技术
在可视化系统中,经常会需要用到模型剖面效果的展示,展示模型内部的真实物理结构,设备内部物理部件运转状态。但传统的制作流程中需要建模人员专门制作剖面模型,而且制作好的剖面模型修改麻烦,不具有实时性,剖面的展示也不够灵活。
因此,本领域迫切需要开发出一种能够快速生成模型剖面的方法。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种实时生成模型剖面带洞网格的方法、装置、存储介质和设备,主要用于解决现有的模型剖面需要依赖建模人员专门制作剖面模型,并且制作好的剖面模型修改麻烦不具有实时性,剖面展示也不够灵活的技术问题。
本发明解决上述技术问题的技术方案如下:
一种实时生成模型剖面带洞网格的方法,所述方法包括如下步骤:
提取模型中三角形数据,构建BVH加速结构;
基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
利用处理后的所述横截面数据构建稀疏四叉树;
递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况;
遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
进一步地,所述提取模型中三角形数据,构建BVH加速结构包括:
在三维引擎中通过静态网格获取顶点缓冲对象VBO和三角序号缓冲对象IBO;
利用所述顶点缓冲对象VBO和三角序号缓冲对象IBO提取三角形数据,并存储到自定义三角形数据结构中;
基于SAH方法构建BVH加速结构。
进一步地,所述基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理包括:
输入剖分平面位置Pc和平面法线Pn,利用平面位置Pc和平面法线Pn构建局部空间转换至世界空间的转换矩阵M,以及提取横截面线段集E,利用转换矩阵M将所有线段e变换到XY平面;
将线段进行焊接;
计算线段集E的AABB包围盒数据。
进一步地,所述利用处理后的所述横截面数据构建稀疏四叉树包括:
设定稀疏四叉树构建原则;
根据所述四叉树构建原则构建稀疏四叉树根节点;
基于所述构建原则计算得到最佳切分顶点,根据所述最佳切分顶点将节点切分为四个子节点;
将线段集E中的所有线段e与所述四个子节点进行相交测试,记录每个子节点中所包含的线段集E′,判断线段集E′是否大于1,将线段集E′大于1对应的子节点继续递归拆分叶子节点。
进一步地,所述稀疏四叉树构建原则包括第一构建原则与第二构建原则,
所述第一构建原则设定将所有线段e拆分到不同的四叉树节点中,所述四叉树节点为矩形,同时设定每个四叉树节点中有且只有一条线段是矩形的对角线;
所述第二构建原则设定基于SAH方法选取一条线段e的一个顶点V,根据所述顶点V将节点切分为四个子节点。
进一步地,所述递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况包括:
计算稀疏四叉树叶子节点矩形的4个顶点Pbl,Ptl,Ptr,Pbr,利用所述BVH加速结构计算出四个顶点距离模型的距离d1,d2,d3,d4,并统计d大于0的个数NL,d小于0的个数NS,d等于0的个数NE,且满足NL+NS+NE=4;
基于NL、NS、NE判定叶子节点与模型的交叉情况;
其中,顶点在模型内部距离值d为负数,顶点在模型外部距离值d为正数,距离值d为零则顶点在模型上。
进一步地,所述遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is包括:
遍历稀疏四叉树结构获取叶子结点与模型的交叉情况;
对于叶子结点处于模型内,则将矩形切分为两个三角形,并将三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中;
对于叶子结点与模型相交,利用矩形与模型相交的三个顶点三角化为一个三角形,并将对应的三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中。
本发明的有益效果是:提出了一种实时生成模型剖面带洞网格的方法,基于有向距离场对离散点的精准三角化;还可以支持模型抠洞,且计算消耗不会随着洞的复杂程度提升;还可以支持对任意符合真实物理结构的模型实时地进行任意方向的平面剖分,并自动生成剖面的网格,不再需要专业人员建模,且剖分更加灵活。
本发明还解决上述技术问题的另一种技术方案如下:
一种实时生成模型剖面带洞网格的装置,所述装置包括:
提取模块,用于提取模型中三角形数据,构建BVH加速结构;
剖分模块,用于基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
构建模块,用于利用处理后的所述横截面数据构建稀疏四叉树;
判定模块,用于递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点N与模型的交叉情况;
三角化模块,用于遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
生成模块,用于基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
此外,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述技术方案中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
本发明还提供一种实时生成模型剖面带洞网格的设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上述技术方案中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的一种实时生成模型剖面带洞网格的方法的流程示意图;
图2为利用剖分平面切割提取线段集E的示意图;
图3为利用矩阵M将局部空间转换至世界空间的示意图;
图4为多次递归切分稀疏四叉树的示意图;
图5为本发明另一实施例所述的一种实时生成模型剖面带洞网格的装置的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1所示,一种实时生成模型剖面带洞网格的方法包括以下步骤:
110、提取模型中三角形数据,构建BVH加速结构;
120、基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
130、利用处理后的所述横截面数据构建稀疏四叉树;
140、递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况;
150、遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
160、基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
本发明的实时生成模型剖面带洞网格的方法,基于有向距离场对离散点的精准三角化;还可以支持模型抠洞,且计算消耗不会随着洞的复杂程度提升;还可以支持对任意符合真实物理结构的模型实时地进行任意方向的平面剖分,并自动生成剖面的网格,不再需要专业人员建模,且剖分更加灵活。
进一步地,步骤110中提取模型中三角形数据,预处理三角形数据,构建BVH(层次包围盒)加速结构具体包括如下步骤:
111、在三维引擎中通过静态网格获取顶点缓冲对象VBO和三角序号缓冲对象IBO;
112、利用所述顶点缓冲对象VBO和三角序号缓冲对象IBO提取三角形数据,并存储到自定义三角形数据结构FTriangle中,比如序号【0,1,2】三个顶点构成一个三角形;
113、基于SAH(Surface Area Heuristic表面积启发式)方法构建BVH加速结构。
本发明选用SAH方法构建BVH加速结构,当用于后续查询数量较大时,能获得较大收益。BVH加速结构的构造具体目标就是把空间中的三角形分别按设定的最大数量划分到不同的AABB包围盒中。
在本发明的进一步实施例中,步骤120中基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理具体包括如下步骤:
121、用户输入自定义的剖分平面位置Pc和平面法线Pn,如图2所示,利用平面位置Pc和平面法线Pn构建局部空间转换至世界空间的转换矩阵M,以及利用平面位置Pc和平面法线Pn提取横截面线段集E,利用转换矩阵M将所有线段e(e∈E)变换到XY平面,如图3所示;
122、将线段进行焊接;具体是将起点与终点位置相同并且平行的线段首尾相连组合为一条新的线段,这样可以减少线段的数量,便于加快稀疏四叉树的构建;
123、计算线段集E的AABB包围盒(Axis-aligned bounding box轴对齐包围盒)数据。
如图2所示,剖分平面位置Pc为图2中圆圈所在平面,该平面为两条线所在平面,图中垂直由上而下的线即为法线Pn,该法线Pn与剖分平面Pc相垂直,从而确定要剖分的平面位置。由于模型本身为用户自定义输入或从其他三方平台获取,在三维引擎中模型表面为三角面,根据平面位置Pc和平面法线Pn可以提取横截面线段集E。
如图3所示,图中最外侧矩形即为包围盒,也就是稀疏四叉树根节点。
本发明中稀疏四叉树构建之前先设定稀疏四叉树构建原则。具体地,稀疏四叉树构建原则包括第一构建原则A与第二构建原则B,
所述第一构建原则A设定将所有线段e拆分到不同的矩形(四叉树节点)中,同时设定每个四叉树节点中有且只有一条线段e是矩形的对角线,其中和矩形的四条边完全重叠的边忽略不算;
所述第二构建原则B设定基于SAH方法选取一条线段e的一个顶点V,根据所述顶点V将节点切分为四个子节点,即将过顶点V的矩形分为4个更小的矩形。
在本发明的进一步实施例中,步骤130中利用处理后的所述横截面数据构建稀疏四叉树具体包括如下步骤:
131、设定上述稀疏四叉树构建原则;
132、根据所述四叉树构建原则构建稀疏四叉树根节点;该稀疏四叉树根节点为步骤120中的AABB包围盒,根节点包含线段集E中的所有线段e;
133、基于第二构建原则B计算得到最佳切分顶点,根据所述最佳切分顶点将节点切分为四个子节点;
具体地,遍历当前节点中所有线段e的顶点v′,计算以顶点v′切分为四个子节点后,四个子节点对应的4个矩形中其中一个矩形不包含任何线段,并且该矩形面积最大时的顶点v′为最佳切份顶点V。该第二构建原则B能保证切分稀疏四叉树更平衡,从而有利于加速构建速度。
134、将线段集E中的所有线段e与上述四个子节点进行相交测试,并分别记录每个子节点中所包含的线段集E′,判断线段集E′是否大于1。对于线段集E′大于1对应的子节点重复步骤133继续递归拆分更小的节点,直到满足第一构建原则A,使得最终切分为叶子节点。
上述步骤134包括如下步骤:
1341、相交测试中如果线段e的两个顶点都在节点矩形内,则认为e∈E′,如果线段e的部分在节点矩形内,则需要通过计算截取线段e只包含在矩形内的部分e′,并记录e′属于E′;
1342、如果线段集E′中线段数量为1,但该线段不是矩形的对角线,也需继续执行步骤133继续递归拆分;
1343、如果线段集E′中线段数量为0,即子节点不再包含任何线段,则不再继续拆分。
在本发明的进一步实施例中,步骤140中所述递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况具体包括如下步骤:
141、计算稀疏四叉树叶子节点矩形的4个顶点Pbl,Ptl,Ptr,Pbr,利用所述BVH加速结构计算出四个顶点距离模型的距离d1,d2,d3,d4(其中,顶点在模型内部距离值d为负数,顶点在模型外部距离值d为正数,距离值d为零则顶点在模型上),并统计d大于0的个数NL,d小于0的个数NS,d等于0的个数NE,且需满足NL+NS+NE=4;
142、基于NL、NS、NE判定叶子节点与模型的交叉情况。
具体地,如图4所示,会出现如下几种交叉情况:
情况一:NE等于0时;
a:NL等于4则认为节点在模型外,标记为So;
b:NS等于4则认为节点在模型内,标记为Si。
情况二:NE等于1时;
a:NL等于3则认为节点在模型外,标记为So;
b:NS等于3则认为节点在模型内,标记为Si。
情况三:NE等于2时;
a:NL等于2,则认为节点在模型外,标记为So;
b:NS等于2,则认为节点在模型内,标记为Si;
c:NL等于1,NS等于1,则认为节点与模型交叉,标记为Ss。
情况四:NE等于3时;
a:NL等于1则认为节点与模型交叉,标记为Ss;
b:NS等于1时,需要计算这个三个顶点的重心在模型内部还是外部,如果在模型内部则认为节点在模型内,标记为Si;如果在模型外部则认为节点在模型外,标记为So。
情况五:NE等于4时;
此时需要计算矩形的中心点在模型内部还是外部,如果在模型内部则认为节点在模型内,标记为Si;如果在模型外部则认为节点在模型外,标记为So。
在本发明的进一步实施例中,步骤150中遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is具体包括如下步骤:
151、遍历稀疏四叉树结构获取叶子结点与模型的交叉情况,获取叶子节点处于模型内、模型外还是与模型相交;
152、对于叶子结点处于模型内,即四叉树叶子结点状态为Si,则将矩形切分为两个三角形,并将三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中;
153、对于叶子结点与模型相交,即四叉树叶子节点状态为Ss,利用矩形与模型相交的三个顶点三角化为一个三角形,并将对应的三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中;
154、对于叶子节点处于模型外,即四叉树叶子节点N状态为So,此时无需三角化。
通过上述步骤130用于先构建四叉树,具体是根据构建原则将根节点拆分多个叶子节点,每个叶子节点同时满足第一构建原则A与第二构建原则B;通过上述步骤140来判定叶子节点与模型的交叉情况,包括叶子节点在模型内、模型外与模型交叉三种情况;通过上述步骤150根据交叉情况来进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;通过上述步骤160根据三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型,即模型剖面。
本发明还解决上述技术问题的另一种技术方案如下:
如图5所示,一种实时生成模型剖面带洞网格的装置包括:
提取模块,用于提取模型中三角形数据,构建BVH加速结构;
剖分模块,用于基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
构建模块,用于利用处理后的所述横截面数据构建稀疏四叉树;
判定模块,用于递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点N与模型的交叉情况;
三角化模块,用于遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
生成模块,用于基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
本发明的实时生成模型剖面带洞网格的装置基于有向距离场(Signed DistanceField)对离散点的精准三角化,而现有的耳切法三角化(EarClipping)则无法对离散点进行三角化;以及本发明支持模型抠洞,且计算消耗不会随着洞的复杂程度而提升;以及本发明基于有向距离场进行剖面三角化,因此比模型轮廓建模算法(Marching Square)更精确,实现无误差剖面三角化。
此外,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述技术方案中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
本发明还提供一种实时生成模型剖面带洞网格的设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上述技术方案中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种实时生成模型剖面带洞网格的方法,其特征在于,所述方法包括如下步骤:
提取模型中三角形数据,构建BVH加速结构;
基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
利用处理后的所述横截面数据构建稀疏四叉树;
递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况;
遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
2.根据权利要求1所述的实时生成模型剖面带洞网格的方法,其特征在于,所述提取模型中三角形数据,构建BVH加速结构包括:
在三维引擎中通过静态网格获取顶点缓冲对象VBO和三角序号缓冲对象IBO;
利用所述顶点缓冲对象VBO和三角序号缓冲对象IBO提取三角形数据,并存储到自定义三角形数据结构中;
基于SAH方法构建BVH加速结构。
3.根据权利要求1所述的实时生成模型剖面带洞网格的方法,其特征在于,所述基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理包括:
输入剖分平面位置Pc和平面法线Pn,利用平面位置Pc和平面法线Pn构建局部空间转换至世界空间的转换矩阵M,以及提取横截面线段集E,利用转换矩阵M将所有线段e变换到XY平面;
将线段进行焊接;
计算线段集E的AABB包围盒数据。
4.根据权利要求3所述的实时生成模型剖面带洞网格的方法,其特征在于,所述利用处理后的所述横截面数据构建稀疏四叉树包括:
设定稀疏四叉树构建原则;
根据所述四叉树构建原则构建稀疏四叉树根节点;
基于所述构建原则计算得到最佳切分顶点,根据所述最佳切分顶点将节点切分为四个子节点;
将线段集E中的所有线段e与所述四个子节点进行相交测试,记录每个子节点中所包含的线段集E′,判断线段集E′是否大于1,将线段集E′大于1对应的子节点继续递归拆分叶子节点。
5.根据权利要求4所述的实时生成模型剖面带洞网格的方法,其特征在于,所述稀疏四叉树构建原则包括第一构建原则与第二构建原则,
所述第一构建原则设定将所有线段e拆分到不同的四叉树节点中,所述四叉树节点为矩形,同时设定每个四叉树节点中有且只有一条线段是矩形的对角线;
所述第二构建原则设定基于SAH方法选取一条线段e的一个顶点V,根据所述顶点V将节点切分为四个子节点。
6.根据权利要求4所述的实时生成模型剖面带洞网格的方法,其特征在于,所述递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点与模型的交叉情况包括:
计算稀疏四叉树叶子节点矩形的4个顶点Pbl,Ptl,Ptr,Pbr,利用所述BVH加速结构计算出四个顶点距离模型的距离d1,d2,d3,d4,并统计d大于0的个数NL,d小于0的个数NS,d等于0的个数NE,且满足NL+NS+NE=4;
基于NL、NS、NE判定叶子节点与模型的交叉情况;
其中,顶点在模型内部距离值d为负数,顶点在模型外部距离值d为正数,距离值d为零则顶点在模型上。
7.根据权利要求4所述的实时生成模型剖面带洞网格的方法,其特征在于,所述遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is包括:
遍历稀疏四叉树结构获取叶子结点与模型的交叉情况;
对于叶子结点处于模型内,则将矩形切分为两个三角形,并将三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中;
对于叶子结点与模型相交,利用矩形与模型相交的三个顶点三角化为一个三角形,并将对应的三角形顶点数据和三角形序号添加至三角形顶点集Vs与三角形序号集Is中。
8.一种实时生成模型剖面带洞网格的装置,其特征在于,所述装置包括:
提取模块,用于提取模型中三角形数据,构建BVH加速结构;
剖分模块,用于基于剖分平面进行模型切割,提取横截面数据,并对横截面数据预处理;
构建模块,用于利用处理后的所述横截面数据构建稀疏四叉树;
判定模块,用于递归遍历稀疏四叉树,并利用所述BVH加速结构判定四叉树叶子节点N与模型的交叉情况;
三角化模块,用于遍历稀疏四叉树根据交叉情况进行剖面三角化,获取三角形顶点集Vs与三角形序号集Is;
生成模块,用于基于三角形顶点集Vs与三角形序号集Is在三维引擎中生成网格模型。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
10.一种实时生成模型剖面带洞网格的设备,其特征在于,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求1-7中任一项所述的实时生成模型剖面带洞网格的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111505748.3A CN114170385B (zh) | 2021-12-10 | 2021-12-10 | 实时生成模型剖面带洞网格的方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111505748.3A CN114170385B (zh) | 2021-12-10 | 2021-12-10 | 实时生成模型剖面带洞网格的方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114170385A CN114170385A (zh) | 2022-03-11 |
CN114170385B true CN114170385B (zh) | 2022-08-16 |
Family
ID=80485317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111505748.3A Active CN114170385B (zh) | 2021-12-10 | 2021-12-10 | 实时生成模型剖面带洞网格的方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114170385B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116029858A (zh) * | 2023-02-27 | 2023-04-28 | 云南云金地科技有限公司 | 一种等积等价的土地划分方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593367A (zh) * | 2009-06-25 | 2009-12-02 | 北京航空航天大学 | 一种基于四叉包围盒树的柔性织物自碰撞检测方法 |
CN101976468A (zh) * | 2010-10-22 | 2011-02-16 | 中国科学院软件研究所 | 一种多分辨率动态地形可视化方法及系统 |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
CN104700447A (zh) * | 2015-04-01 | 2015-06-10 | 山东大学 | 基于Intel众核架构的光线追踪并行优化方法 |
CN106774146A (zh) * | 2016-12-30 | 2017-05-31 | 天津天堰科技股份有限公司 | 点在三角形网格模型表面上的判定方法 |
CN112686999A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种行星地表非规则网格三维几何建模方法 |
CN112998888A (zh) * | 2021-02-01 | 2021-06-22 | 重庆邮电大学 | 一种基于网格投影的义齿模型倒凹去除方法 |
CN113674389A (zh) * | 2021-10-25 | 2021-11-19 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201302194D0 (en) * | 2013-02-07 | 2013-03-27 | Crisalix Sa | 3D platform for aesthetic simulation |
-
2021
- 2021-12-10 CN CN202111505748.3A patent/CN114170385B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593367A (zh) * | 2009-06-25 | 2009-12-02 | 北京航空航天大学 | 一种基于四叉包围盒树的柔性织物自碰撞检测方法 |
CN101976468A (zh) * | 2010-10-22 | 2011-02-16 | 中国科学院软件研究所 | 一种多分辨率动态地形可视化方法及系统 |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
CN104700447A (zh) * | 2015-04-01 | 2015-06-10 | 山东大学 | 基于Intel众核架构的光线追踪并行优化方法 |
CN106774146A (zh) * | 2016-12-30 | 2017-05-31 | 天津天堰科技股份有限公司 | 点在三角形网格模型表面上的判定方法 |
CN112686999A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种行星地表非规则网格三维几何建模方法 |
CN112998888A (zh) * | 2021-02-01 | 2021-06-22 | 重庆邮电大学 | 一种基于网格投影的义齿模型倒凹去除方法 |
CN113674389A (zh) * | 2021-10-25 | 2021-11-19 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114170385A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112257597B (zh) | 一种点云数据的语义分割方法 | |
CN107767453B (zh) | 一种基于规则约束的建筑物lidar点云重构优化方法 | |
CN103136790A (zh) | 从多个3d曲线创建表面 | |
CN112347546A (zh) | 基于轻量级设备的bim渲染方法、设备和计算机可读存储介质 | |
CN112633657B (zh) | 一种施工质量管理方法、装置、设备及存储介质 | |
US10915670B2 (en) | Spatial constraint based triangular mesh operations in three dimensions | |
CN107464286B (zh) | 三维城市模型中的孔洞修复方法及装置、设备及可读介质 | |
CN103871102A (zh) | 一种基于高程点和道路轮廓面的道路三维精细建模方法 | |
CN112733318B (zh) | 一种自适应网格细分方法、装置、设备及存储介质 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN115018992B (zh) | 发型模型的生成方法、装置、电子设备及存储介质 | |
CN109683858B (zh) | 数据处理方法及装置 | |
CN114170385B (zh) | 实时生成模型剖面带洞网格的方法、装置、介质和设备 | |
CN115222879B (zh) | 一种模型减面处理方法、装置、电子设备及存储介质 | |
CN113724401A (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN105894553B (zh) | 一种基于格栅选择的街巷空间形态布局方法 | |
She et al. | 3D building model simplification method considering both model mesh and building structure | |
CN116977598B (zh) | 三角网格数值仿真平滑化的方法 | |
KR101032397B1 (ko) | 구면 좌표계를 사용하는 3차원 형상 표현장치 및 방법 | |
CN109934928B (zh) | 基于骨架化的三维模型简化方法 | |
CN111047684A (zh) | 一种基于三维模型特征的模型简化方法 | |
CN115953541A (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
CN114445574B (zh) | 将GeoJSON数据格式转换为三维GLB格式的方法、装置和设备 | |
CN115330971A (zh) | 一种面向渲染性能优化的几何模型轻量化方法 | |
CN115511343A (zh) | 一种城市核心区域的确定方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 105, first floor, building 82, No. 10, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: Beijing Youhao Technology Co.,Ltd. Country or region after: China Address before: Room 105, first floor, building 82, No. 10, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee before: BEIJING YOUNUO TECHNOLOGY Co.,Ltd. Country or region before: China |