CN109949421B - 三角网切割方法及装置 - Google Patents
三角网切割方法及装置 Download PDFInfo
- Publication number
- CN109949421B CN109949421B CN201910236529.6A CN201910236529A CN109949421B CN 109949421 B CN109949421 B CN 109949421B CN 201910236529 A CN201910236529 A CN 201910236529A CN 109949421 B CN109949421 B CN 109949421B
- Authority
- CN
- China
- Prior art keywords
- triangle
- boundary
- polygon
- triangular
- sub
- 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
Images
Classifications
-
- 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
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Abstract
本发明提供一种三角网切割方法及装置,涉及图形处理技术领域。该方法包括:通过判断三角网的边界是否满足预设条件,三角网包括多个三角形;若三角网的边界满足预设条件,得到多边形的边界;最后,根据多边形的边界对三角网进行切割,得到至少两个子三角网。本发明实施例中,通过多边形的边界对三角网进行切割,使得切割的过程更加简单和有效,从而提高对三角网进行切割时的效率。
Description
技术领域
本发明涉及图形处理技术领域,具体而言,涉及一种三角网切割方法及装置。
背景技术
三维几何模型可以用来表示形态丰富的三维物体,三维几何模型在各个行业和领域也得到广泛应用,在应用三维几何模型时,需要先进行三维几何模型的构建,在进行三维几何模型的构建时,需要采用三角网切割方法进行辅助建模。
在相关技术中,终端可以包括快速碰撞检测的RAPID库、带约束的Delaunay三角化库TRIANGLE和VTK(Visualization Toolkit)库的TRICUT开源包等三个开源程序。TRICUT框架可以基于这三个开源程序,从而可以通过TRICUT框架实现对三角网进行切割。
但是,相关技术中,对三角网进行切割时,计算过程复杂,导致对三角网进行切割时效率过低的问题。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种三角网切割方法及装置,以便解决相关技术中,对三角网进行切割时,计算过程复杂,导致对三角网进行切割时效率过低的问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种三角网切割方法,包括:
判断三角网的边界是否满足预设条件,所述三角网包括多个三角形;
若所述三角网的边界满足预设条件,得到多边形的边界;
根据所述多边形的边界对所述三角网进行切割,得到至少两个子三角网。
进一步地,所述判断三角网边界是否满足预设条件,包括:
确定所述三角网的边界,所述三角网的边界包括多个端点;
判断两个相邻端点之间的距离是否小于预设阈值;
若两个相邻端点之间的距离小于预设阈值,则满足所述预设条件。
进一步地,若三角网边界满足预设条件,得到多边形的边界,包括:
若所述三角网的边界满足预设条件,则将所述两个相邻端点作为目标端点;
获取多个目标端点,所述目标端点为所述多边形的顶点;
对所述多个目标端点连接,得到所述多边形的边界。
进一步地,所述根据所述多边形切割所述三角网,得到至少两个子三角网,包括:
对所述多边形的每个顶点赋高程值,得到赋值后的多边形;
将所述赋值后的多边形插入所述三角网中,得到插入后的三角网,所述插入后的三角网包括所述赋值后的多边形的边界;
根据所述赋值后的多边形的边界对所述插入后的三角网进行切割,得到至少两个子三角网。
进一步地,所述至少两个子三角网包括:第一子三角网和第二子三角网,所述第一子三角网为多边形内的三角网,所述第二子三角网为非多边形内的三角网;
在所述根据所述多边形的边界切割三角网,得到至少两个子三角网之后,所述方法还包括:
对于所述三角网中的每个三角形,判断所述三角形的重心是否位于所述第一子三角网内;
若所述三角形的重心位于所述第一子三角网内,则将所述三角形加入所述第一子三角网;
若所述三角形的重心不位于所述第一子三角网内,则将所述三角形加入所述第二子三角网。
第二方面,本发明实施例还提供了一种三角网切割装置,包括:
第一判断模块,用于判断三角网的边界是否满足预设条件,所述三角网包括多个三角形;
获取模块,用于若所述三角网的边界满足预设条件,得到多边形的边界;
切割模块,用于根据所述多边形的边界对所述三角网进行切割,得到至少两个子三角网。
进一步地,所述第一判断模块,具体用于确定所述三角网的边界,所述三角网的边界包括多个端点;判断两个相邻端点之间的距离是否小于预设阈值;若两个相邻端点之间的距离小于预设阈值,则满足所述预设条件。
进一步地,所述获取模块,具体用于若所述三角网的边界满足预设条件,则将所述两个相邻端点作为目标端点;获取多个目标端点,所述目标端点为所述多边形的顶点;对所述多个目标端点连接,得到所述多边形的边界。
进一步地,所述切割模块,具体用于对所述多边形的每个顶点赋高程值,得到赋值后的多边形;将所述赋值后的多边形插入所述三角网中,得到插入后的三角网,所述插入后的三角网包括所述赋值后的多边形的边界;根据所述赋值后的多边形的边界对所述插入后的三角网进行切割,得到至少两个子三角网。
进一步地,所述至少两个子三角网包括:第一子三角网和第二子三角网,所述第一子三角网为多边形内的三角网,所述第二子三角网为非多边形内的三角网;
所述装置还包括:
第二判断模块,用于对于所述三角网中的每个三角形,判断所述三角形的重心是否位于所述第一子三角网内;
第一加入模块,用于若所述三角形的重心位于所述第一子三角网内,则将所述三角形加入所述第一子三角网;
第二加入模块,用于若所述三角形的重心不位于所述第一子三角网内,则将所述三角形加入所述第二子三角网。
本发明的有益效果是:本发明实施例提供一种三角网切割方法及装置,包括通过判断三角网的边界是否满足预设条件,三角网包括多个三角形;若三角网的边界满足预设条件,得到多边形的边界;最后,根据多边形的边界对三角网进行切割,得到至少两个子三角网。本发明实施例中,通过多边形的边界对三角网进行切割,使得切割的过程更加简单和有效,从而提高对三角网进行切割时的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明一实施例提供的三角网切割方法的流程示意图;
图2为本发明另一实施例提供的三角网切割方法的流程示意图;
图3为本发明又一实施例提供的三角网切割的几何示意图;
图4为本发明一实施例提供的三角网切割装置的结构示意图;
图5为本发明另一实施例提供的三角网切割装置的结构示意图;
图6为本发明又一实施例提供的三角网切割装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
图1为本发明一实施例提供的三角网切割方法的流程示意图,如图1所示,该方法包括:
S101、判断三角网的边界是否满足预设条件。
其中,三角网包括多个三角形。
终端在切割三角网时,需要根据三角网的边界,确定多边形的边界,以便在后续的步骤中,通过多边形对三角网进行切割,因此,终端需要判断三角网的边界是否满足预设条件。
具体地,终端可以获取三角网,确定三角网的边界,三角网的边界可以包括多个端点,判断三角网的边界中两个相邻端点之间的距离是否小于预设阈值,若两个相邻端点之间的距离小于预设阈值,则满足预设条件,可以将这两个相邻端点作为多边形的顶点。
在本发明实施例中,预设阈值可以根据获取三角网的边界计算获取,也可以通过工作人员的经验获取,还可以通过其他方式获取,本发明是实施例对此不进行具体限制。
S102、若三角网的边界满足预设条件,得到多边形的边界。
其中,多边形可以为凹多边形。
在终端判断三角网的边界是否满足预设条件之后,若终端判断到三角网的边界满足预设条件时,则可以确定多边形的顶点,从而得到多边形的边界,以便在后续的步骤中,终端可以根据多边形的边界对三角网进行切割。
具体地,若三角网的边界满足预设条件,将满足预设条件的两个相邻端点作为目标端点,从而根据多个满足预设条件的端点确定多个目标端点,即多边形的顶点,对多个目标端点进行连接,得到多边形的边界。
另外,终端可以判断得到的多边形的边界与三角网的位置关系,可以包括三种情况:第一种情况是,多边形的边界在三角网外部;第二种情况是,多边形的边界在三角网内部;第三种情况是,多边形的边界与三角网有交叉。
当然,若多边形的边界与三角网的位置关系为第三种情况时,终端则可以将多边形的边界与三角网,交叉部分的图形的边界,作为新的多边形的边界。
S103、根据多边形的边界对三角网进行切割,得到至少两个子三角网。
终端获取到多边形的边界之后,需要根据多边形的边界对三角网进行切割,则得到至少两个子三角网,从而终端可以完成对三角网的切割,即将三角网切割为至少两个子三角网。
具体地,终端可以对多边形的每个顶点赋高程值,获取赋值后的多边形,将赋值后的多边形插入三角网中,得到插入后的三角网,插入后的三角网包括赋值后的多边形的边界,根据赋值后的多边形的边界对插入后的三角网进行切割,得到至少两个子三角网,即多边形边界内的三角网和非多边形边界内的三角网。
另外,根据上述S102中所描述的三种情况,若为第一种情况时,则不可以根据多边形的边界对三角网进行切割;若为第二种情况时,则可以根据该多边形的边界对三角网进行切割,若为第三种情况时,则可以将交叉部分的图形的边界,作为新的多边形的边界,并根据新的多边形的边界对三角网进行切割。
综上所述,本发明实施例提供一种三角网切割方法,包括通过判断三角网的边界是否满足预设条件,三角网包括多个三角形;若三角网的边界满足预设条件,得到多边形的边界;最后,根据多边形的边界对三角网进行切割,得到至少两个子三角网。本发明实施例中,通过多边形的边界对三角网进行切割,使得切割的过程更加简单和有效,从而提高对三角网进行切割时的效率。
图2为本发明另实施例提供的三角网切割方法的流程示意图,如图2所示,该方法包括:
S201、判断三角网的边界是否满足预设条件。
其中,三角网包括多个三角形。
终端获取到三角网之后,对三角网进行分割时,需要确定多边形的边界,因此,需要判断三角网的边界是否满足预设条件,并根据判断结果确定多边形的边界,以便在后续的步骤中,终端根据多边形的边界对三角网进行切割,得到至少两个子三角网。
可选的,可以确定三角网的边界,三角网的边界可以包括多个端点,并判断两个相邻端点之间的距离是否小于预设阈值,若两个相邻端点之间的距离小于预设阈值,则满足预设条件。
具体地,遍历三角网中所有的三角形,对于每个三角形,若该三角形的一条边的仅为该三角形的边时,则可以将该边作为目标边,从而得到多个目标边,再对多个目标边进行连接,得到三角网的边界,判断三角网的边界的两个相邻端点之间的距离是否小于预设阈值,从而判断三角网的边界是否满足预设条件。
例如,两个相邻端点之间的距离可以为5,预设阈值可以为8,5小于8,则判断结果可以为1,当终端检测到判断结果为1时,则说明这两个相邻端点满足预设条件;两个相邻端点之间的距离可以为9,预设阈值可以为8,9大于8,则判断结果可以为0,当终端检测到判断结果为0时,则说明这两个相邻端点不满足预设条件。
需要说明的是,判断结果可以用数字表示,也可以用字符表示,还可以通过其他方式表示,本发明实施例对此不进行具体限制。
S202、若三角网边界满足预设条件,得到多边形的边界。
其中,多边形可以为凹多边形。
终端需要根据多边形的边界对三角网进行切割,得到至少两个子三角网,因此,在终端判断三角网的边界是否满足预设条件之后,终端需要确定多边形的边界。
可选的,若三角网的边界满足预设条件,则将两个相邻端点作为目标端点;获取多个目标端点,目标端点为多边形的顶点;对多个目标端点连接,得到多边形的边界。
具体地,遍历三角网的各个边界,针对三角网的每个边界,判断三角网的边界是否满足预设条件,得到判断结果,若判断结果指示三角网的边界满足预设条件,则将两个相邻端点作为目标端点。对三角网的每个边界进行判断,则可以得到多个目标端点,并连接多个目标端点,根据连接后的多个目标端点确定多边形的边界。
另外,若判断结果指示三角网的边界不满足预设条件,则这两个相邻端点不作为目标端点。
若两个相邻端点之间的距离不小于预设阈值,则这两个相邻端点满足预设条件,遍历三角网的边界的每个端点,获取多个目标端点,连接多个目标端点,获取多边形的边界。
在本发明实施例中,终端获取到多个目标端点之后,根据获取到的多个目标端点的顺序,按照正序或者倒序依次连接多个目标端点,则可以获取多边形的边界。
S203、根据多边形的边界对三角网进行切割,得到至少两个子三角网,至少两个子三角网包括:第一子三角网和第二子三角网。
其中,第一子三角网为多边形内的三角网,第二子三角网为非多边形内的三角网。
终端需要完成对三角网的切割,即将三角网切割为至少两个子三角网,因此,在终端获取到多边形的边界之后,终端可以根据多边形的边界对三角网进行切割,则可以得到至少两个子三角网。
可选的,对多边形的每个顶点赋高程值,得到赋值后的多边形。将赋值后的多边形插入三角网中,得到插入后的三角网,插入后的三角网包括赋值后的多边形的边界,根据赋值后的多边形的边界对插入后的三角网进行切割,得到至少两个子三角网。
具体地,对于多边形中的每个顶点,确定一个顶点在三角网中所在的三角形,并根据该三角形的面积给该多边形的顶点赋高程值,依次类推对多边形的每一个顶点赋高程值,从而可以获取赋值后的多边形,将赋值后的多边形插入三角网中,根据赋值后的多边形对三角网进行切割,得到至少两个子三角网。
例如,图3为本发明又一实施例提供的三角网切割的几何示意图,如图3所示,多边形的一个顶点可以为A,该顶点在三角网中所在三角形可以为BCD,则多边形的一个顶点A可以与三角形的两个顶点B和C构成三角形ABC,多边形的一个顶点A可以与三角形的两个顶点C和D构成三角形ACD,多边形的一个顶点A可以与三角形的两个顶点B和D构成三角形ABD,三角形BCD、ABC、ACD和ABD对应的矢量面积可以为SS、S2、S0和S1,则该多边形的一个顶点A赋的高程值可以为:pnt.Z=B->Z*S2/SS+C->Z*S0/SS+D->Z*S1/SS。
另外,将赋值后的多边形插入三角网时,多边形的每条边与三角网中的三角形的每条边均不交叉。
S204、对于三角网中的每个三角形,判断三角形的重心是否位于第一子三角网内。
终端在根据多边形的边界对三角网进行切割,得到至少两个子三角网之后,需要判断每个三角形的重心的具体位置,以便终端可以根据每个三角形的重心的具体位置,判断三角网中的每个三角形是属于第一子三角网还是第二子三角网。
具体地,获取三角网中每一个三角形的重心,判断三角形的重心是否位于第一子三角网内,获取相应的判断结果,根据该判断结果执行S205或者S206。
需要说明的是,该判断结果可以用数字表示,也可以用字符表示,还可以通过其他方式表示,本发明实施例对此不进行具体限制。
另外,终端可以判断三角形的重心是否位于第一子三角网内,也可以判断三角形的重心是否位于第一三角网内,还可以判断三角形的内心是否位于第一子三角网内,本发明实施例对此不进行具体限制。
S205、若三角形的重心位于第一子三角网内,则将三角形加入第一子三角网。
终端在判断三角形的重心是否位于第一子三角网内,得到相应的判断结果之后,需要根据判断结果将三角网中的三角形加入不同的子三角网中,因此,若三角形的重心位于第一子三角网内,则将三角形加入第一子三角网。
具体地,终端获取相应的判断结果,若判断结果表示三角形的重心位于第一子三角网内,将该三角形加入第一子三角网中,依次将符合条件的三角形加入第一子三角网之后,将第一子三角网存储到预设模型中,以便通过预设模型来存储第一子三角网。
在本发明实施例中,预设模型可以是预先设置的模型,也可以是依次将符合条件的三角形加入第一子三角网之后新建立的模型,还可以是其他模型,本发明实施例对此不进行具体限制。
S206、若三角形的重心不位于第一子三角网内,则将三角形加入第二子三角网。
终端在判断三角形的重心是否位于第一子三角网内,得到相应的判断结果之后,需要根据判断结果将三角网中的三角形加入不同的子三角网中,因此,若三角形的重心不位于第一子三角网内,则将三角形加入第二子三角网。
具体地,终端获取相应的判断结果,若判断结果表示三角形的重心位于第一子三角网内,将该三角形加入第二子三角网中,依次将符合条件的三角形加入第二子三角网之后,将第二子三角网保留至三角网中。
综上所述,本发明实施例提供一种三角网切割方法,包括通过判断三角网的边界是否满足预设条件,三角网包括多个三角形;若三角网的边界满足预设条件,得到多边形的边界;最后,根据多边形的边界对三角网进行切割,得到至少两个子三角网。本发明实施例中,通过多边形的边界对三角网进行切割,使得切割的过程更加简单和有效,从而提高对三角网进行切割时的效率。
图4为本发明另实施例提供的三角网切割装置的结构示意图,如图4所示,该装置包括:
第一判断模块401,用于判断三角网的边界是否满足预设条件,三角网包括多个三角形;
获取模块402,用于若三角网的边界满足预设条件,得到多边形的边界;
切割模块403,用于根据多边形的边界对三角网进行切割,得到至少两个子三角网。
可选的,第一判断模块401,具体用于确定三角网的边界,三角网的边界包括多个端点;判断两个相邻端点之间的距离是否小于预设阈值;若两个相邻端点之间的距离小于预设阈值,则满足预设条件。
可选的,获取模块402,具体用于若三角网的边界满足预设条件,则将两个相邻端点作为目标端点;获取多个目标端点,目标端点为多边形的顶点;对多个目标端点连接,得到多边形的边界。
可选的,切割模块403,具体用于对多边形的每个顶点赋高程值,得到赋值后的多边形;将赋值后的多边形插入三角网中,得到插入后的三角网,插入后的三角网包括赋值后的多边形的边界;根据赋值后的多边形的边界对插入后的三角网进行切割,得到至少两个子三角网。
可选的,至少两个子三角网包括:第一子三角网和第二子三角网,第一子三角网为多边形内的三角网,第二子三角网为非多边形内的三角网;
如图5所示,装置还包括:
第二判断模块404,用于对于三角网中的每个三角形,判断三角形的重心是否位于第一子三角网内;
第一加入模块405,用于若三角形的重心位于第一子三角网内,则将三角形加入第一子三角网;
第二加入模块406,用于若三角形的重心不位于第一子三角网内,则将三角形加入第二子三角网。
综上所述,本发明实施例提供一种三角网切割装置,包括通过判断三角网的边界是否满足预设条件,三角网包括多个三角形;若三角网的边界满足预设条件,得到多边形的边界;最后,根据多边形的边界对三角网进行切割,得到至少两个子三角网。本发明实施例中,通过多边形的边界对三角网进行切割,使得切割的过程更加简单和有效,从而提高对三角网进行切割时的效率。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图6为本发明又一实施例提供的三角网切割装置的结构示意图,该装置可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。
该装置包括:处理器601、存储器602。
存储器602用于存储程序,处理器601调用存储器602存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种三角网切割方法,其特征在于,包括:
判断三角网的边界是否满足预设条件,所述三角网包括多个三角形;
若所述三角网的边界满足预设条件,得到多边形的边界;
根据所述多边形的边界对所述三角网进行切割,得到至少两个子三角网;
所述判断三角网的边界是否满足预设条件,包括:
确定所述三角网的边界,所述三角网的边界包括多个端点;
判断两个相邻端点之间的距离是否小于预设阈值;
若两个相邻端点之间的距离小于预设阈值,则满足所述预设条件;
若三角网边界满足预设条件,得到多边形的边界,包括:
若所述三角网的边界满足预设条件,则将所述两个相邻端点作为目标端点;
获取多个目标端点,所述目标端点为所述多边形的顶点;
对所述多个目标端点连接,得到所述多边形的边界。
2.如权利要求1所述的方法,其特征在于,所述根据所述多边形的边界对所述三角网进行切割,得到至少两个子三角网,包括:
对所述多边形的每个顶点赋高程值,得到赋值后的多边形;
将所述赋值后的多边形插入所述三角网中,得到插入后的三角网,所述插入后的三角网包括所述赋值后的多边形的边界;
根据所述赋值后的多边形的边界对所述插入后的三角网进行切割,得到至少两个子三角网。
3.如权利要求1所述的方法,其特征在于,所述至少两个子三角网包括:第一子三角网和第二子三角网,所述第一子三角网为多边形内的三角网,所述第二子三角网为非多边形内的三角网;
在所述根据所述多边形的边界切割三角网,得到至少两个子三角网之后,所述方法还包括:
对于所述三角网中的每个三角形,判断所述三角形的重心是否位于所述第一子三角网内;
若所述三角形的重心位于所述第一子三角网内,则将所述三角形加入所述第一子三角网;
若所述三角形的重心不位于所述第一子三角网内,则将所述三角形加入所述第二子三角网。
4.一种三角网切割装置,其特征在于,包括:
第一判断模块,用于判断三角网的边界是否满足预设条件,所述三角网包括多个三角形;
获取模块,用于若所述三角网的边界满足预设条件,得到多边形的边界;
切割模块,用于根据所述多边形的边界对所述三角网进行切割,得到至少两个子三角网;
所述第一判断模块,具体用于确定所述三角网的边界,所述三角网的边界包括多个端点;判断两个相邻端点之间的距离是否小于预设阈值;若两个相邻端点之间的距离小于预设阈值,则满足所述预设条件;
所述获取模块,具体用于若所述三角网的边界满足预设条件,则将所述两个相邻端点作为目标端点;获取多个目标端点,所述目标端点为所述多边形的顶点;对所述多个目标端点连接,得到所述多边形的边界。
5.如权利要求4所述的装置,其特征在于,所述切割模块,具体用于对所述多边形的每个顶点赋高程值,得到赋值后的多边形;将所述赋值后的多边形插入所述三角网中,得到插入后的三角网,所述插入后的三角网包括所述赋值后的多边形的边界;根据所述赋值后的多边形的边界对所述插入后的三角网进行切割,得到至少两个子三角网。
6.如权利要求4所述的装置,其特征在于,所述至少两个子三角网包括:第一子三角网和第二子三角网,所述第一子三角网为多边形内的三角网,所述第二子三角网为非多边形内的三角网;
所述装置还包括:
第二判断模块,用于对于所述三角网中的每个三角形,判断所述三角形的重心是否位于所述第一子三角网内;
第一加入模块,用于若所述三角形的重心位于所述第一子三角网内,则将所述三角形加入所述第一子三角网;
第二加入模块,用于若所述三角形的重心不位于所述第一子三角网内,则将所述三角形加入所述第二子三角网。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236529.6A CN109949421B (zh) | 2019-03-26 | 2019-03-26 | 三角网切割方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910236529.6A CN109949421B (zh) | 2019-03-26 | 2019-03-26 | 三角网切割方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109949421A CN109949421A (zh) | 2019-06-28 |
CN109949421B true CN109949421B (zh) | 2023-06-16 |
Family
ID=67011870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910236529.6A Active CN109949421B (zh) | 2019-03-26 | 2019-03-26 | 三角网切割方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109949421B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838181B (zh) * | 2019-11-08 | 2023-09-26 | 中煤航测遥感集团有限公司 | 三角网模型的水平切割方法、装置、设备及存储介质 |
CN111833452B (zh) * | 2020-07-21 | 2024-01-30 | 武汉大势智慧科技有限公司 | 多面体切割三角网的切割方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942388A (zh) * | 2017-11-10 | 2018-04-20 | 中国石油大学(华东) | 一种山区地表情况下的三角网格逆时偏移方法 |
CN109410336A (zh) * | 2018-09-30 | 2019-03-01 | 深圳市华讯方舟太赫兹科技有限公司 | 网格细分方法、图像处理设备及具有存储功能的装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356263B2 (en) * | 1999-01-27 | 2002-03-12 | Viewpoint Corporation | Adaptive subdivision of mesh models |
-
2019
- 2019-03-26 CN CN201910236529.6A patent/CN109949421B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107942388A (zh) * | 2017-11-10 | 2018-04-20 | 中国石油大学(华东) | 一种山区地表情况下的三角网格逆时偏移方法 |
CN109410336A (zh) * | 2018-09-30 | 2019-03-01 | 深圳市华讯方舟太赫兹科技有限公司 | 网格细分方法、图像处理设备及具有存储功能的装置 |
Non-Patent Citations (1)
Title |
---|
三角网的并行切割算法及应用;李金玲;《中国优秀硕士学位论文全文数据库》;20180415(第4期);I138-2481页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109949421A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084894B (zh) | 三维模型的局部放大展示方法、装置与电子设备 | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
CN109949421B (zh) | 三角网切割方法及装置 | |
CN107564077B (zh) | 一种绘制道路网的方法及装置 | |
CN110428386B (zh) | 地图网格合并方法、装置、存储介质、电子装置 | |
CN113377890B (zh) | 一种地图质检方法、装置、电子设备及存储介质 | |
CN110647596A (zh) | 地图数据处理方法和装置 | |
CN115222879B (zh) | 一种模型减面处理方法、装置、电子设备及存储介质 | |
CN113256782A (zh) | 三维模型的生成方法、装置、存储介质、电子设备 | |
CN113034688B (zh) | 一种三维地图模型的生成方法以及装置 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
CN116757146B (zh) | 分布式随机行走寄生电容提取方法、装置、设备及介质 | |
CN107193856B (zh) | 一种基于安卓系统和jts库切割矢量图斑的方法 | |
CN113034663B (zh) | Gim模型轻量化处理方法和装置、设备及存储介质 | |
CN103065306B (zh) | 图形数据的处理方法及装置 | |
CN109934894B (zh) | 一种cad出图方法、装置和计算机可读存储介质 | |
CN111583268A (zh) | 点云虚拟选择与裁切方法、装置及设备 | |
CN114936610A (zh) | 电子围栏拆分方法及装置 | |
CN112435330B (zh) | 一种3d模型简化方法、装置、电子设备及存储介质 | |
CN115374499A (zh) | 一种尺寸标注方法、装置、电子设备及存储介质 | |
CN114444185A (zh) | 原位标注的识别方法、装置及电子设备 | |
CN108346170B (zh) | 电子地图的缝隙填充方法及装置 | |
CN112516596A (zh) | 一种三维场景生成方法、装置、设备和存储介质 | |
CN114255318A (zh) | 户型模型的构建方法、装置、电子设备和存储介质 | |
CN114070744B (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 |