好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VB的绘图功能及误差椭圆的绘制.docx

8页
  • 卖家[上传人]:m****
  • 文档编号:402098229
  • 上传时间:2024-01-08
  • 文档格式:DOCX
  • 文档大小:43.89KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 班级:测 021《平差程序设计》教案上课地点:系机房第八章 VB 的绘图功能及误差椭圆的绘制本章内容:本章难点:上课学时:课堂安排:7.1 VB 的绘图功能简介— 绘图对象VB 中具有绘图方法又能处理图形文件的图形对象有窗体Form 和图片框PictureBox二 绘图单位窗体和图片框的 ScaleMode 属性打算了在其上绘图时使用的坐标系统和单位这个属性的取值与所代表的坐标系统如下表所示属性值 常量 坐标系统0 vbUser 自定义坐标系统1 vbTwips 坐标单位为缇〔默认〕2vbPoints坐标单位为磅3vbPixels坐标单位为像素4vbCharacters字符坐标系统5vbInches坐标单位为英寸6vbMillimerters坐标单位为毫米7vbCentimeters坐标单位为厘米三 坐标系统1 绘图区域大小属性 ScaleLeft:设定对象绘图区左上角X 坐标ScaleTop:设定对象绘图区左上角Y 坐标ScaleHeight:设定对象绘图区高度ScaleWidth:设定对象绘图区宽度2 Scale 方法使用此方法可以设置一个自定义坐标系统: 对象.Scale (X1, Y1) – (X2, Y2)四 常用属性1 坐标点属性CurrentX:目前绘图点的x 坐标CurrentY:目前绘图点的Y 坐标2 BackColor 属性3 ForeColor 属性4 DrawWidth 和 DrawStyle 属性5 FillColor 和 FillStyle 属性FillColor 属性设置由Circle 和Line 方法生成的圆、矩形等封闭图形的内部填充颜色。

      FillStyle 属性设置绘图方法产生的封闭图形的内部填充样式, 此属性的取值为 0~7,6 AutoRedraw 属性五 绘图常用方法1 Pset 方法Pset 方法用于在窗体或图片框的指定位置上使用指定颜色画一个点其语法为:对象.Pset [Step](x, y), [color]2 Line 方法Line 方法可以在窗体或图片框上绘制一条直线段或一个矩形其语法为:对象.Line [[step](X1, Y1)] –[step](X2, Y2), [color], [B[F]]3 Circle 方法Circle 方法可以在窗体或图片框上绘制圆形、椭圆或弧语法为: 对 象 .Circle [step](X, Y ), radius, [color],[start],[end],[aspect]六 绘图时常用大事1 paint 大事当窗体或图片框的全部或局部被其它窗体遮盖又显示出来后或被缩放时,VB 向窗体或图片框发送Paint 大事,允许程序进展重绘制此时AutoRedraw 属性值必需为False7.2 掌握网网图和误差椭圆的绘制— 绘图坐标系确实定屏幕坐标系的坐标原点是设在屏幕的左上角,x 轴向右为正,y 轴向下为正,也就是说,屏幕坐标没有负值,其坐标也不行以超过规定的数值。

      常用的测量坐标系为高斯平面直角坐标系或独立坐标系,(0,0)x轴y轴XOY屏幕坐标系 测量坐标系掌握网网图的绘制是依据各点坐标进展,所以只需确定绘图比例尺和把测量坐标系(XOY)转换成屏幕坐标系〔xoy〕就可以坐标变换分为坐标旋转、绘图范围确定和确定坐标系三步1 坐标旋转坐标旋转的目的是实现屏幕坐标系和测量坐标系的相应轴系平 行且方向全都,即旋转后测量坐标系的X 轴为水平方向且向右为正, Y 轴为竖直方向且向下为正实现方法为:For i = 1 To Knowpointnum + unKnowpointnumtemp = net(i, 2) ‘net(i,2)为掌握点 X 坐标,net(I,3)为掌握点Y 坐标net(i, 2) = net(i, 3)net(i, 3) = (-1) * temp Next马上测量坐标系的XY 值互换,同时对 X 坐标取反坐标原点保OXY持不变如以下图所示XO Y2 确定掌握网网图的显示范围计算掌握点纵横坐标的最大值和最小值,如计算结果分别MaxX、MinX、MaxY、MinY则可以计算纵横坐标的跨度为dx、dydx=MaxX- MinXdy= MaxY- MinY最终以dx 和 dy 中确定值较大者为掌握网网图的显示范围, 设为 Limit。

      3 确定坐标系可以通过设置ScaleLeft、ScaleTop、ScaleHeight、ScaleWidth 属性值来确定坐标系〔即绘图范围〕经过上述步骤的计算,可以这样确定绘图坐标系:ScaleTop = MinY ScaleHeight = Limit ScaleLeft = MinX ScaleWidth = Limit二 掌握网网图的绘制可以利用绘圆的方法在转换后的掌握点坐标位置上绘制一小圆 来表示掌握点,如下面语句所示,将绘制红色小圆表示掌握点,同时在掌握点边上标注掌握点的点名Circle (net(i, 2), net(i, 3)), 50, vbRed CurrentX = net(i, 2)CurrentY = net(i, 3)Print net(i, 1) ‘net(i, 1)存储掌握点的点名然后利用绘直线方法绘制完整的掌握网网图三 误差椭圆的绘制1 误差椭圆参数的计算点位误差椭圆由点位误差椭圆参数E、F 和φ打算所以绘制点位误差椭圆必需首先计算每点的误差椭圆参数计算公式如下:假设某平面掌握网中待定点 P 的协因数阵Q ,则t´1 t´t(Q - Q )2 + 4QK =XX YY XYQ = 1 (Q + Q + K )EE 2 XX YYQ = 1 (Q + Q - K )FF 2 XX YY误差椭圆参数为:0E = sF = s0QEEQFFQ - Q QFFXX XYtanf = =Q Q - QXY FF YY这里计算出的误差椭圆参数是相对于测量坐标系的参数,而绘制误差椭圆是在屏幕坐标系下绘制,所以必需将参数作相应的转换。

      参数中长轴和短轴是一确定值,无论坐标系作何种变化,其值保持不变参数中长轴方向φ 是一相对值,它以测量坐标系的X 轴为起始方向,顺时针旋转到长轴所形成的角度的大小所以要将其作相应转换,使之照旧为从屏幕坐标系下的 x 轴正方向顺时针旋转到长轴方向所形成的角度角度转换关系为:T=φ +2700XφOYTOXY2 误差椭圆的绘制比例尺误差椭圆参数相对于掌握点坐标而言,数值一般相差几个数量级所以绘制误差椭圆时应承受不同的比例尺一般应将误差椭圆的绘制比例尺放大固然,比较好的方法是供给一个默认的比例尺,如Ell_Scale = 40000,同时用户可以依据需要自行设定显示比例尺3 误差椭圆的绘制每一掌握点的点位误差椭圆的绘制方法一样,仅是误差椭圆参数的不同,所以可以将误差椭圆的绘制过程编写成一通用过 程,每一点的误差椭圆的绘制都是调用这一过程这将大大削减代码的编写量,同时可提高程序的可读性和可编辑性对于每一待定点而言,其绘制误差椭圆的过程如下:1) 计算屏幕坐标系下的误差椭圆长轴方向T2) 计算长轴和短轴的起始点坐标,绘制长轴和短轴计算公式为:Ellipse_A = ell_E(i1) * Ell_Scale1 ’按比例缩放后的长轴长度Ellipse_B = ell_F(i1) * Ell_Scale1 ’按比例缩放后的短轴长度dX = net(i1 + Knowpointnum, 2) ’待定点的坐标X dY = net(i1 + Knowpointnum, 3) ’待定点的坐标YP =(Ellipse_A)*sin(T-2700) =(Ellipse_A) * Cos(T)〔7-2-1〕Q =(Ellipse_A)*cos(T-2700)= (Ellipse_A) * Sin(T) S =- (Ellipse_B) * Sin(T)R = (Ellipse_B) * Cos(T)长轴端点坐标:〔P + dX, Q + dY〕,〔-P + dX, -Q + dY〕短轴端点坐标:〔S + dX, R + dY〕,(-S + dX, -R + dY) 3〕 绘制误差椭圆设椭圆长轴方向为x’,垂直长轴方向为 y’轴,则椭圆方程式为:x” = a cosfüy” = b sinfý 〔7-2-2〕þ其中 a 为长轴,b 为短轴,φ 为与长轴的夹角。

      为了把椭圆的长轴放置在应有的方向上,还需把椭圆坐标〔x’,y’〕转换为屏幕坐标〔x,y〕设屏幕坐标下长轴方向角为 T,则有x = x” cosT - y” sin T üþy = x” sin T + y” cosT ý 〔7-2-3〕将式〔7-2-2〕代入上式得:x = a cosT cosf - b sin T sinf üþy = a sin T cosf + b cosT sinfý (7-2-4)结合式〔7-2-1〕,(7-2-4)式可以改写为:x = P cosf + S sinf üþy = Q cosf + R sinfý 〔7-2-5〕利用公式〔7-2-5〕就可以绘出误差椭圆,其绘制方法可以为: φ 角自零度开头,顺时针每增加Δ Φ〔如为 50〕计算在椭圆上一点的坐标〔x1(i),y1(i)〕,然后将各坐标点用直线连接,即成一个椭圆〔近似的〕实现语句为:For k = 0 To 72X1(k) = P * Cos(5 * PI / 180 * k) +S * Sin(5 * PI / 180 *k) + dXk) + dYY1(k) = Q * Cos(5 * PI / 180 * k) +R * Sin(5 * PI / 180 *NextFor j = 0 To 71Line (X1(j), Y1(j))-(X1(j + 1), Y1(j + 1)), vbBlack Next j。

      点击阅读更多内容
      相关文档
      安徽省安全员《A证(企业负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》预测试卷三.docx 安徽省安全员《A证(企业负责人)》模拟试卷一.docx 2026年房地产经纪人《房地产交易制度政策》模拟试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷二.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷四.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷一.docx 2023年通信工程师《通信专业实务(传输与接入-无线)》试题真题及答案.docx 安徽省安全员《A证(企业负责人)》试题精选.docx 2026年房地产经纪人《房地产经纪专业基础》预测试卷二.docx 2026年房地产经纪人《房地产经纪业务操作》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷三.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪专业基础》考前点题卷二.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷五.docx 2026年房地产经纪人《房地产经纪职业导论》冲刺试卷四.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷一.docx 2026年房地产经纪人《房地产交易制度政策》冲刺试卷四.docx 安徽省安全员《B证(项目负责人)》冲刺试卷三.docx 2026年房地产经纪人《房地产经纪业务操作》模拟试卷二.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.