CN113012259B - 一种基于三角剖分算法对凹多边形填充处理的方法 - Google Patents

一种基于三角剖分算法对凹多边形填充处理的方法 Download PDF

Info

Publication number
CN113012259B
CN113012259B CN202110310693.4A CN202110310693A CN113012259B CN 113012259 B CN113012259 B CN 113012259B CN 202110310693 A CN202110310693 A CN 202110310693A CN 113012259 B CN113012259 B CN 113012259B
Authority
CN
China
Prior art keywords
concave polygon
triangle
polygon
normal vector
target
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
CN202110310693.4A
Other languages
English (en)
Other versions
CN113012259A (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.)
Xi'an Gelan Chuangzhi Information Technology Co ltd
Original Assignee
Shanghai Grandell Network Technology Co ltd
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 Shanghai Grandell Network Technology Co ltd filed Critical Shanghai Grandell Network Technology Co ltd
Priority to CN202110310693.4A priority Critical patent/CN113012259B/zh
Publication of CN113012259A publication Critical patent/CN113012259A/zh
Application granted granted Critical
Publication of CN113012259B publication Critical patent/CN113012259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种基于三角剖分算法对凹多边形填充处理的方法,属于图形学领域。本发明的基于三角剖分算法对凹多边形填充处理的方法,通过三角剖分算法将凹多边形进行三角形化,同时形成凸多边形,然后,计算三角剖分算法所获得三角形的各个边线段与目标凹多边形边界的交点,并参数化交点,以此交点与原多边形的交点为基础,重新三角化,得到新的三角化多边形,以原多边形参数化初始化点为起始点,按参数化值从小到大的顺序计算各个三角形的法向量,并通过三角形法向量与原多边形法向量方向的对比,确定三角形的去留,最终达到对目标凹多边形填充的效果。

Description

