好文档 - 专业文书写作范文服务资料分享网站

测绘程序设计教案VB版第七章

天下 分享 时间: 加入收藏 我要投稿 点赞

第七章 绘制误差椭圆、误差曲线的程序设计方法

168

§7-1 绘制误差椭圆的程序设计方法

测量平面控制网平差计算后进行精度评定时,点位中误差虽然可以用来评定待定点的点位精度,但是它却不能代表该点在某一任意方向上的位差大小。在有些情况下,往往需要确定点位在某些特殊方向上的位差大小;此外,还要了解点位在哪一个方向上的位差最大,在哪一个方向上的位差最小。例如,在工程放样中,就经常需要研究这个问题。为了便于求定待定点点位在任意方向上位差的大小,一般是通过求出待定点的点位误差椭圆来实现的。通过误差椭圆可以求得待定点在任意方向上的位差,这样就可以较精确地、形象而全面地反映待定点点位在各个方向上误差的分布情况。

为了确定任意两个待定点之间相对位置的某些精度,也需要作出两个待定点之间的相对误差椭圆。

无论是表示点位绝对位差的误差椭圆,还是表示两个待定点之间相对位置的某些精度的相对误差椭圆,在测量程序设计中所要面临的问题都是绘制椭圆,而这个椭圆一般情况下不是正立的。由于目前常用的几种编程语言(例如VB、VC)中没有现成的语句、命令、函数或方法来绘制倾斜任意角度的椭圆,因此,下面研究在计算机屏幕上绘制倾斜任意角度的椭圆的编程方法。

一、绘制误差椭圆的基本思路

以下讨论问题及编程中所使用的平面直角坐标系,设经过一段程序的控制,已将屏幕绘图区域的平面直角坐标系调整为测量平面直角坐标系(以下简称坐标系),即纵轴向上为X轴正向,横轴向右为Y轴正向。

绘制倾斜任意角度的误差椭圆时,已知数据如下: 椭圆的长半轴:E(也可用a表示) 椭圆的短半轴:F(也可用b表示)

椭圆中心点的在坐标系中的坐标:(X0,Y0)

椭圆长半轴在坐标系中的坐标方位角:T(T称为误差椭圆的主轴方向)

如图7-1所示,绘制倾斜任意角度的误差椭圆的基本思路是:首先,求出在坐标系中坐标方位角为T的椭圆长半轴与椭圆圆周的交点G的坐标;然后,再求出椭圆圆周上一系列点P(i)的坐标(设i?0时,P(0)点与G点重合;i?n时,P(n)点与G点重合);最后,从G点开始用VB中画直线方法LINE(以下简称LINE)依次连接相邻点。

为了用LINE依次连接相邻点时所画出的直线趋近于椭圆曲线,需要使椭圆圆周上一系列点P(i)(将P(i)点称为误差椭圆圆周上细部点,简称P(i)点,下同)分布合理,即P(i)点与P(i?1)点之间的直线距离应足够小。鉴于计算机屏幕的分辨率,可控制在0.2mm内。

关于G点坐标的计算,应以椭圆中心点坐标(X0,Y0)作为起始坐标、以椭圆的长半轴E为距离、以T为坐标方位角、按坐标正算的方法进行计算,即:

?XG?X0?a?Cos(T) (7-1) ??YG?Y0?a?Sin(T)

168

椭圆长轴与椭圆圆周的另一个交点GA的坐标为: ??XGA?X0?a?Cos(T??) (7-2)

?YGA?Y0?a?Sin(T??)椭圆短轴与椭圆圆周的两个交点H、HA的坐标分别为:

??X?X?b?Cos(T?)H0??2 (7-3) ??Y?Y?b?Sin(T??)H0?2?3??X?X?b?Cos(T?)0??HA2 (7-4) ?3??Y?Y?b?Sin(T?)HA0?2?根据上述坐标,用LINE可画出椭圆的长轴及短轴。 以下重点介绍计算P(i)点坐标的方法。

二、计算P(i)点坐标的方法

1、坐标转换公式

如图7-1所示,设P点在坐标系XOY中的坐标为XP、YP,在坐标系EO?F中的坐标为EP、FP;O?点在坐标系XOY中的坐标为XO、YO;E轴正向在坐标系XOY中

的坐标方位角为T。则可以推证出如下坐标

互换公式: 图7-1 倾斜任意角度的误差椭圆

?XP?XO?EP?CosT?FP?SinT (7-5) ?Y?Y?E?SinT?F?CosTOPP?P?EP?(YP?YO)?SinT?(XP?XO)?CosT及: ? (7-6)

F?(Y?Y)?CosT?(X?X)?SinTPOPO?P2、计算P(i)点坐标的参数方程法

