基于VB的点位误差椭圆的绘制方法研究论文_张红娟1, 于松波1, 张卓彤1, 郑娇娇1

中国地质大学长城学院 河北保定 071000

摘要:导线网作为平面控制网的一种布设形式得到了广泛应用。为了解决实际工程中导线网精度估算人工计算工作量大、计算过程繁琐易错等问题,本文以VB为开发工具,开发设计了适用于导线网精度估算的程序。文中研究了误差椭圆的绘制方法的基本思路和绘制方法等。通过实例验证,可知基于VB的点位误差椭圆的绘制方法是可行有效的,可作为其他编程的参考。

关键词:VB;误差椭圆;绘制方法

1前言

测量平面控制网精度估算或平差计算后进行精度评定时 ,点位中误差虽然可以用来评定待定点的点位精度 ,但是它却不能代表该点在某一任意方向上的位差大小[1]。通过误差椭圆可以求得待定点在任意方向上的位差 ,这样就可以较精确地、形象而全面地反映待定点点位在各个方向上误差的分布情况[2]。

Visual Basic (简称VB)是一种面向对象、结构化、模块化、可视化的程序设计语言,即可用于编写小型软件,也可开发数据库等大型软件。它对开发人员的技术要求不高,具有用户易接受,界面友好等特点[2-3]。为了解决点位误差椭圆绘制的问题,基于VB语言,本文误差椭圆的绘制方法,满足控制网设计和测量平差的需要,该程序将有相当高的实际应用与推广价值。

2 数学模型的建立

2.1 误差椭圆的含义

点位误差曲线不是一种典型的曲线,作图也不方便,因此降低了它的使用价值。但由于其形状与以位差的极大值E和极小值F为长短半轴的椭圆很相似。因此在实际应用中常常是使用该椭圆来代替点位误差曲线,此椭圆称为点位误差椭圆。有了点位误差椭圆我们就可以求得该点在任意方向的位差。

2.2 误差椭圆的要素

误差椭圆是描述待定点点位在任意方向上的误差分布规律的图形。在点位误差椭圆上可以图解出任意方向??的点位误差??。误差椭圆由3个要素来确定,分别是极大值E、极小值F和极大值方向?,计算公式分别为[1]

3 程序实现

3.1 绘制方法研究

在VB中,绘制图形有两种方法,一种是使用绘图控件,如Line控件、Shape控件等,这种绘图方法适用于绘制一些简单的图形;另一种是使用绘图方法,即编写代码来实现图形的绘制。本程序设计到绘制导线网以及各点上的误差椭圆,如果使用第一种方法,要用到很多绘图控件会增加程序编写的困难。考虑实际情况,本程序采用绘图方法来绘制导线网和点位误差椭圆。在VB的容器中,只有窗体和图片框控件有绘图方法,支持曲线的绘制[4]。

窗体和图片框的绘图方法都有坐标参数,坐标系统是一个二维网格,可用来定义屏幕上、窗体中或其它容器中的位置,所以坐标系统对于绘图来说是很重要的。坐标系统包括原点位置、坐标单位以及坐标轴的方向等三个重要方面。在窗体和图片框中绘图时,VB提供了7种标准坐标系统供选用。此外,还可以使用自定义坐标系统。在VB的绘图控件中,标准坐标系统的坐标原点位于控件的左上角,水平向右为x轴,竖直向下为y轴。这与测量坐标系统(水平向右为y轴,竖直向上为x轴)是不同的,绘图时要注意到不同坐标系统下坐标的转换。

3.2 代码实现

本程序使用VB中的自定义坐标系统,可以使用Scale方法设置一个自定义坐标系统:

Object.Scale ( x1,y1)—( x2,y2)

其中( x1 , y1 )是绘图区左上角在新的自定义坐标系统下的坐标,( x2 , y2 )是绘图区右下角在新的自定义坐标系统下的坐标。例如,下面语句可以将图片框的坐标系统设置为y轴向上为正,左下角为坐标原点,宽和高都是100个单位。

Picture1.Scale ( 0 , 100 )—( 100 , 0 )

自定义坐标系统部分的代码如下:

CoXMin = Min(xx( )): CoXMax = Max(xx( ))

CoYMin = Min(yy( )): CoYMax = Max(yy( ))

AddX = CoXMax – CoXMin : AddY = CoYMax - CoYMin

If AddX >= AddY Then

CoYMax = CoYMin + AddX

Pic1.Scale (CoYMin - AddX / 6, CoXMax + AddX / 6)-(CoYMax + AddX / 6, CoXMin - AddX / 6)

Else

CoXMax = CoXMin + AddY

Pic1.Scale (CoYMin - AddY / 6, CoXMax + AddY / 6)-(CoYMax + AddY / 6, CoXMin - AddY / 6

End If

Pic1.AutoRedraw = True

在由测量坐标绘制点位误差椭圆时,只需将测量的x和y坐标互换即可。自定义坐标系统,可以减少很多坐标换算的工作。

点位误差椭圆的绘制采用点绘方法,即每隔一个很小的角度绘制一点,这样绘制的很多点可以绘制成误差椭圆。也可以采用很小的直线段来绘制,当两点间的间隔角度很小时,两种绘图方法的差别不会很大,所以,本程序采用点绘方法。使用PSet方法画点:

Object.Pset [ step ] ( x , y )

3.3 程序的测试

本文研发了导线网精度估算的程序来,其中一个模块的任务是绘制导线网各待定点的点位误差。为了验证以上编写代码的可靠性和可行性,选择了国家四等导线网作为验证实例。该控制网为由2个节点组成的导线网,4个已知点,13个待定点,共计17各点,导线网总长33.6km,平均边长1.8km。程序绘制出的误差椭圆能够满足控制网设计的需要。

4 结束语

本文介绍了绘制误差椭圆的一种基本思路, 基于VB语言编写绘制任意方向点位误差椭圆的程序代码,通过程序设计绘制出了符合要求要求的点位误差椭圆来,可供编程时参考 。

参考文献:

[1] 武汉大学测绘学院测量平差学科组. 误差理论与测量平差基础[M]. 武汉:武汉大学出版社,2003.

[2] 丁建闯,杜婷,孙国庆. 基于VB的导线网测量平差程序设计研究[J]. 煤炭科学技术,2016,44(11):173-178.

[3] 高平和,林勋. 绘制误差椭圆的程序设计方法[J]. 长春工程学院学报 (自然科学版),2004, 5(2):64-66.,1990,(1):65-71.

[4] 柴欣,李惠然.Visual Basic程序设计教程[M].北京:海洋出版社,2001.

论文作者:张红娟1, 于松波1, 张卓彤1, 郑娇娇1

论文发表刊物:《防护工程》2019年第1期

论文发表时间:2019/4/30

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于VB的点位误差椭圆的绘制方法研究论文_张红娟1, 于松波1, 张卓彤1, 郑娇娇1
下载Doc文档

猜你喜欢