[发明专利]一种基于三角剖分算法对凹多边形填充处理的方法有效
申请号: | 202110310693.4 | 申请日: | 2021-03-23 |
公开(公告)号: | CN113012259B | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 赵少飞;董建强;吕建让 | 申请(专利权)人: | 上海葛兰岱尔网络科技有限公司 |
主分类号: | G06T11/20 | 分类号: | G06T11/20 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 崔方方 |
地址: | 201400 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 三角 算法 多边形 填充 处理 方法 | ||
本发明公开了一种基于三角剖分算法对凹多边形填充处理的方法,属于图形学领域。本发明的基于三角剖分算法对凹多边形填充处理的方法,通过三角剖分算法将凹多边形进行三角形化,同时形成凸多边形,然后,计算三角剖分算法所获得三角形的各个边线段与目标凹多边形边界的交点,并参数化交点,以此交点与原多边形的交点为基础,重新三角化,得到新的三角化多边形,以原多边形参数化初始化点为起始点,按参数化值从小到大的顺序计算各个三角形的法向量,并通过三角形法向量与原多边形法向量方向的对比,确定三角形的去留,最终达到对目标凹多边形填充的效果。
技术领域
本发明属于图形学领域,其是一种基于三角剖分算法对凹多边形填充处理的方法。
背景技术
近年来,随着BIM技术的快速发展,建筑模型三维可视化成为了建筑业的重要方向之一。其中模型填充是图形学领域经常遇到的问题之一,也是模型可视化领域研究的应用方向之一,为区分模型的结构特征,常常需要对模型不同构件进行不同颜色的填充处理。
在三维引擎中为了绘制三维图形,通常都是以三角面数据对物体进行几何重建和填充,对于不规则物体在进行面数据三角化时常常需要用到三角剖分算法,三角剖分算法常用于对凸多边形进行分析处理,在对凹多边形填充时就无法满足需求了,需要在此基础上进行改进。在三角剖分处理完成后,基于边界数据进行重算,获取所需凹多边形的轮廓,并进行填充处理。
发明内容
本发明的目的在于解决三维图形填充过程中利用传统的三角剖分算法无法填充凹多边形的问题,提供一种基于三角剖分算法对凹多边形填充处理的方法。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于三角剖分算法对凹多边形填充处理的方法,包括以下步骤:
1)以目标凹多边形的某个顶点为起始点,按逆时针顺序依次赋予目标凹多边形各个顶点正整数值,利用三角剖分算法将目标凹多边形进行三角形划分,同时形成一个凸多边形;
2)求划分得到的所有三角形的边和目标凹多边形边的交点,参数化所述交点,之后以所述交点和目标凹多边形的顶点为基础重新三角化凸多边形,得到若干个重新划分的三角形;
3)以目标凹多边形的起始点为初始点,按照重新划分三角形的顶点参数化后数值从小到大的顺序来计算每个三角形的法向量;
4)对比法向量的方向,若三角形的法向量方向与目标凹多边形法向量方向一致,则为要保留的三角形;否则,则为要被丢弃的三角形;
5)输出保留的三角形数据,对其进行填充处理,即完成凹多边形的填充处理。
进一步的,步骤1)中三角剖分算法为:以目标凹多边形的各个顶点为基础,运用Delaunay三角剖分方法对凹多边形进行三角化,同时形成一个凸多边形。
进一步的,步骤2)中求划分得到的所有三角形的边和目标凹多边形边的交点的具体操作为:
获取所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标,分别构建各条边的表达式,基于所述三角形各条边的表达式和目标凹多边形边的表达式求得交点坐标。
进一步的,构建各条边的表达式具体操作为:
将所述三角形各条边的顶点坐标和目标凹多边形边的顶点坐标分别代入公式y=kx+b,求得各条边的表达式。
进一步的,步骤2)中参数化所述交点的具体操作为:
以交点所在目标凹多边形边的两个顶点之间的距离为总长,计算交点到赋值较小一侧顶点的距离,将所述距离除以总长的值加上赋值较小一侧顶点的值即为交点的参数值。
进一步的,步骤3)中法向量的计算方法为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海葛兰岱尔网络科技有限公司,未经上海葛兰岱尔网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110310693.4/2.html,转载请声明来源钻瓜专利网。