如图7-2所示,该法的基本思路是:先用椭圆的参数方程求解正立竖放椭圆上P(i)点坐标EP(i)、FP(i);然后,使用坐标转换公式的(7-5)式计算P(i)点在坐标系XOY中的坐标XP(i)、YP(i)。

P(i)点在EO?F坐标系中的坐标EP(i)、FP(i)可用参数方程表示为:

168

?EP(i)?a?Cos(t) (7-7) ??FP(i)?b?Sin(t)参照图7-1,用P(i)代替P、EP(i)代替EP、FP(i)代替FP、XP(i)代替XP、YP(i)代替YP,将(7-7)式代入(7-5)式中,可得任一点P(i)在XOY坐标系中的坐标为:

?XP(i)?X0?(a?Cos(t))?Cos(T)?(b?Sin(t))?Sin(T) (7-8) ??YP(i)?Y0?(a?Cos(t))?Sin(T)?(b?Sin(t))?Cos(T)如图7-2所示,编程中,可设t?i?(DT),其中

DT是椭圆圆周上有序(即有一定规律)分布的一系

列点中的任意相邻两点P(i)、P(i?1)和椭圆中心相连的直线的夹角,t应从O?G开始沿顺时针方向递增,即自E轴正向沿着顺时针方向至O?P(i)的水平夹角;

i是程序中的循环变量,i?0,1,2,??,n。

3、计算P(i)点坐标的直线点斜式方程法

如图7-2所示,该法的基本思路是:首先,求出 图7-2 正立竖放椭圆 椭圆圆周上一系列点P(i)到椭圆中心的距离D(i);然后,直接用坐标正算公式求解P(i)点在坐标系XOY中坐标XP(i)、YP(i)。

设正立竖放椭圆中心O?点在EO?F坐标系中的坐标为(0,则过该点及椭圆圆周上任0),一点P(i)的直线点斜式方程为:

FP(i)?m?EP(i) (7-9) 其中:

m?tg(i?DT) (7-10)

(7-10)式中的m为直线O?P(i)的斜率, i、DT的意义与前面相同。 在EO?F坐标系中的正立竖放椭圆的标准方程为:

(EP(i))2(FP(i))2??1 (7-11) 22ab将(7-9)式代入到(7-11)式,并顾及(7-10)式,可解得:

a2b2 (EP(i))?2 (7-12) 22b?a?tg(i?DT)2 168

则O?点至P(i)点的距离为:

D(i)?(EP(i))2?(FP(i))2

a2?b2a2?b22 (7-13) ??m?2b2?a2?m2b?a2?m2从式(7-13)可以看出,D(i)的计算与坐标系无关,也可以说与椭圆倾斜角度无关。 在图7-1与图7-2中,不论椭圆是正立竖放,还是倾斜任意角度的,D(i)是不变的。因此,P(i)点在坐标系XOY中的坐标按坐标正算公式可得:

??XP(i)?XO?D(i)?Cos(T?i?DT) (7-14)

?YP(i)?YO?D(i)?Sin(T?i?DT) 编程中,如图7-1所示,从G点开始依顺时针方向用LINE依次连接相邻点,最后,再回到G点,即可绘出所要求的误差椭圆。 4、计算P(i)点坐标的递推计算方法 该方法与计算P(i)点坐标的参数方程法基本相同,只是编程计算中采用了递推计算的方法计算Cos(t)和Sin(t)。详见后面的示例程序。

三、坐标轴的平移、旋转公式(即(7-5)式、(7-6)式的推导过程)

如图7-3所示,设P点在坐标系

?,YP?),O?点X?O?Y?中的坐标为(XP在坐标系XOY中的坐标为(XO,YO);经 图7-3 坐标轴的平移、旋转

?,YP?)(XP(XP,YP)平移、旋转后,P点在坐标系XOY中的坐标为(XP,YP)。根据求

的公式如下:

XP?XO?A1P

?X0?O?P?Cos(???)

?XO?O?P?Cos??Cos??O?P?Sin??Sin?

??Cos??YP??Sin? ?XO?XPYP?YO?O?A1

?Y0?O?P?Sin(???)

?YO?O?P?Sin??Cos??O?P?Cos??Sin?

168

测绘程序设计教案VB版第七章

第七章绘制误差椭圆、误差曲线的程序设计方法168§7-1绘制误差椭圆的程序设计方法测量平面控制网平差计算后进行精度评定时,点位中误差虽然可以用来评定待定点的点位精度,但是它却不能代表该点在某一任意方向上的位差大小。在有些情况下,往往需要确定点位在某些特殊方向上的位差大小;
推荐度:
点击下载文档文档为doc格式
2ilnn0u2v605ej21u0rq9kfa25180i00k7m
领取福利

微信扫码领取福利

微信扫码分享