一种离散点空间曲面三角网格自动剖分方法技术

技术编号:30704178 阅读:26 留言:0更新日期:2021-11-06 09:46
本发明专利技术涉及一种离散点空间曲面三角网格自动剖分方法。主要解决现有网格剖分计算复杂、数据冗余等技术问题。本发明专利技术包括输入数据空间离散点集N、各点的坐标值记为p(x

【技术实现步骤摘要】
一种离散点空间曲面三角网格自动剖分方法


[0001]本专利技术涉及一种曲面三角网格剖分的方法,特别是公开一种离散点空间曲面三角网格自动剖分方法,应用于测绘地形、点云三维重构领域。

技术介绍

[0002]随着测绘和计算机技术的发展与应用,数字地形已有越来越多应用场景,特别是基于三维激光扫描点进行曲面重构,已大量应用于地形、建筑物、虚拟现实等领域,具有重要的理论意义和应用价值。
[0003]基于离散点进行空间曲面三角网格构建引起了国内外众多学者的广泛关注,其建模研究主要分为插值法和逼近法。其中插值法大都基于Delaunay三角剖分和区域增长法之上,针对原有的数据点进行操作。论文《散乱三维测量数据构建三角形网格模型的研究》将散乱点云根据Delaunay三角剖分的原则循环扩展生成三角网格,此方法生成的三角面正确率高,且法线方向一致。论文《利用Delaunay细分进行噪声点云曲面重建》针对含噪点云,以自定义包围球为约束条件拟合求出交点,提出一种基于Delaunay细分的重建算法。论文《一种散乱点云空间直接剖分算法》将动态球策略的搜索算法引入到曲面重建中,结合约束准则和设计的顶点度量函数,实现从基础三角面片开始扩展到覆盖整个物体表面。由于散乱点云曲面建模的种种复杂性,各种算法均具有一定的局限性,表现在一些算法对点云的质量要求较高,点云噪声和缺失会影响算法的精度和建模的效果,同时,一些算法的自动化程度低,需要手动去调节参数来构建最佳模型。
[0004]综上,如何设计一种简单、高效、全自动的离散点空间曲面三角网格自动剖分方法是很有意义的。

技术实现思路

[0005]本专利技术的目的设计一种离散点空间曲面三角网格自动剖分方法,主要解决现有网格剖分计算复杂、数据冗余等技术问题。本专利技术能基于离散点快速、全自动、唯一性地生成空间曲面三角网格。
[0006]本专利技术的核心思路:基于曲面网格的连通性,利用三角形边界的两向性,自边界种子边开始,通过基于半空间边中栅格子域最小距离的前沿推进搜索算法,自动寻找种子边的最佳三角形节点,经有效性判断后形成一个新的三角形和两条搜索半边,将新边加入到搜索半边队列中,递归地对队列中的每条半边进行搜索,直到不再有新边和三角面片生成。
[0007]本专利技术的目的可以通过以下技术方案来实现:一种离散点空间曲面三角网格自动剖分方法,包括输入数据空间离散点集N、各点的坐标值记为p(x
i
,y
i
,z
i
)、点集个数n,其特征在于,还包括以下步骤:S1、读取离散点集,按坐标值x、y的顺序对点集N进行排序,记排序后的点集为N'。
[0008]S2、点集于XOY平面投影,默认坐标z值为高程值,将点集N'中的坐标z值依次提出并存储于一维数组中,该数组记为C
z
,并将点集N'中所有点的坐标z值置为零,形成 XOY平
面内的新的二维离散点集,记为N
xoy

[0009]S3、利用二维数组对离散点集N
xoy
进行分组并确定邻近点集。
[0010]所述步骤S3的具体操作如下:(1)计算离散点集N
xoy
坐标x、y的极值,坐标x、y的最小值和最大值分别记为x
min
、x
max
、 y
min
、y
max
;(2)依据x
min
、x
max
、y
min
、y
max
利用等份法对离散点集N
xoy
的平面区域进行栅格划分,取坐标轴X、Y方向的等份数分别为n
x
、n
y
,则离散点集N
xoy
的平面区域被划分为个n
x
×
n
y
小区域;(3)取一个大小为n
x
×
n
y
的二维数组,记为用于记录栅格的每一个子区域,每个子区域A
ij
内为一维动态数组,数组的起始索引为0;(4)依次遍历点集N
xoy
,并计算每个离散点N
i
(x,y)位于栅格中的哪个小区域内,并将点N
i
的位置索引值存入A
ij
中的一维动态数组内,子区域A
ij
的下标i和j的计算方法:的下标i和j的计算方法:式中:Δx=(x
max

x
min
)/n
x
,Δy=(y
max

y
min
)/n
y

[0011]S4、网格搜索起始边确定。
[0012]所述步骤S4的具体操作如下:(1)提取点集N
xoy
的首个点作为搜索起始点,记为N0;(2)计算点N0与点集N
xoy
中其他所有点组成的向量进一步计算与整体坐标系X轴的夹角,记为θ
0i
,其值域为[

π/2,π/2);(3)取θ
0i
中最小值对应的点作为网格搜索的下一个点,记为N
n
;(4)利用点N0和N
n
组成一个单边E
0n
,存储搜索边容器中C
E
,E
0n
即为三角网格搜索的起始边。
[0013]S5、依据起始边按前沿推进方法自动搜索三角形另一端点。
[0014]所述步骤S5的具体操作如下:(1)计算边E
0n
的方向向量即边E
0n
的边中点记为N
m
(x,y),其中 x=(x
n
+x0)/2,y=(y
n
+y0)/2;(2)构建一垂直于XOY平面的空间平面F,平面F的法向量为和整体坐标系Z轴向量的叉乘,即(3)遍历点集N
xoy
(不含点N0和N
n
)中的各点N
i
,利用栅格数组A
nx,ny
计算各点N
i
临近点集,计算方法:(3.1)计算边E
0n
的长度,记为ΔL;(3.2)以N
m
(x,y)为中心,取ΔL的k倍作为搜索区域,则对应的搜索区域栅格的下标计算方法:
式中:Δx,Δy同上;(3.3)搜索区域栅格记为A',其子区域的行下标值域为[i
min
,i
max
]、列下标值域为[j
min
,j
max
]。
[0015](4)遍历A'的各元素A
ij
,并依据A
ij
中存储的点集索引值,逐个计算各邻近点距平面F的距离L
i
,假如值大于或等于零,则点位于平面的正向或面内,则剔除;否则进一步计算该点本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种离散点空间曲面三角网格自动剖分方法,包括输入数据空间离散点集N、各点的坐标值记为p(x
i
,y
i
,z
i
)、点集个数n,其特征在于,还包括以下步骤:S1、读取离散点集,按坐标值x、y的顺序对点集N进行排序,记排序后的点集为N';S2、点集于XOY平面投影;S3、利用二维数组对离散点集N
xoy
进行分组并确定邻近点集;S4、网格搜索起始边确定;S5、依据起始边按前沿推进方法自动搜索三角形另一端点;S6、三角形生成及有效性判断;S7、重复步骤S3、步骤S4、步骤S5、步骤S6,直至所有的半边均处理完毕,至此,由离散点自动生成二维三角网格剖分完毕;S8、利用数组C
z
将所有二维点的Z坐标值重新赋值,则二维网格转化为三维空间网格,至此,基于离散点空间曲面三角网格剖分结束。2.根据权利要求1所述的一种离散点空间曲面三角网格自动剖分方法,其特征在于,所述步骤S2的具体操作如下:点集于XOY平面投影,默认坐标z值为高程值,将点集N'中的坐标z值依次提出并存储于一维数组中,该数组记为C
z
,并将点集N'中所有点的坐标z值置为零,形成XOY平面内的新的二维离散点集,记为N
xoy
。3.根据权利要求1所述的一种离散点空间曲面三角网格自动剖分方法,其特征在于,所述步骤S3的具体操作如下:(1)计算离散点集N
xoy
坐标x、y的极值,坐标x、y的最小值和最大值分别记为x
min
、x
max
、y
min
、y
max
;(2)依据x
min
、x
max
、y
min
、y
max
利用等份法对离散点集N
xoy
的平面区域进行栅格划分,取坐标轴X、Y方向的等份数分别为n
x
、n
y
,则离散点集N
xoy
的平面区域被划分为个n
x
×
n
y
小区域;(3)取一个大小为n
x
×
n
y
的二维数组,记为用于记录栅格的每一个子区域,每个子区域A
ij
内为一维动态数组,数组的起始索引为0;(4)依次遍历点集N
xoy
,并计算每个离散点N
i
(x,y)位于栅格中的哪个小区域内,并将点N
i
的位置索引值存入A
ij
中的一维动态数组内,子区域A
ij
的下标i和j的计算方法:的下标i和j的计算方法:式中:Δx=(x
max

x
min
)/n
x
,Δ
y
=(y
max

y
min
)/n
y
。4.根据权利要求1所述的一种离散点空间曲面三角网格自动剖分方法,其特征在于,所述步骤S4的具体操作如下:(1)提取点集N
xoy
的首个点作为搜索起始点,记为N0;(2)计算点N0与点集N
xoy
中其他所有点组成的向量进...

【专利技术属性】
技术研发人员:刘学增陈思斌王伯芝刘新根门燕青邢慧堂谢浩叶文登
申请(专利权)人:济南轨道交通集团有限公司山东轨道交通研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1