一种基于三角剖分算法对凹多边形填充处理的方法
技术领域
本发明属于图形学领域,其是一种基于三角剖分算法对凹多边形填充处理的方法。
背景技术
近年来,随着BIM技术的快速发展,建筑模型三维可视化成为了建筑业的重要方向之一。其中模型填充是图形学领域经常遇到的问题之一,也是模型可视化领域研究的应用方向之一,为区分模型的结构特征,常常需要对模型不同构件进行不同颜色的填充处理。
在三维引擎中为了绘制三维图形,通常都是以三角面数据对物体进行几何重建和填充,对于不规则物体在进行面数据三角化时常常需要用到三角剖分算法,三角剖分算法常用于对凸多边形进行分析处理,在对凹多边形填充时就无法满足需求了,需要在此基础上进行改进。在三角剖分处理完成后,基于边界数据进行重算,获取所需凹多边形的轮廓,并进行填充处理。
发明内容
本发明的目的在于解决三维图形填充过程中利用传统的三角剖分算法无法填充凹多边形的问题,提供一种基于三角剖分算法对凹多边形填充处理的方法。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于三角剖分算法对凹多边形填充处理的方法,包括以下步骤:
1)以目标凹多边形的某个顶点为起始点,按逆时针顺序依次赋予目标凹多边形各个顶点正整数值,利用三角剖分算法将目标凹多边形进行三角形划分,同时形成一个凸多边形;
2)求划分得到的所有三角形的边和目标凹多边形边的交点,参数化所述交点,之后以所述交点和目标凹多边形的顶点为基础重新三角化凸多边形,得到若干个重新划分的三角形;
3)以目标凹多边形的起始点为初始点,按照重新划分三角形的顶点参数化后数值从小到大的顺序来计算每个三角形的法向量;
4)对比法向量的方向,若三角形的法向量方向与目标凹多边形法向量方向一致,则为要保留的三角形;否则,则为要被丢弃的三角形;
5)输出保留的三角形数据,对其进行填充处理,即完成凹多边形的填充处理。
进一步的,步骤1)中三角剖分算法为:以目标凹多边形的各个顶点为基础,运用Delaunay三角剖分方法对凹多边形进行三角化,同时形成一个凸多边形。
进一步的,步骤2)中求划分得到的所有三角形的边和目标凹多边形边的交点的具体操作为:
获取所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标,分别构建各条边的表达式,基于所述三角形各条边的表达式和目标凹多边形边的表达式求得交点坐标。
进一步的,构建各条边的表达式具体操作为:
将所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标分别代入公式y=kx+b,求得各条边的表达式。
进一步的,步骤2)中参数化所述交点的具体操作为:
以交点所在目标凹多边形边的两个顶点之间的距离为总长,计算交点到赋值较小一侧顶点的距离,将所述距离除以总长的值加上赋值较小一侧顶点的值即为交点的参数值。
进一步的,步骤3)中法向量的计算方法为:
301)以目标凹多边形的起始点为初始点,按顶点参数值从小到大的顺序依次获取每个三角形的三个顶点坐标;
302)根据每个三角形的坐标计算出对应边的向量
Figure RE-GDA0003064066760000031
303)基于向量
Figure RE-GDA0003064066760000032
计算三角形的法向量
Figure RE-GDA0003064066760000033
进一步的,按照以下公式计算出三角形的法向量
Figure RE-GDA0003064066760000034
Figure RE-GDA0003064066760000035
进一步的,步骤4)中法向量方向的判别方法为:
403)提取目标凹多边形的顶点坐标,计算目标凹多边形的法向量
Figure RE-GDA0003064066760000036
404)判断目标凹多边形的法向量
Figure RE-GDA0003064066760000037
和三角形的法向量
Figure RE-GDA0003064066760000038
是否同向。
进一步的,根据以下公式判断三角形法向量与目标凹多边形法向量的方向是否一致:
Figure RE-GDA0003064066760000039
若存在正数n使得上式成立,则两者法向量方向一致;
否则,则两者的法向量方向不一致。
与现有技术相比,本发明具有以下有益效果:
本发明的基于三角剖分算法对凹多边形填充处理的方法,通过三角剖分算法将凹多边形进行三角形化,同时形成凸多边形,然后,计算三角剖分算法所获得三角形的各个边线段与目标凹多边形边界的交点,并参数化交点,以此交点与原多边形的交点为基础,重新三角化,得到新的三角化多边形,以原多边形参数化初始化点为起始点,按参数化值从小到大的顺序计算各个三角形的法向量,并通过三角形法向量与原多边形法向量方向的对比,确定三角形的去留,最终达到对目标凹多边形填充的效果。
附图说明
图1为本发明的流程图;
图2为本发明的参数化原理图,其中,图2(a)为目标凹多边形,图2(b) 为三角剖分后的凸多边形;
图3为实施例的目标凹多边形的结构图;
图4为实施例中三角形去留的判别结果图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对三角剖分算法无法满足对凹多边形填充的需求,在其基础上进行改进,在三角剖分处理完成后,基于边界数据进行重算,提出了一种基于三角剖分算法对凹多边形填充处理的方法。
下面结合附图对本发明做进一步详细描述:
参见图1,图1为本发明的流程图,本发明的基于三角剖分算法对凹多边形填充处理的方法,包括以下步骤:
步骤一:将目标凹多边形的各个顶点按逆时针按顺序赋予正整数值,并通过Delaunay三角剖分算法将目标凹多边形填充为凸多边形;
步骤二:求上述步骤中所述三角剖分算法所得三角形的所有边和目标凹多边形边界的交点,并参数化交点;之后,以所有交点和原凹边形的原有顶点为基础重新三角化多边形;
步骤三:以目标凹多边形起始点为初始点,对所有三角形的顶点参数化后,按参数化值从小到大的顺序,计算每个三角形的法向量;
步骤四:通过对比三角形法向量和目标凹多边形法向量的方向,凡是法向量方向跟原来凹多边形法向量方向一致的就是要保留的三角形,否则就是要被丢弃的三角形;
步骤五:输出最终所保留的三角形数据。
参见图2,图2为本发明的参数化原理图,图2(a)为目标凹多边形,图2 (b)为三角剖分后的凸多边形,其中△124与线段23之间存在交点,通过计算交点到赋值较小一侧顶点2的距离和总长线段23的距离做比值得到的值为0.74,再加上赋值较小一侧顶点的值2,得到交点的参数值为2.74。
实施例
参见图3,图3为实施例的目标凹多边形的结构图,首先,基于Delaunay三角剖分算法对目标凹多边形进行处理,将其填充为凸多边形。然后根据三角剖分算法所得到三角形的各条线段与凸多边形的边界求交点,最后以交点和原凹多边形的顶点为基础重新三角化多边形。
参见图4,图4为实施例中三角形去留的判别结果,首先,以目标凹多边形起始点为初始点,按照参数值由小到大的顺序,依次计算各个三角形的法向量,如△123、△234、△245,并与目标凹多边形法向量方向对比,图4中有填充的三角形与目标凹多边形法向量方向不一致,因此去除有填充的三角形,保存其他三角形,进行填充处理,即可实现对凹多边形的填充处理。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (9)

