APP下载

基于Catmull-Rom算法的样条曲线在测绘CAD制图软件中的应用研究

2022-07-23贺卫中

现代测绘 2022年3期
关键词:测量点样条等高线

贺卫中,陈 昀

(常州市自然资源和规划服务中心,江苏 常州 213022)

0 引 言

按传统测绘CAD制图方法,地物空间、形状的表达是先采集必要的测量点,然后构造直线、规则曲线来表达地物的形状。对于多数规则地形要素,通过少量特征点即可以准确表达该地物的空间特征。而对于一些不规则要素如弯曲的小路、等高线等,若想准确表达其特点,则需要采集较多的特征点以保证其实际形状,而这无疑会增大内外业的测绘工作量,降低工作效率[1]。

样条曲线是指通过给定一组控制点而绘制得到一条曲线,曲线的形状大致由这些点进行控制,一般可分为插值样条和逼近样条两种,目前样条曲线在CAD机械设计等方面得到了广泛应用。为解决不规则地物测绘效率较低的问题,本文对基于Catmull-Rom算法的样条曲线进行了研究,使用少数特征点,对地物曲线及等高线进行插值拟合,从而还原连续但不规则地物的形状特征。

1 Catmull-Rom数学基础

Catmull-Rom样条曲线是从三次曲线方程演变而来的,是一种分段式连续平滑曲线[2],相对于广泛使用的B样条曲线,Catmull-Rom样条的曲线会经过其每一个控制点。图1即为基本的Catmull-Rom样条曲线,该曲线共有4个控制点,分别为P0,P1,P2,P3,另外定义一个浮点坐标t,t∈[0.0,1.0]。

图1 Catmull-Rom曲线

Catmull-Rom曲线方程为:

(1)[3]

该曲线方程又可表示为:

综上可知,Catmull-Rom样条曲线通过控制点,且曲线在控制点处的切线与前后两控制点连线平行,增加控制点后其每一分段均可以独立计算,且分段间可以实现连续平滑。该特性较适用于在测量点数较少的情况下对平滑连续但不规则的地形要素如小路、地类界、花圃、等高线等进行拟合。

2 应用研究

2.1 基于Vb.net的代码实现

使用Vb.net对AutoCAD进行二次开发,实现了测绘制图中Catmull-Rom曲线的生成功能。由上节Catmull-Rom样条曲线数据基础可知,每次插值生成曲线均需要4个基础控制点,因此首先定义4个特征点P0、P1、P2、P3,定义浮点t,按式2可计算P1与P2之间的插值点X/Y坐标,代码如图2所示。

图2 Catmull-Rom基础插值算法

由于Catmull-Rom样条曲线只能生成P1到P2点之间的曲线,若需要生成P0到P1与P2到P3之间的曲线,则需要新增其它测量点,在实际CAD制图情况中,按闭合面与非闭合的情况两种情况进行分类处理。

(1)闭合面:闭合面中所有测量点是循环且连续的,因此对于其中任意相邻两点间的样条曲线,不需要添加新的测量控制点,通过连续的4个测量点即可直接生成,图3中代码即为闭合面起点与第二点之间的曲线生成,其中PointOnCatmullRomCurve为Catmull-Rom基础插值算法。

图3 闭合面生成样条曲线

图4 非闭合面生成样条曲线

在实际测绘CAD制图过程中,需要根据测量比例尺情况,确定两两特征点之间的插值数,插值数越大,则曲线平滑度越高。通过软件算法计算得到所有插值点坐标后,将所有点(包括测量点与插值点)进行连线,即形成了覆盖所有测量点的Catmull-Rom样条曲线。

2.2 Catmull-Rom样条曲线在不规则地物绘制中的运用

在日常测绘中,经常会遇到一些带弧度的不规则地物,如图5所示,测设该段草地外围曲线共采集了50多个测量点,工作量相对较大,而Catmull-Rom样条曲线的方法运用能够一定程度减轻工作量,并使最后成果与实际地形高度拟合。

图5 弯曲的不规则地物

如图6所示,基于AutoCAD 2019开发了多种样条曲线生成算法,包含B样条曲线、贝塞尔曲线、Catmull-Rom样条曲线、Chaikin曲线。对于该草地外沿曲线,在其转折处、顶点等关键点位提取了19个特征点,并在AutoCAD里面使用各类样条曲线进行生成测试,生成结果如图7所示。

图6 各类样条曲线

图7 各类样条曲线生成效果

由生成结果可以看出,贝塞尔曲线、B样条曲线、Chaikin曲线均为逼近样条曲线,贝塞尔曲线与真实地形相差较大,B样条曲线、Chaikin曲线相差较小,但曲线并未通过测量点。Catmull-Rom样条曲线为插值样条曲线,与真实地形相差最小,且全部通过设定的测量点,具有实际应用价值。

2.3 Catmull-Rom算法在等高线绘制中的运用

地形图等高线插值一般需要满足以下规则要求:① 曲线通过已知的等高线点;② 曲线在节点处光滑,具有连续的一阶(或二阶)导数;③ 曲线不应自身相交;④ 逼近地形效果好[5]等。目前大部分软件等高线拟合方式有:等值直线、张力样条曲线、3次B样条、Spline拟合等。

等高线插值规则与Catmull-Rom样条曲线的特性十分相似,本文对Catmull-Rom算法绘制等高线进行了试验,并基于CAD进行了相关开发。按照等高线自动生成的步骤,首先将各高程点展点,然后根据高程点坐标与高程构建TIN,如图8(a)所示。

基于生成的TIN,按等值直线与Catmull-Rom算法拟合两种方式生成的等高线成果进行了对比,结果如图8所示。图8(b)为等值直线的生成效果,图8(c)为Catmull-Rom样条曲线效果。从结果可以看出,Catmull-Rom算法拟合的等高线相交的情况极少,平滑度较高且与实际情况非常吻合,后期等高线局部调整工作量相对较小,更加适用于平时的测绘内业工作。

图8 等高线生成结果

3 结 语

基于Catmull-Rom算法的样条曲线具有通过所有控制点且连续平滑的特点,与其它各类样条曲线相比,生成的曲线与实际形状更加符合。通过二次开发Catmull-Rom算法的样条曲线生成程序,实现了依靠少数关键特征点即能生成符合地物形状的曲线,另外该算法生成的等高线平滑度较高且后期调整量较少,能够有效地提高测绘内外业效率。

猜你喜欢

测量点样条等高线
飞机部件数字化调姿定位测量点的优选与构造算法
对流-扩散方程数值解的四次B样条方法
等高线地形图的判读和应用
浅析冲压件测量点的规划
热电偶应用与相关问题研究
地形图的阅读
基于CAD模型的三坐标测量机测量点分布规划
一种基于Fréchet距离的断裂等高线内插算法
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
“等高线地形图的判读”专题测试