《2022年程序设计教案VB版第七章》由会员分享,可在线阅读,更多相关《2022年程序设计教案VB版第七章(14页珍藏版)》请在金锄头文库上搜索。
1、名师精编精品教案第七章绘制误差椭圆、误差曲线的程序设计方法7-1 绘制误差椭圆的程序设计方法测量平面控制网平差计算后进行精度评定时,点位中误差虽然可以用来评定待定点的点位精度, 但是它却不能代表该点在某一任意方向上的位差大小。在有些情况下, 往往需要确定点位在某些特殊方向上的位差大小;此外, 还要了解点位在哪一个方向上的位差最大,在哪一个方向上的位差最小。例如,在工程放样中,就经常需要研究这个问题。为了便于求定待定点点位在任意方向上位差的大小,一般是通过求出待定点的点位误差椭圆来实现的。通过误差椭圆可以求得待定点在任意方向上的位差,这样就可以较精确地、形象而全面地反映待定点点位在各个方向上误差
2、的分布情况。为了确定任意两个待定点之间相对位置的某些精度,也需要作出两个待定点之间的相对误差椭圆。无论是表示点位绝对位差的误差椭圆,还是表示两个待定点之间相对位置的某些精度的相对误差椭圆, 在测量程序设计中所要面临的问题都是绘制椭圆,而这个椭圆一般情况下不是正立的。由于目前常用的几种编程语言(例如VB 、VC )中没有现成的语句、命令、函数或方法来绘制倾斜任意角度的椭圆,因此, 下面研究在计算机屏幕上绘制倾斜任意角度的椭圆的编程方法。一、绘制误差椭圆的基本思路以下讨论问题及编程中所使用的平面直角坐标系,设经过一段程序的控制,已将屏幕绘图区域的平面直角坐标系调整为测量平面直角坐标系(以下简称坐标
3、系),即纵轴向上为X轴正向,横轴向右为Y 轴正向。绘制倾斜任意角度的误差椭圆时,已知数据如下:椭圆的长半轴:E(也可用a表示)椭圆的短半轴:F(也可用b表示)椭圆中心点的在坐标系中的坐标:(00,YX)椭圆长半轴在坐标系中的坐标方位角:T(T 称为误差椭圆的主轴方向)如图 7-1 所示,绘制倾斜任意角度的误差椭圆的基本思路是:首先,求出在坐标系中坐标方位角为T 的椭圆长半轴与椭圆圆周的交点G 的坐标;然后,再求出椭圆圆周上一系列点)(iP的坐标(设0i时,)0(P点与 G 点重合;ni时,)(nP点与 G 点重合);最后,从 G 点开始用VB 中画直线方法LINE (以下简称LINE )依次连
4、接相邻点。为了用 LINE 依次连接相邻点时所画出的直线趋近于椭圆曲线,需要使椭圆圆周上一系列点)(iP(将)(iP点称为误差椭圆圆周上细部点,简称)(iP点,下同) 分布合理,即)(iP点与)1(iP点之间的直线距离应足够小。鉴于计算机屏幕的分辨率,可控制在0.2内。关于 G 点坐标的计算,应以椭圆中心点坐标(00,YX)作为起始坐标、以椭圆的长半轴 E 为距离、以T 为坐标方位角、按坐标正算的方法进行计算,即:)()(00TSinaYYTCosaXXGG( 7-1)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 14 页名师精编精品
5、教案椭圆长轴与椭圆圆周的另一个交点GA 的坐标为:)()(00TSi naYYTCo saXXGAGA(7-2)椭圆短轴与椭圆圆周的两个交点H、HA 的坐标分别为:)2()2(00TSinbYYTCosbXXHH(7-3))23()23(00TSinbYYTCosbXXHAHA(7-4)根据上述坐标,用LINE 可画出椭圆的长轴及短轴。以下重点介绍计算)(iP点坐标的方法。二、计算)(iP点坐标的方法1、坐标转换公式如图 7-1 所示,设P点在坐标系XOY中的坐标为PX、PY,在坐标系FOE中的坐标为PE、PF;O点在坐标系XOY中的坐标为OX、OY;E轴正向在坐标系XOY中的坐标方位角为T。
6、则可以推证出如下坐标互换公式:图 7-1 倾斜任意角度的误差椭圆CosTFSinTEYYSinTFCosTEXXPPOPPPOP(7-5)及:SinTXXCosTYYFCosTXXSinTYYEOPOPPOPOPP)()()()((7-6)2、计算)(iP点坐标的参数方程法如图 7-2 所示,该法的基本思路是:先用椭圆的参数方程求解正立竖放椭圆上)(iP点坐标)(iEP、)(iFP;然后,使用坐标转换公式的(7-5)式计算)(iP点在坐标系XOY中的坐标)(iXP、)(iYP。)(iP点在FOE坐标系中的坐标)(iEP、)(iFP可用参数方程表示为:精选学习资料 - - - - - - - -
7、 - 名师归纳总结 - - - - - - -第 2 页,共 14 页名师精编精品教案)()()()(tSinbiFPtCosaiEP(7-7)参照图 7-1,用)(iP代替P、)(iEP代替PE、)(iFP代替PF、)(iXP代替PX、)(iYP代替PY,将( 7-7)式代入( 7-5)式中,可得任一点)(iP在XOY坐标系中的坐标为:)()()()()()()()()()(00TCostSinbTSintCosaYiYPTSintSinbTCostCosaXiXP(7-8)如图 7-2 所示,编程中,可设)(DTit,其中DT是椭圆圆周上有序(即有一定规律)分布的一系列点中的任意相邻两点)
8、(iP、)1(iP和椭圆中心相连的直线的夹角,t应从GO开始沿顺时针方向递增,即自E轴正向沿着顺时针方向至)(iPO的水平夹角;i是程序中的循环变量,ni,2, 1 ,0。3、计算)(iP点坐标的直线点斜式方程法如图 7-2 所示,该法的基本思路是:首先,求出图 7-2 正立竖放椭圆椭圆圆周上一系列点)(iP到椭圆中心的距离)(iD;然后,直接用坐标正算公式求解)(iP点在坐标系XOY中坐标)(iXP、)(iYP。设正立竖放椭圆中心O点在FOE坐标系中的坐标为)00( , 则过该点及椭圆圆周上任一点)(iP的直线点斜式方程为:)()(iEPmiFP(7-9)其中:)(DTitgm(7-10)(
9、7-10)式中的m为直线)(iPO的斜率,i、DT的意义与前面相同。在FOE坐标系中的正立竖放椭圆的标准方程为:1)()(2222biFPaiEP(7-11)将( 7-9)式代入到(7-11)式,并顾及(7-10)式,可解得:)()(222222DTitgabbaiEP(7-12)精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 14 页名师精编精品教案则O点至)(iP点的距离为:22)()()(iFPiEPiD22222222222mabbammabba(7-13)从式( 7-13)可以看出,)(iD的计算与坐标系无关,也可以说与椭圆倾
10、斜角度无关。在图 7-1 与图 7-2 中,不论椭圆是正立竖放,还是倾斜任意角度的,)(iD是不变的。因此,)(iP点在坐标系XOY中的坐标按坐标正算公式可得:)()()()()()(DTiTSiniDYiYPDTiTCosiDXiXPOO(7-14)编程中,如图7-1 所示,从 G 点开始依顺时针方向用LINE 依次连接相邻点,最后,再回到 G 点,即可绘出所要求的误差椭圆。4、计算)(iP点坐标的递推计算方法该方法与计算)(iP点坐标的参数方程法基本相同,只是编程计算中采用了递推计算的方法计算)(tCos和)(tSin。 详见后面的示例程序。三、 坐标轴的平移、旋转公式(即(7-5)式、
11、(7-6)式的推导过程)如图7-3 所示,设P 点在坐标系YOX中的坐标为(PX,PY) ,O点在坐标系XOY中的坐标为)(OOYX ,;经图 7-3 坐标轴的平移、旋转平移、旋转后,P点在坐标系XOY中的坐标为(PX,PY) 。根据),(PPYX求),(PPYX的公式如下:PAXXOP1)(0CosPOXSi nSi nPOC o sC o sPOXOSinYCosXXPPO1AOYYOP)(0SinPOYSinCosPOCosSinPOYO精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 14 页名师精编精品教案CosYSinXYPP
12、O根据),、(,、PPOOYXYX)(,也可求得),(PPYX,有以下两种方法。方法一:根据上面的两式联立方程组,可解得PPYX 、。方法二:如图7-3 所示,设11AOP,则可得:)(1SinPOXP11SinCosPOCosSinPOCosXXSinYYOPOP)()()(1CosPOYP11SinSinPOCosCosPOSinXXCosYYOPOP)()(四、正立横放椭圆的参数方程与标准方程绘制倾斜任意角度的误差椭圆时,也可根据正立横放椭圆推导出另一套公式进行编程。如图 7-4 所示,正立横放椭圆的参数方程为:图 7-4 正立横放椭圆SinaYYCosbXXAPBP在坐标系XOY中,椭
13、圆中心位于坐标原点的正立横放椭圆的标准方程为:12222bXaY五、绘制误差椭圆程序示例(输出图形见图 7-5)Private Sub GPHPIC22_Click() Rem * 绘制误差椭圆菜单子过程* Dim X As Double Dim Y As Double Dim A As Double 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 14 页名师精编精品教案Dim B As Double Dim T As String Cls Form2.DrawStyle = 0: * 设定绘制单实线Form2.DrawWidth =
14、 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 Dou
15、ble, 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
16、 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) - B * Sin(I * DT) * Sin(TT) Y(I) = YC + A * Cos(I * DT) * Sin(TT) + B * Sin(I * DT) * Cos(TT) Form2.Line -(Y(I), X(I), RGB(0, 0, 0) 精选学习资料 - - - - -
17、- - - - 名师归纳总结 - - - - - - -第 6 页,共 14 页名师精编精品教案Next I Case 2: * 用递推计算方法绘制误差椭圆,该方法与第一种方法的基本公式相同Dim C1 As Double Dim S1 As Double Dim CC As Double Dim SS As Double Dim CT As Double Dim ST As Double Dim DCT As Double Dim XP As Double Dim YP As Double C1 = Cos(TT) S1 = Sin(TT) CC = Cos(DT) SS = Sin(DT)
18、 CT = 1 ST = 0 Form2.PSet (YC + A * S1, XC + A * C1), RGB(0, 0, 0) For I = 1 To N DCT = CT * CC - 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) N
19、ext 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) 精选学习资料 - - - - - - - - - 名师归纳总结 -
20、 - - - - - -第 7 页,共 14 页名师精编精品教案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 +
21、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
22、() 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精选学习资料 - - - - - - - - - 名师归纳总结 - - - - -
23、- -第 8 页,共 14 页名师精编精品教案7-2 绘制误差曲线的程序设计方法一、误差曲线简介误差曲线的方程为:22222SinbCosam式中:a误差曲线所对应的误差椭圆的长半轴b误差曲线所对应的误差椭圆的短半轴以a为起始方向、 以误差曲线中心为起始点、沿顺时针方向对应误差曲线上某点的方向角m对应任意方向角的误差曲线上某点的位差以不同的和m为极坐标的点的轨迹为一条闭合的曲线。显然, 从曲线中心O 至曲线上任意点P(对应误差曲线上某点的方向角为)的向径OP就是该方向的位差m。这个曲线可以把各方向的位差清楚地图解出来。在工程测量中, 误差曲线的用途是广泛的。根据这个图可以确定坐标平差值在各个方
24、向上的位差。参见文献 34 P461-462)二、误差曲线的程序设计方法由于编程语言中没有现成的语句、命令、函数或方法来绘制倾斜任意角度的误差曲线,因此,下面研究在计算机屏幕上绘制倾斜任意角度的误差曲线的编程方法。绘制倾斜任意角度的误差曲线时,已知数据如下:对应误差曲线的误差椭圆的长半轴:A( 或 a) 对应误差曲线的误差椭圆的短半轴:B(或 b) 对应误差曲线的误差椭圆中心点的测量坐标系坐标:(XO,YO)对应误差曲线的误差椭圆长半轴在测量坐标系中的坐标方位角:T 下面讨论问题及编程中所使用的平面坐标系均为测量平面直角坐标系,即纵轴向上为X轴正向,横轴向右为Y 轴正向。绘制倾斜任意角度的误差
25、曲线的基本思路是:首先, 求出在测量坐标系中坐标方位角为T 的椭圆长半轴与椭圆圆周的交点G(该点也是椭圆长半轴与误差曲线的交点)的坐标;然后,再求出误差曲线上一系列点)(iP的坐标;最后,从G 点开始用画直线方法LINE 依次连接相邻点。为了用画直线方法LINE 依次连接相邻点时所画出的直线趋近于误差曲线,需要将误差曲线上一系列点)(iP分布的合理,即)(iP与)1(iP的距离应足够小, 且任意相邻两点)(iP与)1(iP和误差曲线中心(也是误差椭圆中心)相连的直线的夹角均相等这是为了使编程计算有规律性。实际编程中, 如图 7-6 所示,在测量坐标系中坐标方位角为T 的椭圆长半轴与椭圆圆周的交
26、点 G 的坐标,应以椭圆中心点坐标(Xo,Yo)作为起始坐标、以椭圆的长半轴A 为距离、以 T 为坐标方位角、按坐标正算的方法计算G 点的坐标:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 14 页名师精编精品教案)()(00TSinAYYTCosAXXGG椭圆长轴与椭圆圆周的另一个交点GA 的坐标为:)()(00TSi nAYYTC o sAXXGAGA椭圆短轴与椭圆圆周的两个交点F、 FA的坐标分别为:)2()2(00TSinBYYTCosBXXFF)23()23(00TSinBYYTCosBXXFAFA根据上述坐标,用画直线方法
27、LINE 可图 7-6 倾斜任意角度的误差曲线画出椭圆的长轴及短轴,这也是误差曲线的长轴及短轴。计算倾斜任意角度T的误差曲线上任意点)(iP坐标的方法,可采用与绘制误差椭圆相同的方法,如图 7-6 所示。首先,求出在测量坐标系中坐标方位角为T 的椭圆长半轴与椭圆圆周的交点G 的坐标。然后,再求出误差曲线上一系列点)(iP到误差曲线中心的距离。不论误差曲线是正立竖放,还是倾斜任意角度的,这个距离值是确定不变的,因此,可按正立竖放的误差曲线求算该距离值,如图7-7 所示,对于误差曲线上的任意一点)(iP,有t。2222)(SinbCosamiD实际编程中,可取DTi。图 7-7 竖立正放的误差曲线
28、按坐标正算可得误差曲线上任意点)(iP的坐标:)()()()()()(DTiTSiniDYiYPDTiTCosiDXiXPOO精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 14 页名师精编精品教案最后,在图 7-6 中从 G 点开始用画直线方法LINE 依次连接相邻点, 即可绘出误差曲线。三、误差曲线编程示例( 含屏幕显示及打印机打印误差曲线两部分) (见图 7-8 )Private Sub GPHPIC23_Click() Rem * 绘制误差曲线一级菜单子过程 * End Sub Private Sub GPHPIC24_Cli
29、ck() 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: * 对应误差曲
30、线的误差椭圆的长半轴 * 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
31、= 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) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -
32、-第 11 页,共 14 页名师精编精品教案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 T
33、T As Double: * 对应误差曲线的误差椭圆的长半轴坐标方位角 * N = 400 TT = RAD(T): * 程序中 T 应为度、分、秒(字符串)DT = 2 * PI() / N Rem * 用点斜式直线方程与竖放椭圆(或竖放误差曲线)的标准方程联立方程组Rem * 解算椭圆中心O(0,0) 至椭圆圆周(或竖放误差曲线)交点距离的方法Rem * 误差曲线的方程为:m2=a2*(Cos(t)2+b2*(Sin(t)2 Dim AT As Double Dim BT As Double Dim XI As Double Dim YI As Double Dim M As Double
34、 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 中文版参考详解P
35、502 Exit For End If Next Printer.ScaleMode = 0: * 通常先设为零 Printer.ScaleMode = 6: * 设置打印机坐标系的单位是毫米精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 14 页名师精编精品教案 Dim ASPP As Single ASPP = Printer.ScaleHeight / Printer.ScaleWidth: * 设置打印机新的绘图区坐标系纵横比 Rem * 当设置打印机坐标系的单位是毫米时,ASPP 值约为 0.72 Printer.Scale
36、Width = 200: * 设置打印机新的绘图区坐标系宽为200 Printer.ScaleHeight = -Int(Printer.ScaleWidth * ASPP): * 设置打印机新的绘图区坐标系高 Printer.ScaleLeft = -0: * 设置打印机新的绘图区坐标系坐标原点横坐标值 Printer.ScaleTop = -Printer.ScaleHeight: -ScaleHeight: * 设置打印机新的绘图区坐标系坐标原点纵坐标值 Rem * 通过以上的设定,将打印机绘图区坐标系设为与数学坐标系相同 Printer.DrawStyle = 0: * 设定打印机打印
37、单实线 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
38、 + 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)
39、, 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) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,
40、共 14 页名师精编精品教案 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 Do
41、uble 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 +
42、 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 误差椭圆与误差曲线精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 14 页