1.一种基于三角剖分算法对凹多边形填充处理的方法,其特征在于,包括以下步骤:
1)以目标凹多边形的某个顶点为起始点,按逆时针顺序依次赋予目标凹多边形各个顶点正整数值,利用三角剖分算法将目标凹多边形进行三角形划分,同时形成一个凸多边形;
2)求划分得到的所有三角形的边和目标凹多边形边的交点,参数化所述交点,之后以所述交点和目标凹多边形的顶点为基础重新三角化凸多边形,得到若干个重新划分的三角形;
3)以目标凹多边形的起始点为初始点,按照重新划分三角形的顶点参数化后数值从小到大的顺序来计算每个三角形的法向量;
4)对比法向量的方向,若三角形的法向量方向与目标凹多边形法向量方向一致,则为要保留的三角形;否则,则为要被丢弃的三角形;
5)输出保留的三角形数据,对其进行填充处理,即完成凹多边形的填充处理,此以完成建筑模型三维可视化。
2.根据权利要求1所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,步骤1)中三角剖分算法为:以目标凹多边形的各个顶点为基础,运用Delaunay三角剖分方法对凹多边形进行三角化,同时形成一个凸多边形。
3.根据权利要求1所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,步骤2)中求划分得到的所有三角形的边和目标凹多边形边的交点的具体操作为:
获取所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标,分别构建各条边的表达式,基于所述三角形各条边的表达式和目标凹多边形边的表达式求得交点坐标。
4.根据权利要求3所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,构建各条边的表达式具体操作为:
将所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标分别代入公式y=kx+b,求得各条边的表达式。
5.根据权利要求1所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,步骤2)中参数化所述交点的具体操作为:
以交点所在目标凹多边形边的两个顶点之间的距离为总长,计算交点到赋值较小一侧顶点的距离,将所述距离除以总长的值加上赋值较小一侧顶点的值即为交点的参数值。
6.根据权利要求1所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,步骤3)中法向量的计算方法为:
301)以目标凹多边形的起始点为初始点,按顶点参数值从小到大的顺序依次获取每个三角形的三个顶点坐标;
302)根据每个三角形的坐标计算出对应边的向量
Figure FDA0003936361510000021
303)基于向量
Figure FDA0003936361510000022
计算三角形的法向量
Figure FDA0003936361510000023
7.根据权利要求6所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,按照以下公式计算出三角形的法向量
Figure FDA0003936361510000024
Figure FDA0003936361510000025
8.根据权利要求6所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,步骤4)中法向量方向的判别方法为:
401)提取目标凹多边形的顶点坐标,计算目标凹多边形的法向量
Figure FDA0003936361510000031
402)判断目标凹多边形的法向量
Figure FDA0003936361510000032
和三角形的法向量
Figure FDA0003936361510000033
是否同向。
9.根据权利要求8所述的基于三角剖分算法对凹多边形填充处理的方法,其特征在于,根据以下公式判断三角形法向量与目标凹多边形法向量的方向是否一致:
Figure FDA0003936361510000034
若存在正数n使得上式成立,则两者法向量方向一致;
否则,则两者的法向量方向不一致。
CN202110310693.4A 2021-03-23 2021-03-23 一种基于三角剖分算法对凹多边形填充处理的方法 Active CN113012259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110310693.4A CN113012259B (zh) 2021-03-23 2021-03-23 一种基于三角剖分算法对凹多边形填充处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110310693.4A CN113012259B (zh) 2021-03-23 2021-03-23 一种基于三角剖分算法对凹多边形填充处理的方法

Publications (2)

Publication Number Publication Date
CN113012259A CN113012259A (zh) 2021-06-22
CN113012259B true CN113012259B (zh) 2023-01-20

Family

ID=76405708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110310693.4A Active CN113012259B (zh) 2021-03-23 2021-03-23 一种基于三角剖分算法对凹多边形填充处理的方法

