第七章
绘制误差椭圆、误差曲线的程序设计方法
§7-1 绘制误差椭圆的程序设计方法
测量平面控制网平差计算后进行精度评定时,点位中误差虽然可以用来评定待定点的点位精度,但是它却不能代表该点在某一任意方向上的位差大小。在有些情况下,往往需要确定点位在某些特殊方向上的位差大小;此外,还要了解点位在哪一个方向上的位差最大,在哪一个方向上的位差最小。例如,在工程放样中,就经常需要研究这个问题。为了便于求定待定点点位在任意方向上位差的大小,一般是通过求出待定点的点位误差椭圆来实现的。通过误差椭圆可以求得待定点在任意方向上的位差,这样就可以较精确地、形象而全面地反映待定点点位在各个方向上误差的分布情况。
为了确定任意两个待定点之间相对位置的某些精度,也需要作出两个待定点之间的相对误差椭圆。
无论是表示点位绝对位差的误差椭圆,还是表示两个待定点之间相对位置的某些精度的相对误差椭圆,在测量程序设计中所要面临的问题都是绘制椭圆,而这个椭圆一般情况下不是正立的。由于目前常用的几种编程语言(例如VB、VC)中没有现成的语句、命令、函数或方法来绘制倾斜任意角度的椭圆,因此,下面研究在计算机屏幕上绘制倾斜任意角度的椭圆的编程方法。
一、绘制误差椭圆的基本思路
以下讨论问题及编程中所使用的平面直角坐标系,设经过一段程序的控制,已将屏幕绘图区域的平面直角坐标系调整为测量平面直角坐标系(以下简称坐标系),即纵轴向上为X轴正向,横轴向右为Y轴正向。
绘制倾斜任意角度的误差椭圆时,已知数据如下: 椭圆的长半轴:E(也可用a表示) 椭圆的短半轴:F(也可用b表示)
椭圆中心点的在坐标系中的坐标:(X0,Y0)
椭圆长半轴在坐标系中的坐标方位角:T(T称为误差椭圆的主轴方向)
如图7-1所示,绘制倾斜任意角度的误差椭圆的基本思路是:首先,求出在坐标系中坐标方位角为T的椭圆长半轴与椭圆圆周的交点G的坐标;然后,再求出椭圆圆周上一系列点P(i)的坐标(设i0时,P(0)点与G点重合;in时,P(n)点与G点重合);最后,从G点开始用VB中画直线方法LINE(以下简称LINE)依次连接相邻点。
为了用LINE依次连接相邻点时所画出的直线趋近于椭圆曲线,需要使椭圆圆周上一系列点P(i)(将P(i)点称为误差椭圆圆周上细部点,简称P(i)点,下同)分布合理,即P(i)点与P(i1)点之间的直线距离应足够小。鉴于计算机屏幕的分辨率,可控制在0.2mm内。
关于G点坐标的计算,应以椭圆中心点坐标(X0,Y0)作为起始坐标、以椭圆的长半轴E为距离、以T为坐标方位角、按坐标正算的方法进行计算,即:
XGX0aCos(T)
(7-1) YYaSin(T)0G
155 椭圆长轴与椭圆圆周的另一个交点GA的坐标为:
sT)XGAX0aCo(
(7-2)
(T)YGAY0aSin椭圆短轴与椭圆圆周的两个交点H、HA的坐标分别为:
XXbCos(T)0H
2 (7-3) YYbSin(T)H023XXbCos(T)0HA2
(7-4) 3YYbSin(T)HA02根据上述坐标,用LINE可画出椭圆的长轴及短轴。 以下重点介绍计算P(i)点坐标的方法。
二、计算P(i)点坐标的方法
1、坐标转换公式
如图7-1所示,设P点在坐标系XOY中的坐标为XP、YP,在坐标系EOF中的坐标为EP、FP;O点在坐标系XOY中的坐标为XO、YO;E轴正向在坐标系XOY中的坐标方位角为T。则可以推证出如下坐标互换公式:
图7-1 倾斜任意角度的误差椭圆
XPXOEPCosTFPSinT
(7-5) YYESinTFCosTOPPPEP(YPYO)SinT(XPXO)CosT及:
(7-6)
F(YY)CosT(XX)SinTPOPOP
2、计算P(i)点坐标的参数方程法
如图7-2所示,该法的基本思路是:先用椭圆的参数方程求解正立竖放椭圆上P(i)点坐标EP(i)、FP(i);然后,使用坐标转换公式的(7-5)式计算P(i)点在坐标系XOY中的坐标XP(i)、YP(i)。
P(i)点在EOF坐标系中的坐标EP(i)、FP(i)可用参数方程表示为:
156 EP(i)aCos(t)
(7-7) FP(i)bSin(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(aCos(t))Cos(T)(bSin(t))Sin(T)
(7-8) YP(i)Y0(aCos(t))Sin(T)(bSin(t))Cos(T)如图7-2所示,编程中,可设ti(DT),其中DT是椭圆圆周上有序(即有一定规律)分布的一系列点中的任意相邻两点P(i)、P(i1)和椭圆中心相连的直线的夹角,t应从OG开始沿顺时针方向递增,即自E轴正向沿着顺时针方向至OP(i)的水平夹角;i是程序中的循环变量,i0,1,2,,n。
3、计算P(i)点坐标的直线点斜式方程法
如图7-2所示,该法的基本思路是:首先,求出
图7-2 正立竖放椭圆 椭圆圆周上一系列点P(i)到椭圆中心的距离D(i);然后,直接用坐标正算公式求解P(i)点在坐标系XOY中坐标XP(i)、YP(i)。
设正立竖放椭圆中心O点在EOF坐标系中的坐标为(0,则过该点及椭圆圆周上任0),一点P(i)的直线点斜式方程为:
FP(i)mEP(i)
(7-9) 其中:
mtg(iDT)
(7-10)
(7-10)式中的m为直线OP(i)的斜率, i、DT的意义与前面相同。
在EOF坐标系中的正立竖放椭圆的标准方程为:
(EP(i))2(FP(i))2
1(7-11)
22ab将(7-9)式代入到(7-11)式,并顾及(7-10)式,可解得:
a2b
2 (EP(i))2
(7-12) 22batg(iDT)2 157 则O点至P(i)点的距离为:
D(i)(EP(i))2(FP(i))2
a2b2a2b22m2
(7-13)
b2a2m2ba2m2从式(7-13)可以看出,D(i)的计算与坐标系无关,也可以说与椭圆倾斜角度无关。 在图7-1与图7-2中,不论椭圆是正立竖放,还是倾斜任意角度的,D(i)是不变的。因此,P(i)点在坐标系XOY中的坐标按坐标正算公式可得:
XP(i)XOD(i)Cos(TiDT)
(7-14)
YP(i)YOD(i)Sin(TiDT)
编程中,如图7-1所示,从G点开始依顺时针方向用LINE依次连接相邻点,最后,再回到G点,即可绘出所要求的误差椭圆。
4、计算P(i)点坐标的递推计算方法
该方法与计算P(i)点坐标的参数方程法基本相同,只是编程计算中采用了递推计算的方法计算Cos(t)和Sin(t)。详见后面的示例程序。
三、坐标轴的平移、旋转公式(即(7-5)式、(7-6)式的推导过程)
如图7-3所示,设P点在坐标系
,YP),O点XOY中的坐标为(XP在坐标系XOY中的坐标为(XO,YO);经
图7-3 坐标轴的平移、旋转
,YP)平移、旋转后,P点在坐标系XOY中的坐标为(XP,YP)。根据求(XP(XP,YP)的公式如下:
XPXOA1P
X0OPCos()
sCosOPSinSin
XOOPCoCosYPSin XOXPYPYOOA1
Y0OPSin()
YOOPSinCosOPCosSin
158 SinYPCos
YOXP,YP)(XO,YO)、(XP,YP)根据、,也可求得,有以下两种方法。 (XP、YP。 方法一:根据上面的两式联立方程组,可解得XP方法二:如图7-3所示,设POA11,则可得:
OPSin(1)
XP
OPSinCos1OPCosSin
1 (YPYO)Sin(XPXO)Cos
OPCos(1)
YP
OPCosCos1OPSinSin1
(YPYO)Cos(XPXO)Sin
四、正立横放椭圆的参数方程与标准方程
绘制倾斜任意角度的误差椭圆时,也可根据正立横放椭圆推导出另一套公式进行编程。
如图7-4所示,正立横放椭圆的参数方程为:
图7-4 正立横放椭圆
XPXBbCos YYaSinAP 在坐标系XOY中,椭圆中心位于坐标原点的正立横放椭圆的标准方程为:
Y2X21 a2b
2五、绘制误差椭圆程序示例(输出图形见图7-5)
Private Sub GPHPIC22_Click() Rem ***** 绘制误差椭圆菜单子过程 ***** Dim X As Double Dim Y As Double Dim A As Double
159 Dim B As Double Dim T As String Cls
Form2.DrawStyle = 0: \' ***** 设定绘制单实线
Form2.DrawWidth = 1: \' ***** 设定绘制单实线的线宽
Form2.Line (1, 7)-(199, 143), RGB(255, 0, 0), B: \'***** 绘制一个红色矩形作为绘图区域。
X = 80: \'***** 椭圆中心测量纵坐标 ***** Y = 100: \'***** 椭圆中心测量横坐标 ***** A = 25.4: \'***** 椭圆长半轴 ***** B = 9.5: \'***** 椭圆短半轴 ***** T = \"138 54 12\": \'***** 椭圆长半轴坐标方位角 **** Call GPHP15(X, Y, A, B, T) End Sub
Private Sub GPHP15(ByVal XC As Double, ByVal YC As Double, ByVal A As Double, ByVal B As Double, ByVal T As String) Rem ***** 绘制误差椭圆子过程 ***** Dim II As Integer Dim N As Integer Dim I As Integer Dim DT As Double Dim TT As Double: \'***** 椭圆长半轴坐标方位角 ****
N = 200
ReDim X(N + 1) As Double ReDim Y(N + 1) As Double
TT = RAD(T): \'***** 程序中T应为度、分、秒(字符串) DT = 2 * PI() / N
II = 3: \'***** 选择绘制椭圆的方法
Select Case II Case 1: \'***** 用椭圆参数方程及将坐标进行平移、旋转变换的方法
Form2.PSet (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 0)
For I = 1 To N
X(I) = XC + A * Cos(I * DT) * Cos(TT)ST * SS: \'***** 递推求算Cos(i*DT)
ST = ST * CC + CT * SS: \'***** 递推求算Sin(i*DT)
CT = DCT
XP = XC + A * CT * Cos(TT) - B * ST * Sin(TT)
YP = YC + A * CT * Sin(TT) + B * ST * Cos(TT)
Form2.Line -(YP, XP), RGB(0, 0, 0)
Next I
Case 3: \'***** 用点斜式直线方程与竖放椭圆的标准方程联立方程组
Rem ***** 解算椭圆中心O(0,0)至椭圆圆周交点距离的方法
Dim AT As Double
Dim BT As Double
Dim XI As Double
Dim YI As Double
Dim M As Double
Dim DI As Double
Dim XPI As Double
Dim YPI As Double
Form2.PSet (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 0)
161
AT = A ^ 2
BT = B ^ 2
For I = 1 To N
M = Tan(I * DT): \'***** 直线的斜率
M = M ^ 2
XI = AT * BT / (BT + AT * M): \'***** 正立竖放椭圆圆周i点纵坐标的平方,X(i)^2
YI = XI * M: \'***** 正立竖放椭圆圆周i点横坐标的平方,Y(i)^2
DI = Sqr(XI + YI): \'***** 椭圆中心至椭圆圆周i点的距离D(i)
XPI = XC + DI * Cos(TT + I * DT): \'***** 斜立椭圆圆周i点的纵坐标XP(i)
YPI = YC + DI * Sin(TT + I * DT): \'***** 斜立椭圆圆周i点的横坐标YP(i)
Form2.Line -(YPI, XPI), RGB(0, 0, 0)
Next I End Select
Rem ***** 绘制椭圆的长、短轴,用坐标正算的方法 *****
Dim X1 As Double
Dim Y1 As Double
Dim X2 As Double
Dim Y2 As Double
X1 = XC + A * Cos(TT)
Y1 = YC + A * Sin(TT)
X2 = XC + A * Cos(TT + PI())
图7-5 误差椭圆
Y2 = YC + A * Sin(TT + PI())
Line (Y1, X1)-(Y2, X2), RGB(255, 0, 0)
X1 = XC + B * Cos(TT + PI() / 2)
Y1 = YC + B * Sin(TT + PI() / 2)
X2 = XC + B * Cos(TT + 3 * PI() / 2)
Y2 = YC + B * Sin(TT + 3 * PI() / 2)
Line (Y1, X1)-(Y2, X2), RGB(255, 0, 0)
Rem ***** 以下绘制测量坐标系及方框 ***** Rem ***** 略 ***** End Sub
162 §7-2 绘制误差曲线的程序设计方法
一、误差曲线简介
误差曲线的方程为:
2ma2Cos2b2Sin2
式中:
a —— 误差曲线所对应的误差椭圆的长半轴 b —— 误差曲线所对应的误差椭圆的短半轴
—— 以a为起始方向、以误差曲线中心为起始点、沿顺时针方向对应误差曲线上某点的方向角
m—— 对应任意方向角的误差曲线上某点的位差
以不同的和m为极坐标的点的轨迹为一条闭合的曲线。显然,从曲线中心O至曲线上任意点P(对应误差曲线上某点的方向角为)的向径OP就是该方向的位差m。这个曲线可以把各方向的位差清楚地图解出来。
在工程测量中,误差曲线的用途是广泛的。根据这个图可以确定坐标平差值在各个方向上的位差。参见文献[34] P461-462)
二、误差曲线的程序设计方法
由于编程语言中没有现成的语句、命令、函数或方法来绘制倾斜任意角度的误差曲线,因此,下面研究在计算机屏幕上绘制倾斜任意角度的误差曲线的编程方法。
绘制倾斜任意角度的误差曲线时,已知数据如下: 对应误差曲线的误差椭圆的长半轴:A(或a) 对应误差曲线的误差椭圆的短半轴:B(或b) 对应误差曲线的误差椭圆中心点的测量坐标系坐标:(XO,YO) 对应误差曲线的误差椭圆长半轴在测量坐标系中的坐标方位角:T 下面讨论问题及编程中所使用的平面坐标系均为测量平面直角坐标系,即纵轴向上为X轴正向,横轴向右为Y轴正向。
绘制倾斜任意角度的误差曲线的基本思路是:首先,求出在测量坐标系中坐标方位角为T的椭圆长半轴与椭圆圆周的交点G(该点也是椭圆长半轴与误差曲线的交点)的坐标;然后,再求出误差曲线上一系列点P(i)的坐标;最后,从G点开始用画直线方法LINE依次连接相邻点。
为了用画直线方法LINE依次连接相邻点时所画出的直线趋近于误差曲线,需要将误差曲线上一系列点P(i)分布的合理,即P(i)与P(i1)的距离应足够小,且任意相邻两点P(i)与P(i1)和误差曲线中心(也是误差椭圆中心)相连的直线的夹角均相等——这是为了使编程计算有规律性。
实际编程中,如图7-6所示,在测量坐标系中坐标方位角为T的椭圆长半轴与椭圆圆周的交点G的坐标,应以椭圆中心点坐标(Xo,Yo)作为起始坐标、以椭圆的长半轴A为距离、以T为坐标方位角、按坐标正算的方法计算G点的坐标:
163 XGX0ACos(T) YGY0ASin(T)椭圆长轴与椭圆圆周的另一个交点GA的坐标为:
sT)XGAX0ACo(
YYASin(T)0GA椭圆短轴与椭圆圆周的两个交点F、FA的坐标分别为:
XXBCos(T)0F2 YYBSin(T)F023XXBCos(T)FA02 YYBSin(T3)FA02根据上述坐标,用画直线方法LINE可
图7-6 倾斜任意角度的误差曲线
画出椭圆的长轴及短轴,这也是误差曲线的 长轴及短轴。
计算倾斜任意角度T的误差曲线上任意点P(i)坐标的方法,可采用与绘制误差椭圆相同的方法,如图7-6所示。
首先,求出在测量坐标系中坐标方位角为T的椭圆长半轴与椭圆圆周的交点G的坐标。
然后,再求出误差曲线上一系列点P(i)到误差曲线中心的距离。不论误差曲线是正立竖放,还是倾斜任意角度的,这个距离值是确定不变的,因此,可按正立竖放的误差曲线求算该距离值,如图7-7所示,对于误差曲线上的任意一点P(i),有t。
D(i)ma2Cos2b2Sin2
实际编程中,可取iDT。
图7-7 竖立正放的误差曲线 按坐标正算可得误差曲线上任意点P(i)的坐标:
XP(i)XOD(i)Cos(TiDT)
YP(i)YOD(i)Sin(TiDT) 164 最后,在图7-6中从G点开始用画直线方法LINE依次连接相邻点,即可绘出误差曲线。
三、误差曲线编程示例(含屏幕显示及打印机打印误差曲线两部分)(见图7-8)
Private Sub GPHPIC23_Click() Rem ***** 绘制误差曲线一级菜单子过程 ***** End Sub
Private Sub GPHPIC24_Click() Rem ***** 显示误差曲线菜单子过程 ***** Dim X As Double Dim Y As Double Dim A As Double Dim B As Double Dim T As String Cls Form2.DrawStyle = 0: \' ***** 设定绘制单实线
Form2.DrawWidth = 1: \' ***** 设定绘制单实线的线宽
Form2.Line (1, 7)-(199, 143), RGB(255, 0, 0), B: \'绘制一个红色矩形作为绘图区域。 X = 80: \'***** 曲线中心测量纵坐标 ***** Y = 100: \'***** 曲线中心测量横坐标 ***** A = 25.4: \'***** 对应误差曲线的误差椭圆的长半轴 ***** B = 9.5: \'***** 对应误差曲线的误差椭圆的短半轴 ***** T = \"138 54 12\": \'***** 对应误差曲线的误差椭圆的长半轴坐标方位角 **** Call GPHP16(X, Y, A, B, T, 1) End Sub
Private Sub GPHPIC25_Click() Rem ***** 打印机打印误差曲线菜单子过程 Dim X As Double Dim Y As Double Dim A As Double Dim B As Double Dim T As String Cls Form2.DrawStyle = 0: \' ***** 设定绘制单实线
Form2.DrawWidth = 1: \' ***** 设定绘制单实线的线宽
Form2.Line (1, 7)-(199, 143), RGB(255, 0, 0), B: \'绘制一个红色矩形作为绘图区域。
X = 80: \'***** 曲线中心测量纵坐标 ***** Y = 100: \'***** 曲线中心测量横坐标 ***** A = 25.4: \'***** 对应误差曲线的误差椭圆的长半轴 ***** B = 9.5: \'***** 对应误差曲线的误差椭圆的短半轴 ***** T = \"138 54 12\": \'***** 对应误差曲线的误差椭圆的长半轴坐标方位角 **** Call GPHP16(X, Y, A, B, T, 2) 165 End Sub
Private Sub GPHP16(ByVal XC As Double, ByVal YC As Double, ByVal A As Double, ByVal B As Double, ByVal T As String, ByVal PP As Integer) Rem ***** 屏幕显示及打印机打印误差曲线子过程 ***** Rem ***** 当PP=1时,屏幕显示误差曲线 ***** Rem ***** 当PP=2时,打印机打印误差曲线 ***** Dim N As Integer Dim I As Integer Dim DT As Double Dim TT As Double: \'***** 对应误差曲线的误差椭圆的长半轴坐标方位角 ****
N = 400 TT = RAD(T): \'***** 程序中T应为度、分、秒(字符串) DT = 2 * PI() / N
Rem ***** 用点斜式直线方程与竖放椭圆(或竖放误差曲线)的标准方程联立方程组 Rem ***** 解算椭圆中心O(0,0)至椭圆圆周(或竖放误差曲线)交点距离的方法 Rem ***** 误差曲线的方程为:m^2=a^2*(Cos(t))^2+b^2*(Sin(t))^2 Dim AT As Double Dim BT As Double Dim XI As Double Dim YI As Double Dim M As Double Dim DI As Double Dim XPI As Double Dim YPI As Double
AT = A ^ 2 BT = B ^ 2
If PP = 1 Then Form2.PSet (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 0) ElseIf PP = 2 Then Dim XXX As Printer For Each XXX In Printers If XXX.Orientation = vbPRORPortrait Then Set Printer = XXX: \'* 设置为系统默认打印机,参见《VB6.0中文版参考详解》P502 Exit For End If Next
Printer.ScaleMode = 0: \'***** 通常先设为零
Printer.ScaleMode = 6: \'***** 设置打印机坐标系的单位是毫米
166
Dim ASPP As Single
ASPP = Printer.ScaleHeight / Printer.ScaleWidth: \'*** 设置打印机新的绘图区坐标系纵横比
Rem ***** 当设置打印机坐标系的单位是毫米时,ASPP值约为0.72 Printer.ScaleWidth = 200: \'*** 设置打印机新的绘图区坐标系宽为200 Printer.ScaleHeight = -Int(Printer.ScaleWidth * ASPP): \'*** 设置打印机新的绘图区坐标系高
Printer.ScaleLeft = -0: \'*** 设置打印机新的绘图区坐标系坐标原点横坐标值
Printer.ScaleTop = -Printer.ScaleHeight: \'-ScaleHeight: \'*** 设置打印机新的绘图区坐标系坐标原点纵坐标值
Rem ***** 通过以上的设定,将打印机绘图区坐标系设为与数学坐标系相同 Printer.DrawStyle = 0: \' ***** 设定打印机打印单实线
Printer.DrawWidth = 1: \' ***** 设定打印机打印单实线的线宽
Printer.PSet (YC + A * Sin(TT), XC + A * Cos(TT)): \'*** 打印机打印 End If
For I = 1 To N M = Tan(I * DT): \'***** 直线的斜率 M = M ^ 2 XI = AT * BT / (BT + AT * M): \'***** 正立竖放椭圆圆周i点纵坐标的平方,X(i)^2 YI = XI * M: \'***** 正立竖放椭圆圆周i点横坐标的平方,Y(i)^2 DI = Sqr(XI + YI): \'***** 椭圆中心至椭圆圆周i点的距离D(i) XPI = XC + DI * Cos(TT + I * DT): \'***** 斜立椭圆圆周i点的纵坐标XP(i) YPI = YC + DI * Sin(TT + I * DT): \'***** 斜立椭圆圆周i点的横坐标YP(i) If PP = 1 Then Form2.Line -(YPI, XPI), RGB(0, 0, 0): \'***** 绘制斜立误差椭圆 ElseIf PP = 2 Then Printer.Line -(YPI, XPI): \'***** 打印机打印斜立误差椭圆 End If Next I
If PP = 1 Then Form2.PSet (YC + A * Sin(TT), XC + A * Cos(TT)), RGB(0, 0, 255) ElseIf PP = 2 Then Printer.PSet (YC + A * Sin(TT), XC + A * Cos(TT)): \'*** 打印机打印 End If
For I = 1 To N DI = Sqr(AT * (Cos(I * DT)) ^ 2 + BT * (Sin(I * DT)) ^ 2): \'***** 误差曲线中心至曲线上i点的距离D(i) XPI = XC + DI * Cos(TT + I * DT): \'***** 斜立误差曲线上i点的纵坐标XP(i) 167 YPI = YC + DI * Sin(TT + I * DT): \'***** 斜立误差曲线上i点的横坐标YP(i) If PP = 1 Then Form2.Line -(YPI, XPI), RGB(0, 0, 255): \'***** 绘制斜立误差曲线 ElseIf PP = 2 Then Printer.Line -(YPI, XPI): \'***** 打印机打印斜立误差曲线 End If Next I
Rem ***** 绘制椭圆的长、短轴,用坐标正算的方法 ***** Dim X1 As Double Dim Y1 As Double Dim X2 As Double Dim Y2 As Double
X1 = XC + A * Cos(TT) Y1 = YC + A * Sin(TT) X2 = XC + A * Cos(TT + PI()) Y2 = YC + A * Sin(TT + PI()) If PP = 1 Then Line (Y1, X1)-(Y2, X2), RGB(255, 0, 0) ElseIf PP = 2 Then Printer.Line (Y1, X1)-(Y2, X2): \'*** 打印机打印 End If
X1 = XC + B * Cos(TT + PI() / 2) Y1 = YC + B * Sin(TT + PI() / 2) X2 = XC + B * Cos(TT + 3 * PI() / 2) Y2 = YC + B * Sin(TT + 3 * PI() / 2) If PP = 1 Then Line (Y1, X1)-(Y2, X2), RGB(255, 0, 0) ElseIf PP = 2 Then Printer.Line (Y1, X1)-(Y2, X2): \'*** 打印机打印
Printer.EndDoc: \'***** 该方法(EndDoc)意思为“开始打印” End If Rem ***** 以下绘制测量坐标系及方框 ***** Rem ***** 略 ***** End Sub
图7-8 误差椭圆与误差曲线
168