CN117036517B - 一种剔除三维模型中模型构件的方法 - Google Patents
一种剔除三维模型中模型构件的方法 Download PDFInfo
- Publication number
- CN117036517B CN117036517B CN202311289739.4A CN202311289739A CN117036517B CN 117036517 B CN117036517 B CN 117036517B CN 202311289739 A CN202311289739 A CN 202311289739A CN 117036517 B CN117036517 B CN 117036517B
- Authority
- CN
- China
- Prior art keywords
- model
- component
- dimensional
- outer frame
- coordinates
- 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 26
- 230000009191 jumping Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012946 outsourcing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
-
- 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/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种剔除三维模型中模型构件的方法,涉及三维模型轻量化处理技术领域。该方法包括获取三维模型数据;根据三维模型数据中各个数据文件的所有三维坐标确定模型外包框;根据三维模型数据中每个模型构件的三角形网格坐标确定构件外包框;根据模型外包框和构件外包框确定当前模型构件的结构化系数;根据当前模型构件的结构化系数和当前模型构件所包含的三角形网格数量执行剔除操作。本发明通过在三维模型的轻量化处理之前加入微小密集构件的判断,将微小且密集的构件直接从输入的三维模型中删除,从而使得三维模型的高级别LOD模型能够进行快速,不掉帧地进行下载和加载,不会出现卡顿情况。
Description
技术领域
本发明涉及三维模型轻量化处理技术领域,具体涉及一种剔除三维模型中模型构件的方法。
背景技术
三维模型(如BIM模型)的数据是一种非常不均匀的三角形网格模型,可以在三维模型的内部出现大量复杂的三角形网格构件,例如复杂的机电模型、数量繁多且三角形网格密集的阀门模型,能在狭小空间内聚集几千万的三角形网格;某些算法产生的三角形网格模型,例如表面复杂的假山等,由于算法错误导致大量冗余的三角形网格。这些在狭小空间零星或者反复出现的体积小且三角形网格密集的构件会占用上G的磁盘空间,在渲染加载或者网络传输时过于庞大,导致加载时间长达数分钟甚至达到小时级别,而且加载后帧率极低,低至个位数帧率。
发明内容
针对现有技术中的上述不足,本发明提供了一种剔除三维模型中模型构件的方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种剔除三维模型中模型构件的方法,包括以下步骤:
S1、获取三维模型数据;
S2、根据三维模型数据中各个数据文件的所有三维坐标确定模型外包框;
S3、根据三维模型数据中每个模型构件的三角形网格坐标确定构件外包框;
S4、根据模型外包框和构件外包框确定当前模型构件的结构化系数;
S5、根据当前模型构件的结构化系数和当前模型构件所包含的三角形网格数量执行剔除操作。
进一步地,步骤S2具体包括以下步骤:
S21、获取三维模型数据中各个数据文件的所有三维坐标;
S22、从各个数据文件的所有三维坐标中确定三维模型在三维轴上的坐标最大值和坐标最小值;
S23、根据三维模型在各个方向上的坐标最大值和坐标最小值构建与三维轴对齐的模型外包框。
进一步地,步骤S3具体包括以下步骤:
S31、依次遍历三维模型数据中的每个模型构件,获取当前模型构件的三角形网格坐标;
S32、根据当前模型构件的三角形网格坐标,确定当前模型构件在三维轴上的坐标最大值和坐标最小值;
S33、根据当前模型构件在三维轴上的坐标最大值和坐标最小值构建与三维轴对齐的构件外包框。
进一步地,步骤S4具体包括以下步骤:
S41、根据模型外包框的坐标最大值和坐标最小值计算模型外包框的对角线长度;
S42、根据构件外包框的坐标最大值和坐标最小值计算构件外包框的对角线长度;
S43、根据模型外包框的对角线长度和构件外包框的对角线长度计算当前模型构件的结构化系数。
进一步地,所述当前模型构件的结构化系数的计算方法包括:
,
其中,表示当前模型构件的结构化系数,/>表示构件外包框的坐标最小值,/>表示构件外包框的坐标最大值,/>表示模型外包框的坐标最小值,/>表示模型外包框的坐标最大值,/>表示取向量的模长。
进一步地,步骤S5具体包括以下步骤:
S51、判断当前模型构件的结构化系数是否小于设定系数阈值;若是,则执行步骤S52;否则跳转至步骤S3;
S52、判断当前模型构件所包含的三角形网格数量是否大于设定数量阈值;若是,则对当前模型构件执行剔除操作;否则跳转至步骤S3;
S53、判断是否遍历完三维模型数据中的所有模型构件;若是,则操作结束;否则跳转至步骤S3。
本发明具有以下有益效果:
本发明通过在三维模型的轻量化处理之前加入微小密集构件的判断,将微小且密集的构件直接从输入的三维模型中删除,从而使得三维模型的高级别LOD模型能够进行快速,不掉帧地进行下载和加载,不会出现卡顿情况。
附图说明
图1为本发明中一种剔除三维模型中模型构件的方法流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,本发明实施例提供了一种剔除三维模型中模型构件的方法,包括以下步骤S1至S5:
S1、获取三维模型数据;
在本发明的一个可选实施例中,本实施例针对需要进行轻量化处理的三维模型数据,如BIM模型数据,首先获取三维模型的所有数据文件。
S2、根据三维模型数据中各个数据文件的所有三维坐标确定模型外包框;
在本发明的一个可选实施例中,本实施例在获取三维模型的所有数据文件后,需要确定三维模型的模型外包框(AABB),本实施例中该模型外包框是一个与三维模型的三维轴对齐的三维长方体。
本实施例的步骤S2具体包括以下步骤:
S21、获取三维模型数据中各个数据文件的所有三维坐标;
S22、从各个数据文件的所有三维坐标中确定三维模型在三维轴上的坐标最大值和坐标最小值;
S23、根据三维模型在各个方向上的坐标最大值和坐标最小值构建与三维轴对齐的模型外包框。
具体而言,本实施例可以通过读取获取的三维模型的每个数据文件的模型外包框AABB,如果没有,则需要读取每个数据文件的所有三维坐标,求出这些三维坐标中各个分量(X,Y,Z)的坐标最大值和坐标最小值,即可得到该输入三维模型的模型外包框AABB,记为aabb_bim{posMin,posMax}。
S3、根据三维模型数据中每个模型构件的三角形网格坐标确定构件外包框;
在本发明的一个可选实施例中,本实施例在确定三维模型的模型外包框后,通过依次遍历三维模型数据中的每个模型构件,采用与步骤S2类似的方法,进一步确定三维模型数据中各个模型构件的构件外包框。
本实施例的步骤S3具体包括以下步骤:
S31、依次遍历三维模型数据中的每个模型构件,获取当前模型构件的三角形网格坐标;
S32、根据当前模型构件的三角形网格坐标,确定当前模型构件在三维轴上的坐标最大值和坐标最小值;
S33、根据当前模型构件在三维轴上的坐标最大值和坐标最小值构建与三维轴对齐的构件外包框。
具体而言,本实施例依次遍历三维模型数据中的每个模型构件,获取每个模型构件中所有三角形网格的网格点坐标,求出这些三角形网格坐标中各个分量(X,Y,Z)的坐标最大值和坐标最小值,即可得到该模型构件的构件外包框,记为aabb_str{posMin,posMax}。
S4、根据模型外包框和构件外包框确定当前模型构件的结构化系数;
在本发明的一个可选实施例中,本实施例在确定从三维模型数据中遍历的模型构件的构件外包框后,接下来需要确定当前模型构件是否应当执行剔除操作,首先根据模型外包框和构件外包框确定当前模型构件的结构化系数。
本实施例的步骤S4具体包括以下步骤:
S41、根据模型外包框的坐标最大值和坐标最小值计算模型外包框的对角线长度;
S42、根据构件外包框的坐标最大值和坐标最小值计算构件外包框的对角线长度;
S43、根据模型外包框的对角线长度和构件外包框的对角线长度计算当前模型构件的结构化系数。
其中当前模型构件的结构化系数的计算方法包括:
,
其中,表示当前模型构件的结构化系数,/>表示构件外包框的坐标最小值,/>表示构件外包框的坐标最大值,/>表示模型外包框的坐标最小值,/>表示模型外包框的坐标最大值,/>表示取向量的模长。
S5、根据当前模型构件的结构化系数和当前模型构件所包含的三角形网格数量执行剔除操作。
在本发明的一个可选实施例中,本实施例在确定当前模型构件的结构化系数后,根据当前模型构件的结构化系数和当前模型构件所包含的三角形网格数量执行剔除操作。
本实施例的步骤S5具体包括以下步骤:
S51、判断当前模型构件的结构化系数是否小于设定系数阈值;若是,则执行步骤S52;否则跳转至步骤S3;
S52、判断当前模型构件所包含的三角形网格数量是否大于设定数量阈值;若是,则对当前模型构件执行剔除操作;否则跳转至步骤S3;
S53、判断是否遍历完三维模型数据中的所有模型构件;若是,则操作结束;否则跳转至步骤S3。
具体而言,本实施例针对依次遍历三维模型数据中的每个模型构件,通过结构化系数和三角形网格数量组成耦合条件来判断是否对当前模型构件执行剔除操作。如果当前模型构件满足diag_ratio<0.01且该模型构件的三角形网格数量大于10000,则该模型构件被判定为微小密集构件,将从获取的三维模型中剔除,即直接删除当前模型构件所属的三角形网格,不进入轻量化处理流程。重复步骤S3至步骤S5的过程,直到遍历完三维模型的所有模型构件,符合耦合条件的模型构件的三角形网格模型都将被删除,从而完成对三维模型的微小密集构件的剔除。
本发明可以将这种体积小而密集的网格模型在轻量化三维模型的LOD构建过程中,在其高级别的LOD中自动识别并进行剔除,在三维模型的早期加载与网络传输时减少加载的数据量,提升加载后渲染的帧率。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (2)
1.一种剔除三维模型中模型构件的方法,其特征在于,包括以下步骤:
S1、获取三维模型数据;
S2、根据三维模型数据中各个数据文件的所有三维坐标确定模型外包框;具体包括以下步骤:
S21、获取三维模型数据中各个数据文件的所有三维坐标;
S22、从各个数据文件的所有三维坐标中确定三维模型在三维轴上的坐标最大值和坐标最小值;
S23、根据三维模型在各个方向上的坐标最大值和坐标最小值构建与三维轴对齐的模型外包框;
S3、根据三维模型数据中每个模型构件的三角形网格坐标确定构件外包框;具体包括以下步骤:
S31、依次遍历三维模型数据中的每个模型构件,获取当前模型构件的三角形网格坐标;
S32、根据当前模型构件的三角形网格坐标,确定当前模型构件在三维轴上的坐标最大值和坐标最小值;
S33、根据当前模型构件在三维轴上的坐标最大值和坐标最小值构建与三维轴对齐的构件外包框;
S4、根据模型外包框和构件外包框确定当前模型构件的结构化系数;具体包括以下步骤:
S41、根据模型外包框的坐标最大值和坐标最小值计算模型外包框的对角线长度;
S42、根据构件外包框的坐标最大值和坐标最小值计算构件外包框的对角线长度;
S43、根据模型外包框的对角线长度和构件外包框的对角线长度计算当前模型构件的结构化系数;
所述当前模型构件的结构化系数的计算方法包括:
,
其中,表示当前模型构件的结构化系数,/>表示构件外包框的坐标最小值,/>表示构件外包框的坐标最大值,/>表示模型外包框的坐标最小值,/>表示模型外包框的坐标最大值,/>表示取向量的模长;
S5、根据当前模型构件的结构化系数和当前模型构件所包含的三角形网格数量执行剔除操作。
2.根据权利要求1所述的一种剔除三维模型中模型构件的方法,其特征在于,步骤S5具体包括以下步骤:
S51、判断当前模型构件的结构化系数是否小于设定系数阈值;若是,则执行步骤S52;否则跳转至步骤S3;
S52、判断当前模型构件所包含的三角形网格数量是否大于设定数量阈值;若是,则对当前模型构件执行剔除操作;否则跳转至步骤S3;
S53、判断是否遍历完三维模型数据中的所有模型构件;若是,则操作结束;否则跳转至步骤S3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289739.4A CN117036517B (zh) | 2023-10-08 | 2023-10-08 | 一种剔除三维模型中模型构件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311289739.4A CN117036517B (zh) | 2023-10-08 | 2023-10-08 | 一种剔除三维模型中模型构件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117036517A CN117036517A (zh) | 2023-11-10 |
CN117036517B true CN117036517B (zh) | 2023-12-26 |
Family
ID=88630350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311289739.4A Active CN117036517B (zh) | 2023-10-08 | 2023-10-08 | 一种剔除三维模型中模型构件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117036517B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161411A (zh) * | 2020-04-08 | 2020-05-15 | 速度时空信息科技股份有限公司 | 一种基于八叉树的三维建筑物模型lod方法 |
AU2020101597A4 (en) * | 2020-07-31 | 2020-09-10 | Donghua University | A visualization method of ship structural parts based on a multi-scale model |
CN112084556A (zh) * | 2020-08-25 | 2020-12-15 | 天津大学 | 一种海量数据bim模型的轻量化显示方法及系统 |
CN113808247A (zh) * | 2021-11-19 | 2021-12-17 | 武汉方拓数字科技有限公司 | 一种大体量三维场景三维模型渲染优化方法和系统 |
CN114372308A (zh) * | 2022-01-05 | 2022-04-19 | 武汉烽火富华电气有限责任公司 | 一种基于ifc的bim模型轻量化方法 |
CN114756944A (zh) * | 2022-05-10 | 2022-07-15 | 天津天河云筑工科技有限公司 | 用于bim模型的轻量化系统、方法、计算机设备及存储介质 |
CN116051708A (zh) * | 2023-01-30 | 2023-05-02 | 四川视慧智图空间信息技术有限公司 | 三维场景轻量化模型渲染方法、设备、装置及存储介质 |
-
2023
- 2023-10-08 CN CN202311289739.4A patent/CN117036517B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161411A (zh) * | 2020-04-08 | 2020-05-15 | 速度时空信息科技股份有限公司 | 一种基于八叉树的三维建筑物模型lod方法 |
AU2020101597A4 (en) * | 2020-07-31 | 2020-09-10 | Donghua University | A visualization method of ship structural parts based on a multi-scale model |
CN112084556A (zh) * | 2020-08-25 | 2020-12-15 | 天津大学 | 一种海量数据bim模型的轻量化显示方法及系统 |
CN113808247A (zh) * | 2021-11-19 | 2021-12-17 | 武汉方拓数字科技有限公司 | 一种大体量三维场景三维模型渲染优化方法和系统 |
CN114372308A (zh) * | 2022-01-05 | 2022-04-19 | 武汉烽火富华电气有限责任公司 | 一种基于ifc的bim模型轻量化方法 |
CN114756944A (zh) * | 2022-05-10 | 2022-07-15 | 天津天河云筑工科技有限公司 | 用于bim模型的轻量化系统、方法、计算机设备及存储介质 |
CN116051708A (zh) * | 2023-01-30 | 2023-05-02 | 四川视慧智图空间信息技术有限公司 | 三维场景轻量化模型渲染方法、设备、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117036517A (zh) | 2023-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101555426B1 (ko) | 지형 렌더링 방법 및 장치 | |
CN111921202B (zh) | 虚拟场景的数据处理方法、装置、设备及可读存储介质 | |
US20150379769A1 (en) | Method and apparatus for mesh simplification | |
CN117197396A (zh) | 一种大规模三维场景快速轻量化方法 | |
CN111210475A (zh) | 一种地图更新方法及装置 | |
CN117036517B (zh) | 一种剔除三维模型中模型构件的方法 | |
CN116451291A (zh) | 一种工程图纸布局质量的量化评价方法及系统 | |
CN116071516A (zh) | 用于三维建模的方法和系统 | |
CN114494646A (zh) | 场景渲染方法、装置和电子设备 | |
CN108460836B (zh) | 一种三维模型简化的方法及系统 | |
CN114202642A (zh) | 三维三角网模型中超大空洞的填补方法及设备 | |
CN117274535A (zh) | 基于点云密度重构实景三维模型的方法、装置及电子设备 | |
CN112329294A (zh) | 水果机械损伤仿真方法、装置、计算机设备及存储介质 | |
CN116612214A (zh) | 顶点权重处理方法、装置、电子设备及存储介质 | |
CN110633533B (zh) | 一种针对箱体类零件的模态分析有限元网格密度优选方法及系统 | |
CN107393019B (zh) | 一种基于粒子的布料模拟方法与装置 | |
Park et al. | A surface reconstruction algorithm using weighted alpha shapes | |
CN114418829A (zh) | 静态场景遮挡处理方法、装置、电子设备及可读介质 | |
CN109857655B (zh) | 一种检测美术资源动态性能的方法和系统 | |
CN114491897A (zh) | 地震波数值模拟方法、装置、介质及电子设备 | |
CN111210156A (zh) | 基于流窗口实现的实时流数据处理方法及装置 | |
CN115619929A (zh) | 模型生成方法、装置和电子设备 | |
CN118379435B (zh) | 基于分治剖分算法的pcb模型的网格生成方法及网格生成装置 | |
CN116311478B (zh) | 面部绑定模型的训练方法、面部绑定方法、装置及设备 | |
CN112446940B (zh) | 针对3d模型的简化方法、装置、电子设备及存储介质 |
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 |