Country Status (1)

Country Link
CN (1) CN113012259B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114332475A (zh) * 2021-12-07 2022-04-12 江苏科技大学 一种船舶焊缝特征识别方法
CN114359527B (zh) * 2021-12-31 2024-06-21 广东三维家信息科技有限公司 一种图形数据的三角化处理方法及系统
CN116012491B (zh) * 2023-03-20 2023-09-19 电科疆泰(深圳)科技发展有限公司 多边形填充方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996414A (zh) * 2009-08-18 2011-03-30 富士通株式会社 用于渲染凹多边形的方法和装置
CN106780697A (zh) * 2016-12-07 2017-05-31 珠海金山网络游戏科技有限公司 一种基于法向、几何、uv因素的网格简化方法
CN109741458A (zh) * 2019-01-24 2019-05-10 苏明 一种基于Unity3D快速构建复杂多边形平面的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574932A (zh) * 2015-12-17 2016-05-11 北京科技大学 能够反映地层结构的地质三维模型任意剖切方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996414A (zh) * 2009-08-18 2011-03-30 富士通株式会社 用于渲染凹多边形的方法和装置
CN106780697A (zh) * 2016-12-07 2017-05-31 珠海金山网络游戏科技有限公司 一种基于法向、几何、uv因素的网格简化方法
CN109741458A (zh) * 2019-01-24 2019-05-10 苏明 一种基于Unity3D快速构建复杂多边形平面的方法

Also Published As

Publication number Publication date
CN113012259A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN113012259B (zh) 一种基于三角剖分算法对凹多边形填充处理的方法
CN110226806B (zh) 一种鞋底涂胶轨迹生成方法及装置
CN107767453B (zh) 一种基于规则约束的建筑物lidar点云重构优化方法
CN111581776B (zh) 一种基于几何重建模型的等几何分析方法
US20120206457A1 (en) Methods and Systems for Generating Continuous Surfaces from Polygonal Data
US11200737B2 (en) Adaptive mesh non-regularized Booleans
CN111046735B (zh) 一种车道线点云提取方法、电子设备及存储介质
WO2011137229A1 (en) Systems and methods for primitive intersection in ray tracing
EP3652708A1 (en) Method of printing a 3d model from point cloud data
Joy et al. Frame-sliced voxel representation: An accurate and memory-efficient modeling method for workpiece geometry in machining simulation
CN101853525A (zh) 基于网格分割的带纹理模型细节保持简化方法
CN104933749A (zh) 图形图元的裁剪
CN105354878B (zh) 一种电子地图数据的制作方法及装置
CN114429535A (zh) 一种三角网格曲面的光滑裁剪方法及装置
CN114290660A (zh) 曲面分层式3d打印方法及系统
CN113781642A (zh) 一种基于减面算法的三维模型多层级lod的生成方法
CN114283244A (zh) 一种基于gpu的八叉树布尔运算加速求交方法
CN114092906A (zh) 一种车道线分段拟合方法、系统、电子设备及存储介质
CN111008429B (zh) 一种基于点云的异构cad几何一致性对比方法
CN113989310B (zh) 建筑体量数据的估算方法、装置、设备及存储介质
CN107742036B (zh) 一种鞋样自动排料加工方法
US20220414986A1 (en) Segmenting three-dimensional meshes in graphical applications based on detection of elongated shapes
CN112967333B (zh) 基于等级划分的复杂点云骨架提取方法及系统
US8730235B2 (en) Method for determining point connectivity on a two manifold in 3D space
CN104008558A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230315

Address after: 710065 room 10802, building 1, Huixin IBC, No. 1, zhangbayi Road, high tech Zone, Xi'an, Shaanxi Province

Patentee after: Xi'an Gelan Chuangzhi Information Technology Co.,Ltd.

Address before: 201400 Building 2, 268 Qinggong Road, Fengxian District, Shanghai

Patentee before: Shanghai grandell Network Technology Co.,Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method for Filling Concave Polygons Based on Triangulation Algorithm

Effective date of registration: 20231007

Granted publication date: 20230120

Pledgee: Xi'an innovation financing Company limited by guarantee

Pledgor: Xi'an Gelan Chuangzhi Information Technology Co.,Ltd.

Registration number: Y2023980060200