CN114119837A - 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 - Google Patents
一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 Download PDFInfo
- Publication number
- CN114119837A CN114119837A CN202111527620.7A CN202111527620A CN114119837A CN 114119837 A CN114119837 A CN 114119837A CN 202111527620 A CN202111527620 A CN 202111527620A CN 114119837 A CN114119837 A CN 114119837A
- Authority
- CN
- China
- Prior art keywords
- vertex
- mesh grid
- edges
- revit model
- vertexes
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供的一种Revit模型轻量化渲染方法和装置,该方法首先对预处理后的mesh网格进行分区,然后对分区后的网格采用并行计算的方法进行简化处理,最后对简化后的Revit模型进行渲染。本发明对模型轻量化中数据预处理、对mesh网格分区并采用并行计算方法对三角网格减面的进行综合优化,大大提高了加载渲染速度的同时较好的保证了减面模型的还原度。
Description
技术领域
本发明涉及建筑信息模型技术领域,具体涉及一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置。
背景技术
建筑信息模型(Building Information Modeling,BIM)是目前在建筑行业中被普遍使用的3D信息化管理技术手段,其应用在建筑设计、建造、维护的过程中。Revit软件是最被广泛使用的BIM建模工具,其具有良好的三维呈现和大量细节信息。但由于其大体量的模型会对电脑配置要求较高,打开模型也经常会出现卡顿等现象。模型轻量化就是为解决模型体量过大带来的问题,也为模型在浏览器端显示提供可能。
模型轻量化工作流程及优化方面主要包括两部分:模型存储的压缩优化和渲染加载(优化流程参见图1).首先对Revit模型利用Revit软件提供的API获取包含几何信息、属性信息、纹理贴图信息的rvt文件。应用RevitSDK提供的IExporterIFC开发插件导出IFC模型文件,再将IFC文件转化成JSON格式文件。如果存在多个文件(每个楼层一个模型),进行文件合并。然后对文件中的模型建筑要素的存储进行优化,优化可以包括减少合并mesh类和参数化表示转化。
结合WebGL和Three.js渲染框架将Revit模型的JSON文件解析并渲染到浏览器端,实现轻量化显示。其中,Three.js中提供的ObjectLoder函数将模型转化成三角面片的几何实现。几何转化后可以对三角面模型进行简化,应用八叉树算法和LOD算法模型按需加载渲染,其渲染过程是将分层级的三角面模型送入WebGL的渲染管线实现模型的轻量化显示(优化了渲染速度和渲染流畅度)。为保证渲染的速度、渲染的流畅度,一般采用按需加载的方法,这样需要提前对原模型进行化简处理而同时加载不同精度的模型。按需加载包括两个考量:其一是根据模型距离相机的由近到远模型的精度逐渐降低,其二是较小的物体精度较低,较大的物体精度较高。LOD的层级从高到低对应的精细度由高到低,其减少精度的方法主要是应用了三角网格简化的相关算法。对三角面片的处理方式包括:顶点删除法、边折叠法和三角形折叠简化法。这几种方法存在的问题是模型的几何形状发生了变化,会对BIM模型的渲染产生影响。
发明内容
为此,本发明提供一种Revit模型轻量化渲染方法和装置,该方法对mesh网格进行预处理和分区后,对分区的mesh网格进行分区计算,减少计算量、同时提高计算速度。其具体技术方案如下:
为实现上述目的,本发明实施例提供一种Revit模型轻量化渲染方法,包括:
获取Revit模型的mesh网格、对所述mesh网格进行预处理;
初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
对简化处理的Revit模型进行渲染。
进一步的,所述对所述mesh网格进行预处理包括步骤:
获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
对超过三条边的非法面进行删除;
对具有相同顶点的三角面进行合并,只保留其中一个三角面;
对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
进一步的,所述对不同分区内边塌陷的网格采用并行计算的方法进行简化处理,包括步骤:
S1根据计算得到的缩减比例和预设的系数,确定每个分区的候选边的条数;
S2根据所述候选边的长度,在所述候选边中确定有效边;
S3根据每条有效边的顶点、所述顶点对应的误差矩阵、有效边的代价,计算塌边的替代点;
S4对所述代价进行排序,每次剔除最小代价对应的边,并删除被剔除边对应的点连接的所有连接边;
S5更新顶点、相邻点及其误差矩阵,重复S1-S4,直到遍历所有Revit模型的顶点。进一步的,所述根据每条有效边的顶点、所述顶点对应的误差矩阵、有效边的代价,计算塌边的替代点包括:
计算所述顶点、所述顶点和的一半对应的顶点的收缩代价,选择所述收缩代价最小的顶点作为替代点;
或,对所述收缩代价求导,计算倒数为零时替代点的坐标;其中,所述收缩代价为顶点的误差矩阵之和跟所述替代点的位置向量计算得到的误差。
进一步的,采用Metis算法对所述mesh网格进行分区。
进一步的,将所述三角面内非顶点的点与所述点所在边的对立面的顶点连线,以完成对包含超过三个顶点的三角面的补线操作。
本发明的第二方面提供一种Revit模型轻量化渲染装置,包括:
预处理模块,用于获取Revit模型的mesh网格、对所述mesh网格进行预处理;
分区模块,用于初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
并行计算模块,用于对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
渲染模块,用于对简化处理的Revit模型进行渲染。
进一步的,所述预处理模块还包括:
顶点分析模块,用于获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
临近点合并模块,用于根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
删除模块,用于对超过三条边的非法面进行删除;
三角面合并模块,用于对具有相同顶点的三角面进行合并,只保留其中一个三角面;
补线操作模块,用于对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
本发明的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器处理所述的Revit模型轻量化渲染方法。
本发明的第四方面还提供一种电子设备,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述的Revit模型轻量化渲染方法。本发明提供的一种Revit模型轻量化渲染方法和装置,该方法首先对预处理后的mesh网格进行分区,然后对分区后的网格采用并行计算的方法进行简化处理,最后对简化后的Revit模型进行渲染。本发明对模型轻量化中数据预处理、对mesh网格分区并采用并行计算方法对三角网格减面的进行综合优化,大大提高了加载渲染速度的同时较好的保证了减面模型的还原度。
附图说明
图1是本发明实施例1提供的一种Revit模型轻量化渲染方法流程图;
图2是本发明实施例1提供的一种Revit模型轻量化渲染方法的补边操作示意图。
具体实施方式
为了使得本发明技术方案能够清楚、详尽的展现出来,以下结合附图对本发明进行说明,但不用来限制本发明的范围。
参见图1为本发明实施例1提供的一种Revit模型轻量化渲染方法流程图,包括:
获取Revit模型的mesh网格、对所述mesh网格进行预处理;
初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
对简化处理的Revit模型进行渲染。
在mesh网格中包括很对网格点,该网格点即为顶点。上述顶点的误差矩阵可通过下式计算得出:
误差矩阵是Delta=vT(Q)v,误差矩阵Q是该顶点相连的所有平面的二次误差矩阵之和,公式如下。其中,顶点向量为v=[vx,vy,vz,1]
每个平面可以通过ax+by+cz+d=0公式带入三角面三个顶点坐标,再加上公式(a2+b2+c2=1)联立求解得到a,b,c,d数值。
如果带入的向量是顶点坐标,误差矩阵为0。
网格分区算法有很多,比如基于Metis算法的网格切分方法。
上述对所述mesh网格进行预处理包括步骤:
获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
对超过三条边的非法面进行删除;
对具有相同顶点的三角面进行合并,只保留其中一个三角面;
对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
参见图2所示附图,为补线操作过程示意图,图中虚线指示的地方即是补充的线条。
上述对不同分区内边塌陷的网格采用并行计算的方法进行简化处理,包括步骤:
S1根据计算得到的缩减比例和预设的系数,确定每个分区的候选边的条数。
定边的有效范围:根据给定的目标边数计算缩减比例kr,乘以系数kf,确定候选边条数Nf(不能超过原有边数),再选取最短的Nf条作为有效边。
例如,原模型边数为2000,缩减到1000,kr=0.5,kf=1.2,Nf=1200。
S2根据所述候选边的长度,在所述候选边中确定有效边。
根据Nf确定候选边长度阈值,阈值范围以内选择为候选有效边。
S3根据每条有效边的顶点、所述顶点对应的误差矩阵、有效边的代价,计算塌边的替代点。
假设某一有效边的顶点为v1、v2,则v1、v2的替代点的计算方法包括:
1是在v1、v2、(v1+v2)/2中选择收缩代价最小的,2是对收缩代价求导,让导数为零,计算替代点坐标。
S4对所述代价进行排序,每次剔除最小代价对应的边,并删除被剔除边对应的点连接的所有连接边;
S5更新顶点、相邻点及其误差矩阵,重复S1-S4,直到遍历所有Revit模型的顶点。
本发明提供的一种Revit模型轻量化渲染方法和装置,该方法首先对预处理后的mesh网格进行分区,然后对分区后的网格采用并行计算的方法进行简化处理,最后对简化后的Revit模型进行渲染。本发明对模型轻量化中数据预处理、对mesh网格分区并采用并行计算方法对三角网格减面的进行综合优化,大大提高了加载渲染速度的同时较好的保证了减面模型的还原度。
本发明的第二方面提供一种Revit模型轻量化渲染装置,包括:
预处理模块,用于获取Revit模型的mesh网格、对所述mesh网格进行预处理;
分区模块,用于初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
并行计算模块,用于对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
渲染模块,用于对简化处理的Revit模型进行渲染。
进一步的,所述预处理模块还包括:
顶点分析模块,用于获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
临近点合并模块,用于根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
删除模块,用于对超过三条边的非法面进行删除;
三角面合并模块,用于对具有相同顶点的三角面进行合并,只保留其中一个三角面;
补线操作模块,用于对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
本发明的第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器处理所述的Revit模型轻量化渲染方法。
本发明的第四方面还提供一种电子设备,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述的Revit模型轻量化渲染方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种Revit模型轻量化渲染方法,其特征在于,包括:
获取Revit模型的mesh网格、对所述mesh网格进行预处理;
初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
对简化处理的Revit模型进行渲染。
2.根据权利要求1所述的Revit模型轻量化渲染方法,其特征在于,所述对所述mesh网格进行预处理包括步骤:
获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
对超过三条边的非法面进行删除;
对具有相同顶点的三角面进行合并,只保留其中一个三角面;
对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
3.根据权利要求1所述的Revit模型轻量化渲染方法,其特征在于,所述对不同分区内边塌陷的网格采用并行计算的方法进行简化处理,包括步骤:
S1根据计算得到的缩减比例和预设的系数,确定每个分区的候选边的条数;
S2根据所述候选边的长度,在所述候选边中确定有效边;
S3根据每条有效边的顶点、所述顶点对应的误差矩阵、有效边的代价,计算塌边的替代点;
S4对所述代价进行排序,每次剔除最小代价对应的边,并删除被剔除边对应的点连接的所有连接边;
S5更新顶点、相邻点及其误差矩阵,重复S1-S4,直到遍历所有Revit模型的顶点。
4.根据权利要求3所述的Revit模型轻量化渲染方法,其特征在于,所述根据每条有效边的顶点、所述顶点对应的误差矩阵、有效边的代价,计算塌边的替代点包括:
计算所述顶点、所述顶点和的一半对应的顶点的收缩代价,选择所述收缩代价最小的顶点作为替代点;
或,对所述收缩代价求导,计算倒数为零时替代点的坐标;其中,所述收缩代价为顶点的误差矩阵之和跟所述替代点的位置向量计算得到的误差。
5.根据权利要求1所述的Revit模型轻量化渲染方法,其特征在于,采用Metis算法对所述mesh网格进行分区。
6.根据权利要求2所述的Revit模型轻量化渲染方法,其特征在于,将所述三角面内非顶点的点与所述点所在边的对立面的顶点连线,以完成对包含超过三个顶点的三角面的补线操作。
7.一种Revit模型轻量化渲染装置,其特征在于,包括:
预处理模块,用于获取Revit模型的mesh网格、对所述mesh网格进行预处理;
分区模块,用于初始化所述mesh网格每个顶点的误差矩阵,对所述mesh网格进行分区;
并行计算模块,用于对不同分区内边塌陷的网格采用并行计算的方法进行简化处理;
渲染模块,用于对简化处理的Revit模型进行渲染。
8.根据权利要求7所述的Revit模型轻量化渲染装置,其特征在于,所述预处理模块还包括:
顶点分析模块,用于获取所述mesh网格的所有顶点,对所述顶点之间的关系进行分析;
临近点合并模块,用于根据预先设置的阈值,对某一顶点的临近点进行合并,所述临近点在所述阈值范围内;
删除模块,用于对超过三条边的非法面进行删除;
三角面合并模块,用于对具有相同顶点的三角面进行合并,只保留其中一个三角面;
补线操作模块,用于对包含超过三个顶点的三角面按照预设规则进行补线操作,以保证三角面上只包括三个顶点。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器处理权利要求1-6任一所述的Revit模型轻量化渲染方法。
10.一种电子设备,该电子设备包括:
处理器;以及,
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1-6任一所述的Revit模型轻量化渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111527620.7A CN114119837A (zh) | 2021-12-14 | 2021-12-14 | 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111527620.7A CN114119837A (zh) | 2021-12-14 | 2021-12-14 | 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114119837A true CN114119837A (zh) | 2022-03-01 |
Family
ID=80364940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111527620.7A Pending CN114119837A (zh) | 2021-12-14 | 2021-12-14 | 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114119837A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222879A (zh) * | 2022-06-22 | 2022-10-21 | 北京百度网讯科技有限公司 | 一种模型减面处理方法、装置、电子设备及存储介质 |
CN117473655A (zh) * | 2023-12-27 | 2024-01-30 | 中国人民解放军国防科技大学 | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 |
-
2021
- 2021-12-14 CN CN202111527620.7A patent/CN114119837A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115222879A (zh) * | 2022-06-22 | 2022-10-21 | 北京百度网讯科技有限公司 | 一种模型减面处理方法、装置、电子设备及存储介质 |
CN115222879B (zh) * | 2022-06-22 | 2023-10-27 | 北京百度网讯科技有限公司 | 一种模型减面处理方法、装置、电子设备及存储介质 |
CN117473655A (zh) * | 2023-12-27 | 2024-01-30 | 中国人民解放军国防科技大学 | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 |
CN117473655B (zh) * | 2023-12-27 | 2024-03-15 | 中国人民解放军国防科技大学 | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8760450B2 (en) | Real-time mesh simplification using the graphics processing unit | |
Nießner et al. | Real-time 3D reconstruction at scale using voxel hashing | |
CN110276820B (zh) | 基于lod组织与调度方法的gis模型优化方法及系统 | |
US8711143B2 (en) | System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves | |
US8988433B2 (en) | Systems and methods for primitive intersection in ray tracing | |
CN114119837A (zh) | 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 | |
US9208610B2 (en) | Alternate scene representations for optimizing rendering of computer graphics | |
EP2784752B1 (en) | Prediction method, generation method and storage medium | |
US9959670B2 (en) | Method for rendering terrain | |
KR20110093404A (ko) | 3차원 그래픽스 랜더링 장치 및 그 방법 | |
US8836702B2 (en) | Ray tracing core and method for processing ray tracing | |
KR100935886B1 (ko) | 그래픽스 처리 유닛을 이용한 사진트리 기반의 지형 렌더링 방법 | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN109544672A (zh) | 一种三维建筑模型纹理映射方法及装置 | |
CN114186318A (zh) | 一种Revit模型轻量化渲染方法和装置 | |
US10937236B1 (en) | Mesh smoothing for visual quality and analysis improvement | |
WO2019088865A1 (ru) | Способ и система удаления невидимых поверхностей трёхмерной сцены | |
US9454554B1 (en) | View dependent query of multi-resolution clustered 3D dataset | |
CN117315192B (zh) | 一种用于中国空间站的三维网格模型简化方法 | |
Wiemann et al. | Automatic Map Creation For Environment Modelling In Robotic Simulators. | |
KR20160068204A (ko) | 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체 | |
US7379599B1 (en) | Model based object recognition method using a texture engine | |
US12056823B2 (en) | Segmenting three-dimensional meshes in graphical applications based on detection of elongated shapes | |
JP6025615B2 (ja) | 画像描画装置 | |
CN117974899B (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 |