CN113129443B - 一种拓扑关系保持的三维建筑物简化方法及*** - Google Patents

一种拓扑关系保持的三维建筑物简化方法及*** Download PDF

Info

Publication number
CN113129443B
CN113129443B CN202110463721.6A CN202110463721A CN113129443B CN 113129443 B CN113129443 B CN 113129443B CN 202110463721 A CN202110463721 A CN 202110463721A CN 113129443 B CN113129443 B CN 113129443B
Authority
CN
China
Prior art keywords
points
building
boundary
edge
folding
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
Application number
CN202110463721.6A
Other languages
English (en)
Other versions
CN113129443A (zh
Inventor
佘江峰
王标
赵强
葛荣存
贺丽霞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202110463721.6A priority Critical patent/CN113129443B/zh
Publication of CN113129443A publication Critical patent/CN113129443A/zh
Application granted granted Critical
Publication of CN113129443B publication Critical patent/CN113129443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

为解决现有三维模型简化方法在简化建筑物模型时容易导致的组件脱离以及建筑物拓扑关系的破坏等问题,本发明提出了一种拓扑关系保持的建筑物简化方法及***。首先将建筑物划分为不同的组件,再基于相交检测方法进行顶点识别,分为边界点、孔洞点和普通点;在考虑顶点类型的同时,引入边折叠夹角定义一种新的误差度量,以限制组件边界的简化;最后根据新的误差度量计算边折叠耗费并依次执行边折叠操作以完成简化过程。与传统方法相比,本发明在保持建筑物外观的同时能够有效避免拓扑关系的破坏,使得不同LOD层次间的通视分析具有比较好的一致性。

Description

一种拓扑关系保持的三维建筑物简化方法及***
技术领域
本发明属于计算机图形学与虚拟地理环境领域,具体涉及一种拓扑关系保持的三维建筑物简化方法及***。
背景技术
三维城市场景因其能够提供易于感知和理解的真实场景,在城市应用中日益突出。建筑物模型是三维城市场景的重要组成部分之一,能否在交互过程中实现建筑物高效的渲染直接影响着用户的最终体验。随着三维建模手段的多样化,特别是激光雷达和航空摄影测量技术的快速发展,三维建筑模型的数据量急剧增加。虽然现代计算机硬件的计算能力提升巨大,但仍无法满足数据***式增长引发的需求,给三维模型的实时渲染带来了极大的困难。这个问题的主要解决方案是使用细节层次模型,即LOD(Level of Details)。使用多细节层次的三维模型能有效减少渲染所需的数据量,提高渲染效率。此外,在许多空间分析应用中,多细节层次模型也具有不可替代的作用,如在大规模城市场景下进行通视分析时,使用LOD模型能够有效提升空间分析的效率,因此保持不同LOD层次空间分析的一致性是必要的。
生成不同层次LOD的核心是简化算法。三维模型的简化算法一直是计算机图形学领域的研究热点,目前已发展出许多经典的简化算法,但这些算法大多针对的是自由曲面模型。由于三维建筑物本身特有的几何约束关系(垂直、平行和共面关系),学者们也提出了一系列专门针对三维建筑物的简化算法,能够较好的保持建筑物的外观特征。由近年来在建筑设计领域得到广泛应用的程序建模过程可知,建筑物模型大多是利用组件逐步建立的,其中每一个组件都是独立的格网(图1的(b))。然而现有算法在简化上述多组件模型时未考虑组件的拓扑连接关系,容易导致相邻组件脱离,产生裂缝(图1的(c)),致使建筑物不同LOD层级间拓扑关系不一致,在此基础上进行的三维通视分析也可能会结论不一致。虽然也有一些方法考虑到了建筑物的拓扑关系,但主要用于三维建筑物模型重构,且对数据集有较为严格的要求。总体而言,针对多组件建筑物考虑拓扑关系的简化研究还有待深入。
发明内容
发明目的:针对现有三维建筑物模型简化方法在可视化效果以及空间分析方面的缺陷,本发明公开了一种考虑建筑物组件拓扑关系的建筑物简化方法及***,在保持建筑物外观的同时有效避免了简化过程中不同LOD层次间的拓扑不一致问题,使得在此之上进行的三维通视分析具有比较好的一致性。
技术方案:为了实现上述发明目的,本发明采用的技术方案为:
一种拓扑关系保持的三维建筑物简化方法,包含以下步骤:
(1)按照建筑物格网是否连通将建筑物划分为不同的组件;
(2)基于相交检测方法对建筑物顶点进行分类与识别,分为边界点、孔洞点以及普通点;所述边界点是指与相邻组件相交的边中位于相交组件内部的顶点;所述孔洞点是指仅有一个邻域三角形的边的两个顶点;除边界点和孔洞点之外的点均为普通点;
(3)引入边折叠夹角定义新的边折叠误差度量公式,对于边界点折叠,在QEM算法的基础上增加代价倍数,所述代价倍数为基础耗费倍率与边折叠夹角余弦值的比值;所述边折叠夹角为边界边与相交三角形的夹角;
(4)根据误差度量计算边折叠耗费并依次执行边折叠操作以完成简化过程。
进一步地,步骤(1)中具体包括:
(1.1)遍历建筑物所有格网,生成点集合P并将所有顶点标记为未访问;
(1.2)从集合P中任选一个未访问顶点作为起点,所有与其直接或间接相连的点均归类为同一组件,在此期间访问过的所有顶点均标记为已访问;
(1.3)划分过程中以队列是否为空作为区分是否属于同一组件的依据,访问过程中不断将属于同一组件的未访问顶点压入队列,当队列为空时,表明这一组件的顶点全部提取完毕;
(1.4)循环执行(1.2)–(1.3),直到所有的点均已被访问,至此组件划分完成。
进一步地,步骤(2)中边界点的提取方法为:首先构建组件的AABB包围盒进行预筛选,分别进行包围盒与包围盒、三角形与包围盒以及边与包围盒三个等级的相交检测以缩小筛选范围;其次将筛选后的边与三角形进行相交检测,提取出每个组件中与另一组件相交的边界边;最后构建边界边向量并计算其与相交三角形法向量的夹角,若夹角为锐角则向量后端点为边界点,否则向量前端点为边界点,若边界边穿组件而过,则两端点均为边界点。步骤(2)中孔洞点的提取方法为:在整个模型中查找相邻三角形数量为1的边,其两个顶点均为孔洞点。除边界点和孔洞节点外的顶点均为普通点。
进一步地,在包围盒与包围盒、三角形与包围盒以及边与包围盒相交检测时,将包含关系也视为相交。
进一步地,边界点的提取还包括如下规则:若顶点同时具备边界点和孔洞点的特征,则记为边界点,同时对这些边界点三角化,使组件闭合;在进行相交检测时临时对包围盒和线段进行延伸;若某条边穿组件而过,其有且仅有的两个邻接三角形法向量平行,则这两个三角形的另外两点也视为边界点。
进一步地,步骤(3)中对于普通点折叠,基于QEM算法计算误差度量;对于孔洞点折叠,采用改进的QEM算法,以折叠边的长度代替折叠后顶点到原顶点相邻面的距离来计算误差度量。
进一步地,位于同一组件内部两个边界点之间的折叠,其折叠夹角定义为0°。
进一步地,步骤(4)中具体包括:
(4.1)根据误差度量计算所有边的初始折叠耗费;
(4.2)选择边折叠耗费最小的边执行边折叠操作并重新计算其所有邻接边的折叠耗费;
(4.3)循环执行(4.2)直到达到预期的简化率,至此简化完成。
基于相同的发明构思,本发明提供的一种拓扑关系保持的三维建筑物简化***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的拓扑关系保持的三维建筑物简化方法。
有益效果:与传统方法相比,本发明有效的保持了建筑物组件的边界特征,在保持建筑物外观的同时有效避免了简化过程中不同LOD层次间的拓扑不一致问题,使得在此之上进行的三维通视分析具有比较好的一致性。
附图说明
图1为现有算法简化多组件模型时的效果图;其中:(a)为连续格网模型;(b)为多组件模型;(c)为简化后的多组件模型。
图2为本发明实施例的技术路线图。
图3为本发明实施例中建筑物组件划分的流程图。
图4为本发明实施例中建筑物组件划分的结果图;其中:(a)为原始模型;(b)为组件划分结果。
图5为本发明实施例中建筑物模型边界点示意图。
图6为本发明实施例中建筑物模型孔洞点示意图。
图7为本发明实施例中边界点提取的流程图。
图8为本发明实施例中边界点提取的示意图。
图9为本发明实施例中孔洞点提取的示意图。
图10为本发明实施例中组件间的细小裂缝示意图。
图11为本发明实施例中建筑物组件间的嵌入关系示意图。
图12为本发明实施例中边界点的提取结果图;其中(a)为原始模型;(b)边界点提取结果。
图13为本发明实施例中边与组件的夹角示意图。
图14为本发明实施例与传统方法的对比效果图;其中(a)、(b)、(c)分别对应3中不同建筑物模型。
图15为本发明实施例中参数分析的结果对比图。
图16为本发明实施例中通视分析的结果对比图;其中:(a)为原始模型的结果;(b)为QEM方法简化模型的结果;(c)为本发明简化模型的结果。
具体实施方式
下面结合附图以及具体实施例对本发明的技术方案作进一步的介绍。
如图2所示,本发明实施例公开了一种拓扑关系保持的三维建筑物简化方法,首先将建筑物划分为不同的组件;其次基于建筑物的多组件特征对顶点类型进行识别,分为边界点、孔洞点及普通点;在考虑顶点类型的同时,引入边折叠夹角来定义一种新的误差度量,以限制组件边界的简化。各步骤详细介绍如下。
1.建筑物组件划分
近年来,大多数建筑模型都是使用组件逐步建立的。但是,具有相同形状的多个组件可能被合并为一个聚合结构,这往往是数据组织的基本单位。在这种情况下,现有模型不能满足本发明的要求。因此,我们需要根据网格是否实际连接将建筑模型划分为不同的组件。
本发明基于广度优先搜索算法(BFS)进行建筑物组件划分,算法的详细流程如图3所示。首先遍历建筑物所有格网,生成点集合P并将所有顶点标记为未访问;然后从集合中任选一个未访问顶点作为起点,所有与其直接或间接相连的点均归类为同一组件(若两个顶点可通过其他顶点关联起来,即认为二者间接相连),在此期间访问过的所有顶点均标记为已访问;划分过程中以队列是否为空作为区分是否属于同一组件的依据,访问过程中不断将属于同一组件的未访问顶点压入队列,当队列为空时,表明这一组件的顶点全部提取完毕。不断循环这一过程,直到所有的点均已被访问,至此,组件划分完成。划分结果如图4所示,不同组件用不同颜色标识。
2.建筑物顶点类型分类与识别
(1)建筑物顶点分类
如图5所示,边a与组件B相交,对其折叠易造成组件脱离,定义为边界边;边b与组件B不存在相交关系,定义为普通边;边c位于组件B内部,其两个端点均在组件B内部,折叠后的顶点仍位于组件B内,不会导致组件脱离,也定义为普通边。边界边中位于组件内部的端点定义为边界点,另一端点为普通点。如图5所示,对于边界边a,其端点p1位于组件B外部,为普通点;端点p2位于组件B内部,为边界点。普通边的两个端点均定义为普通点。边界a的折叠包括两种情况,p1折叠到p2及p2折叠到p1,二者虽然作用于相同的边,但其含义及影响完全不同,所以为避免混淆,本发明将边界边的折叠定义为边界点向普通点的折叠(p2→p1)。
建筑物组件中仅有一个邻域三角形的边被定义为孔洞边,其两个端点均记为孔洞点。QEM误差度量的计算规则导致这类边更容易被简化,应对其进行限制。QEM误差度量定义为折叠后顶点到原顶点相邻面距离的平方和。如图6所示,m为孔洞边,q3,q4为孔洞点,从视觉效果上而言,q3折叠到q2比q2折叠到q1所造成的误差更大。但由于q3处缺少底部的两个相邻面,基于QEM得到的(q3,q2)的误差度量为0,在简化总是被优先折叠。
(2)建筑物边界点识别
对于多组件模型来说,拓扑依赖关系主要表示为组件之间的相交或邻接(组件在某些平面上紧密贴合)——组件具有重叠的部分。维护建筑组件的拓扑依赖性主要是维护组件之间重叠的部分。在这种情况下,我们可以通过边与三角形的相交来提取边界顶点并基于这些边界点来限制组件之间重叠部分的简化。因此,核心在于如何正确提取组件的边界点。边界点提取的流程如图7所示,主要包括预筛选、相交检测和边界点识别。其中,预筛选的步骤如下:
步骤1:我们构造建筑物组件的AABB(Axis-aligned bounding box)包围盒,并分别进行相交检测。
步骤2:过滤不相交的组件,并将相交组件对记录在集合C中并标记为未访问。此外,当包围盒彼此包含时,组件之间也存在相交可能,也将记录在集合C中。
步骤3:检查集合C中所有的组件对是否均已访问。若否,则算法继续。否则,算法终止。
步骤4:从集合中任选一个未访问的组件对Ci(C1,C2),并将Ci标记为已访问。
步骤5:对于C1中的每个边,当它与C2的包围盒相交时,将其添加到集合E中。另外,当一条边完全在包围盒内时,也存在边与组件相交的可能,也将添加到集合E中参与后续操作。如图8所示,边b不与组件B的包围盒相交。它将被过滤,并且不会添加到集合E中。
步骤6:对于C2中的每个三角形,当它与C1的包围盒相交时,将其添加到集合T中。此外,当三角形位于包围盒内时,三角形与该组件也存在相交可能,也将添加到集合T中参与后续操作。如图8所示,三角形β1和β2不与组件A的包围盒相交。它们会被过滤且不会添加到集合T中。在组件B中,仅三角形γ1和γ2与组件A的包围盒相交,参与下一步的相交检测,大大提高了计算效率。
相交检测为:对于E中的每个边(例如图8中的边a),当它与T中的任何三角形(例如图8中的三角形γ1、γ2)相交时,即定义为边界边。判断边与三角形是否相交的一般思路如下:当边与三角形所在的平面平行时,即不相交。否则,计算相交顶点的坐标并确定该顶点是否在三角形内,若在三角形内则相交,不在则不相交。
对于每个边界边,根据边与相交面的法向量夹角确定边界点。具体判断方法如下:以图8为例,连接边a的两个点构成向量并计算其与三角面(γ1)法向量的夹角,若夹角为锐角(0≤cos θ≤1),则向量后端点为边界点(p1),否则向量前端点为边界点(p2)。此外,若边穿组件而过,两个端点均在组件外部,折叠任一点均会造成组件脱离,因此两点均视为边界点。
(3)针对特殊建筑物的附加规则
(a)若顶点同时具备边界点和孔洞点的特征,则记为边界点。这些顶点所在边的邻域三角形数量虽然也为1(图9),但这是由于建模失真造成的且会被识别为边界点,因此不应被定义为孔洞点。同时对这些边界点三角化,使组件闭合,以符合本发明要求。如图9所示,边n只有一个邻域三角形,其所在的垂直平面未闭合,但其端点s1、s2在上述边界点提取过程中会被识别出来作为边界点进行约束,所以无需定义为孔洞点。
(b)现有三维建筑物往往是由多个独立的组件聚合而成,但聚合方式多样,可能会存在表面贴合的情况,即两个组件在视觉上是连接的,但实际上二者间存在微小的缝隙,组件不相交(图10)。这种情况下基于相交检测的方法无法正确提取边界点,简化过程中仍会出现组件脱离。针对以上问题,本发明基于缓冲思想,在进行相交检测时临时对包围盒和线段进行一定的延伸,幅度为长度的1%。
(c)本发明在前面边界点识别时定义了一条补充规则(若边穿组件而过,则将其两端点均视为边界点),较好的解决了组件交错而过的问题,但在面对具有“嵌入”关系的相交组件时,边界点的提取结果可能不完全。如图11所示,屋顶底面四边形由两个三角形构成,其底面积大于墙体面积,构成了一种“嵌入”关系,在进行相交检测时,三角形斜边e与墙体相交且穿墙体而过,其两个端点均可被识别为边界点(w1,w3);依据相交检测规则,底面四边形的另外两点间不存在与墙体相交的边,因此被识别为普通点(w2,w4),但其在简化过程容易被折叠,造成屋顶与墙体的脱离。为解决这一问题,本发明提出一条特殊的规则:若某条边穿组件而过,其有且仅有的两个邻接三角形法向量平行,则这两个三角形的另外两点也视为边界点。最终的边界点提取结果如图12所示。
3.折叠误差度量
(1)边折叠夹角
三维建筑物组件数量繁多,导致边界点数量也较多,甚至会超过模型总顶点数的一半,若禁止所有的边界点折叠则会严重限制建筑物的简化率。因此取得简化率与简化效果的平衡也是本发明的一个重点。边与组件的夹角是决定边折叠优先度一个重要指标,是影响组件的脱离程度的一个重要因素。但二维线段与三维组件间不存在夹角的概念,本发明引入折叠参考面的概念来代替组件以计算二者间的夹角。本发明将折叠参考面定义为与线段相交的三角面,如图13中C面。当边与组件平行时,折叠后顶点仍位于组件内部,对其折叠基本不会造成组件的脱离;随着夹角的增大,边折叠后组件间的裂缝也随之增大。因此应着重限制夹角较大的边,而对近乎平行的边应较少限制甚至不限制。
图13中参数θ表示的即为边与组件的夹角,当θ趋近于0°时,cosθ≈1,边折叠耗费主要取决于折叠导致的组件变形;当θ趋近于90°时,cosθ≈0,边折叠耗费主要取决于角度,且折叠耗费极大,基本不简化。
(2)误差度量公式
建筑物的简化是通过削减边的数量,即边的折叠来实现的,每次边折叠均选择折叠后对整体影响最小的边,其依据是边折叠的误差度量。边折叠误差度量计算的经典方法是QEM(quadratic error metric)算法,其以二次误差作为误差度量。该方法在选择一条合适的边进行迭代收缩时,定义了一个描述边收缩代价的变量Δ,具体如下:对于网格中的每个顶点v,我们预先定义一个4×4的对称误差矩阵Q,那么顶点v={vx vy vz 1}T的误差为其二次项形式Δ(v)=vTQv。假设对于一条收缩边(v1,v2),其收缩后顶点变为νbar,我们定义顶点vbar的误差矩阵为Qbar=Q1+Q2
QEM算法能较好的保持建筑物的几何特征,但其未考虑建筑物的多组件特征,无法解决简化过程中建筑物组件间出现的脱离问题。为解决这一问题,在计算边折叠耗费时应充分考虑建筑物组件边界点的特殊性。本发明引入边折叠夹角这一概念重新定义了误差度量公式,如下:
本发明采用的边折叠方法为半边折叠,所以本发明中(v1,v2)表示的是点v1折叠到v2。其中,参数a表示边界点折叠的基础耗费倍率,即当边折叠夹角为0°时,对边界点进行折叠需要比普通边折叠多付出的代价倍数,以保证对组件的简化优先从内部开始,更好的保持建筑物的拓扑关系。边界点之间的折叠也使用上述公式,若两个边界点位于同一组件内部,则其折叠夹角定义为0°。折叠耗费不仅取决于QEM算法,还取决于基础耗费倍率a。QEM(v1,v2)*表示改进的QEM误差度量,传统的QEM算法计算得到的孔洞点折叠误差度量为0,与实际不符,本发明以折叠边的长度代替折叠后顶点到原顶点相邻面的距离来计算误差度量。以图6中q3为例,q3为孔洞点,QEM(q3,q2)=0,以q3q2的长度代替q3处三角面到折叠后顶点(q2)的距离。折叠边的长度代表折叠后顶点与原顶点相邻面距离的最大可能值,一定程度上增大了孔洞点折叠的误差度量,可以更好的保持建筑物的外观特征。
4.计算边折叠耗费并依次执行边折叠
在本研究中,我们选择半边折叠作为本发明简化方法的基础,原因如下:(1)半边折叠无需计算折叠后顶点坐标,提高了算法的运行效率;(2)传统的边折叠方法在计算多组件建筑物的折叠后顶点坐标时还需考虑组件相交关系,组件相交部分的最佳顶点坐标难以确定。
首先基于新的误差度量公式计算所有边的初始边折叠耗费。接着选择耗费最低的边执行边折叠操作。由于边折叠具有局部相关性,其耗费受相邻三角面影响,因此每次边折叠后需更新其周围边折叠耗费。重复这一过程,当简化率(定义为删除的三角形数除以原始模型中的三角形数)达到用户指定的阈值时,简化结束。
基于相同的发明构思,本发明实施例公开的一种拓扑关系保持的三维建筑物简化***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述的拓扑关系保持的三维建筑物简化方法。
为了验证本发明所提出方法的有效性,我们使用三个模型进行了简化实验,分别为结构复杂的中国古代建筑物、结构简单的现代建筑物以及结构复杂的现代建筑物。实验具体简化效果如图14所示,模型的具体简化数据如表1所示。
表1不同建筑物模型的简化结果统计
经过多次实验,三个模型的边折叠参数a分别取值为2.0,1.5,5.0。为证明本发明在外观保持方面的有效性,将我们的方法与QEM算法的简化效果进行了对比。裂缝形成的原因主要是微小组件的坍塌和组件边缘微小结构的折叠。如图14的(a)所示,QEM算法造成的栏杆组件的变形即属于组件的坍塌,虽然未形成裂缝,但其折叠造成了建筑物整体外观的巨大破坏。模型生产过程的不规范导致栏杆中部分组件形成了类似孔洞点的特征,在QEM算法中误差度量为0,总是优先被简化,为保留这些组件,只能统一设置一个较大的折叠误差,致使图中很早就应简化的组件保留到了最后,对模型外观造成了较大的破坏。本发明对这类顶点形成的孔洞进行了重新三角化,修复了模型的孔洞,取得了更好的简化效果。同时,亭子基座与主体的脱离属于组件边缘微小结构的折叠,形成了一条明显的裂缝。本发明通过限制组件边界点折叠的方式保留了基座的微结构,避免了基座与主体的脱离,视觉效果更好。如图14的(b)所示,其建筑物组件数量少,因此能够取得更高的简化率。随着简化率的提升,组件内部的微小结构被折叠,导致了裂缝的出现。本发明在避免裂缝的同时也维持了建筑物的拓扑一致性,在此基础上进行的通视分析也将具有较好的一致性。如图14的(c)所示,建筑物柱子内部连接结构被折叠,导致建筑物拓扑关系被破坏,虽然该组件体积较小,但其连接柱子不同部分,该结构被折叠破坏了柱子的整体性,造成的视觉影响远高于其实际误差度量。与此同时,柱子之间的围栏组件也被保留。本发明避免了柱子连接组件及围栏组件的折叠,且其他部分视觉效果变化不大,简化效果更佳。但由于连接结构体积较小,在保持其完整性的同时也一定程度上限制了建筑物的简化率。
为进一步分析边折叠参数对于简化效果的影响,本发明在相同简化率下进行了几组试验,结果如图15所示。据误差度量公式可知,影响边折叠误差度量的因素包括基础折叠耗费a以及边折叠夹角θ,其中θ由算法自动计算得到,a由人工赋予,不同建筑物往往差异较大。以古亭这一建筑物为例,分析参数a对简化结果的影响。当参数a为1时,边界点折叠耗费仅取决于折叠夹角,其效果较QEM算法有所改善,但仍未完全解决组件坍塌及组件内微小结构折叠的问题。随着a的增大,边折叠操作会更倾向于发生在组件内部,更好的保留建筑物的组件连接关系,a为2时取得了较好的简化效果。随着a继续增大,边折叠进一步集中于组件内部,会导致组件过简化,例如a为4时,虽然栏杆的特征得到了更好的保留,但檐角组件过度简化,且亭子顶部组件被完全折叠,简化效果较差。因此,一个合适的参数值也是决定建筑物简化效果的重要因素。
为证明本发明在保持不同LOD层次间通视分析一致性方面的有效性,本发明基于OSG(OpenSceneGraph)相交检测方法进行了一组简单的对比实验,实验结果如图16所示。三个场景中带有纹理的建筑物分别为原始模型、QEM算法简化模型及本发明的简化模型,三个场景中视点、视角及视距均相同。使用原始模型进行通视分析,可视建筑物数量为9栋;使用QEM算法生成的模型进行通视分析,与原始模型差异较大,可视建筑物数量为17栋。相比之下本发明的简化模型与原始模型通视分析结果相同,可视建筑物数量均为9栋,较好的保持了不同LOD层次通视分析的一致性。

Claims (7)

1.一种拓扑关系保持的三维建筑物简化方法,其特征在于,包含以下步骤:
(1)按照建筑物格网是否连通将建筑物划分为不同的组件;
(2)基于相交检测方法对建筑物顶点进行分类与识别,分为边界点、孔洞点以及普通点;所述边界点是指与相邻组件相交的边中位于相交组件内部的顶点;所述孔洞点是指仅有一个邻域三角形的边的两个顶点;除边界点和孔洞点之外的点均为普通点;其中边界点的提取方法为:首先构建组件的AABB包围盒进行预筛选,分别进行包围盒与包围盒、三角形与包围盒以及边与包围盒三个等级的相交检测以缩小筛选范围;其次将筛选后的边与三角形进行相交检测,提取出每个组件中与另一组件相交的边界边;最后构建边界边向量并计算其与相交三角形法向量的夹角,若夹角为锐角则向量后端点为边界点,否则向量前端点为边界点,若边界边穿组件而过,则两端点均为边界点;边界点的提取还包括如下规则:若顶点同时具备边界点和孔洞点的特征,则记为边界点,同时对这些边界点三角化,使组件闭合;在进行相交检测时临时对包围盒和线段进行延伸;若某条边穿组件而过,其有且仅有的两个邻接三角形法向量平行,则这两个三角形的另外两点也视为边界点;
(3)引入边折叠夹角定义新的边折叠误差度量公式,对于边界点折叠,在QEM算法的基础上增加代价倍数,所述代价倍数为基础耗费倍率a与边折叠夹角θ余弦值的比值;所述边折叠夹角为边界边与相交三角形的夹角;其中对于普通点折叠,基于QEM算法计算误差度量;对于孔洞点折叠,采用改进的QEM算法,以折叠边的长度代替折叠后顶点到原顶点相邻面的距离来计算误差度量;误差度量公式为:
其中(v1,v2)表示的是点v1折叠到v2,QEM(v1,v2)*表示改进的QEM误差度量;
(4)根据误差度量计算边折叠耗费并依次执行边折叠操作以完成简化过程。
2.根据权利要求1所述的拓扑关系保持的三维建筑物简化方法,其特征在于,步骤(1)中具体包括:
(1.1)遍历建筑物所有格网,生成点集合P并将所有顶点标记为未访问;
(1.2)从集合P中任选一个未访问顶点作为起点,所有与其直接或间接相连的点均归类为同一组件,在此期间访问过的所有顶点均标记为已访问;
(1.3)划分过程中以队列是否为空作为区分是否属于同一组件的依据,访问过程中不断将属于同一组件的未访问顶点压入队列,当队列为空时,表明这一组件的顶点全部提取完毕;
(1.4)循环执行(1.2)–(1.3),直到所有的点均已被访问,至此组件划分完成。
3.根据权利要求1所述的拓扑关系保持的三维建筑物简化方法,其特征在于,步骤(2)中孔洞点的提取方法为:在整个模型中查找相邻三角形数量为1的边,其两个顶点均为孔洞点。
4.根据权利要求1所述的拓扑关系保持的三维建筑物简化方法,其特征在于,在包围盒与包围盒、三角形与包围盒以及边与包围盒相交检测时,将包含关系也视为相交。
5.根据权利要求1所述的拓扑关系保持的三维建筑物简化方法,其特征在于,位于同一组件内部两个边界点之间的折叠,其折叠夹角定义为0°。
6.根据权利要求1所述的拓扑关系保持的三维建筑物简化方法,其特征在于,步骤(4)中具体包括:
(4.1)根据误差度量计算所有边的初始折叠耗费;
(4.2)选择边折叠耗费最小的边执行边折叠操作并重新计算其所有邻接边的折叠耗费;
(4.3)循环执行(4.2)直到达到预期的简化率,至此简化完成。
7.一种拓扑关系保持的三维建筑物简化***,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-6任一项所述的拓扑关系保持的三维建筑物简化方法。
CN202110463721.6A 2021-04-26 2021-04-26 一种拓扑关系保持的三维建筑物简化方法及*** Active CN113129443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110463721.6A CN113129443B (zh) 2021-04-26 2021-04-26 一种拓扑关系保持的三维建筑物简化方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110463721.6A CN113129443B (zh) 2021-04-26 2021-04-26 一种拓扑关系保持的三维建筑物简化方法及***

Publications (2)

Publication Number Publication Date
CN113129443A CN113129443A (zh) 2021-07-16
CN113129443B true CN113129443B (zh) 2023-09-22

Family

ID=76780569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110463721.6A Active CN113129443B (zh) 2021-04-26 2021-04-26 一种拓扑关系保持的三维建筑物简化方法及***

Country Status (1)

Country Link
CN (1) CN113129443B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116721218B (zh) * 2023-07-08 2024-01-26 南京信息工程大学 一种三维不动产模型轻量化方法、***及设备
CN116702298B (zh) * 2023-08-01 2023-12-05 全屋优品科技(深圳)有限公司 室内装饰设计的模型构建方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102947865A (zh) * 2010-04-29 2013-02-27 柯斯提克绘图公司 用于光线跟踪中的图元相交的***和方法
CN104766367A (zh) * 2015-04-10 2015-07-08 南京大学 一种计算三维模型处理中三维网格拓扑结构图构造方法
CN108647399A (zh) * 2018-04-17 2018-10-12 华中科技大学 一种组合曲面的偏置方法
CN108961411A (zh) * 2018-07-02 2018-12-07 南京大学 一种保持外观特征的复杂三维建筑物模型简化方法
CN109635834A (zh) * 2018-11-02 2019-04-16 中铁上海工程局集团有限公司 一种网格模型智能化镶嵌的方法及***
CN110223397A (zh) * 2019-05-30 2019-09-10 南京维狸家智能科技有限公司 一种保持细节特征及纹理的网格模型简化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10573768B2 (en) * 2014-09-25 2020-02-25 Drexel University Physical forms of MXene materials exhibiting novel electrical and optical characteristics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102947865A (zh) * 2010-04-29 2013-02-27 柯斯提克绘图公司 用于光线跟踪中的图元相交的***和方法
CN104766367A (zh) * 2015-04-10 2015-07-08 南京大学 一种计算三维模型处理中三维网格拓扑结构图构造方法
CN108647399A (zh) * 2018-04-17 2018-10-12 华中科技大学 一种组合曲面的偏置方法
CN108961411A (zh) * 2018-07-02 2018-12-07 南京大学 一种保持外观特征的复杂三维建筑物模型简化方法
CN109635834A (zh) * 2018-11-02 2019-04-16 中铁上海工程局集团有限公司 一种网格模型智能化镶嵌的方法及***
CN110223397A (zh) * 2019-05-30 2019-09-10 南京维狸家智能科技有限公司 一种保持细节特征及纹理的网格模型简化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
城市建筑物三维可视化逼真度优化设计仿真;吴珊丹等;《计算机仿真》;第34卷(第1期);第388-391页 *

Also Published As

Publication number Publication date
CN113129443A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN109815604B (zh) 基于建筑要素拓扑关系的bim室内空间连通图构建方法
CN108961411B (zh) 一种保持外观特征的复杂三维建筑物模型简化方法
CN113129443B (zh) 一种拓扑关系保持的三维建筑物简化方法及***
CN106023312B (zh) 基于航空LiDAR数据的三维建筑物模型自动重建方法
CN107146280A (zh) 一种基于切分的点云建筑物重建方法
CN101944239A (zh) 三维模型分割方法、装置以及包含该装置的图像处理***
Zhou et al. 2.5 D building modeling with topology control
CN104392486A (zh) 一种点云场景重建方法
CN104851126B (zh) 基于广义圆柱体的三维模型分割方法及装置
CN111462318B (zh) 一种基于视点互信息的三维树木模型实时简化方法
CN103907118A (zh) 用于在储层模拟***中进行粗化的***和方法
CN102853803B (zh) 一种文物破损面积的测定方法
CN110322547B (zh) 一种储层自适应四面体剖分方法
CN110032771A (zh) 一种顾及局部细节特征的露天煤矿dem精确裁剪方法
CN109636889B (zh) 一种基于动态缝合带的大规模三维地形模型渲染方法
CN112395794B (zh) 一种基于剖分技术的参数化边坡模型自动构建方法
Zhang et al. A geometry and texture coupled flexible generalization of urban building models
Li et al. Feature-based visibility-driven CLOD for terrain
Velasco et al. Cell Octrees: A New Data Structure for Volume Modeling and Visualization.
CN111047684A (zh) 一种基于三维模型特征的模型简化方法
CN112991529B (zh) 一种利用三角形进行地图网格化的划分算法
CN115033972A (zh) 一种建筑主体结构批量单体化方法、***及可读存储介质
CN115019003A (zh) 一种基于平面地质图的背斜构造三维建模方法
Sugihara et al. Roof report from automatically generated 3D building models by straight skeleton computation
Yan et al. UBMDP: Urban Building Mesh Decoupling and Polygonization

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