VB的绘图功能及误差椭圆的绘制_第1页
VB的绘图功能及误差椭圆的绘制_第2页
VB的绘图功能及误差椭圆的绘制_第3页
VB的绘图功能及误差椭圆的绘制_第4页
VB的绘图功能及误差椭圆的绘制_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章VB的绘图功能及误差椭圆的绘制第七章VB的绘图功能及误差椭圆的绘制《平差程序设计》讲义021《平差程序设计》教案上课地点:系机房021《平差程序设计》教案上课地点:系机房VB的绘图功能及误差椭圆的绘制课堂安排:VB—绘图对象VBForm图片框PictureBox。二绘图单位窗体和图片框的ScaleMode属性打算了在其上绘图时使用的坐标系统和单位。这个属性的取值与所代表的坐标系统如下表所示。属性值 常量 坐标系统vbUser 自定义坐标系统vbTwips 坐标单位为缇〔默认〕2vbPoints坐标单位为磅3vbPixels坐标单位为像素4vbCharacters字符坐标系统5vbInches坐标单位为英寸6vbMillimerters坐标单位为毫米7vbCentimeters坐标单位为厘米三坐标系统绘图区域大小属性ScaleLeft:设定对象绘图区左上角X坐标。ScaleTop:设定对象绘图区左上角YScaleHeight:设定对象绘图区高度。ScaleWidth:设定对象绘图区宽度。Scale使用此方法可以设置一个自定义坐标系统:对象.Scale(X1,Y1)–(X2,Y2)四常用属性坐标点属性CurrentX:目前绘图点的x坐标CurrentY:目前绘图点的Y坐标BackColor属性3ForeColor属性DrawWidthDrawStyle属性FillColorFillStyle属性FillColor属性设置由Circle和Line闭图形的内部填充颜色。FillStyle属性设置绘图方法产生的封闭图形的内部填充样式,0~7,AutoRedraw属性五绘图常用方法Pset方法Pset方法用于在窗体或图片框的指定位置上使用指定颜色画一个点。其语法为:对象.Pset [Step](x,y),[color]Line方法Line方法可以在窗体或图片框上绘制一条直线段或一个矩形。其语法为:对象.Line[[step](X1,Y1)]–[step](X2,Y2),[color],[B[F]]CircleCircle方法可以在窗体或图片框上绘制圆形椭圆或弧语法为:对象.Circle [step](X, Y ), radius, [color],[start],[end],[aspect]六绘图时常用大事1 paint大事当窗体或图片框的全部或局部被其它窗体遮盖又显示出来后或被缩放时,VB向窗体或图片框发送Paint制。此时AutoRedraw属性值必需为False。掌握网网图和误差椭圆的绘制—绘图坐标系确实定屏幕坐标系的坐标原点是设在屏幕的左上角,x轴向右为正,y轴向下为正,也就是说,屏幕坐标没有负值,其坐标也不行以超过规定的数值。常用的测量坐标系为高斯平面直角坐标系或独立坐标系,(0,0)x轴(0,0)x轴y轴XOY屏幕坐标系 测量坐标系尺和把测量坐标系(XOY)转换成屏幕坐标系〔xoy〕就可以。坐标变换分为坐标旋转、绘图范围确定和确定坐标系三步。坐标旋转坐标旋转的目的是实现屏幕坐标系和测量坐标系的相应轴系平行且方向全都,即旋转后测量坐标系的X轴为水平方向且向右为正,Y轴为竖直方向且向下为正。实现方法为:Fori=1ToKnowpointnum+unKnowpointnumtemp=net(i,2) net(i,2为掌握点Xnet(I,3点Y坐标net(i,2)=net(i,3)net(i,3)=(-1)*tempNext马上测量坐标系的XYXOXYOXYXO Y确定掌握网网图的显示范围计算掌握点纵横坐标的最大值和最小值,如计算结果分别MaxX、MinX、MaxY、MinY。则可以计算纵横坐标的跨度为dx、dy。dx=MaxX-MinXdy=MaxY-MinY最终以dxdy中确定值较大者为掌握网网图的显示范围,Limit。确定坐标系可以通过设置ScaleLeftScaleTopScaleHeightScaleWidth属性值来确定坐标系〔即绘图范围。经过上述步骤的计算,可以这样确定绘图坐标系:ScaleTop=MinYScaleHeight=LimitScaleLeft=MinXScaleWidth=Limit二掌握网网图的绘制可以利用绘圆的方法在转换后的掌握点坐标位置上绘制一小圆来表示掌握点,如下面语句所示,将绘制红色小圆表示掌握点,同时在掌握点边上标注掌握点的点名。Circle(net(i,2),net(i,3)),50,vbRedCurrentX=net(i,2)CurrentY=net(i,3)Printnet(i,1) ‘net(i,1)存储掌握点的点名然后利用绘直线方法绘制完整的掌握网网图。三误差椭圆的绘制误差椭圆参数的计算点位误差椭圆由点位误差椭圆参数E、F和φ打算。所以绘制点位误差椭圆必需首先计算每点的误差椭圆参数。计算公式如下:假设某平面掌握网中待定点P的协因数阵Q,则t1 ttQ Q Q)2QXX YY XYQ 1(Q Q K)EE 2 XX YYQ 1(Q Q K)FF 2 XX YY误差椭圆参数为:0E0F0

QQEEQFFQ Q QFFFFXX tan FFXX Q Q QXY FF YY这里计算出的误差椭圆参数是相对于测量坐标系的参数,而转换。参数中长轴和短轴是一确定值,无论坐标系作何种变化,其φX轴为起始方向,顺时针旋转到长轴所形成的角度的大小。所以x时针旋转到长轴方向所形成的角度。角度转换关系为:T=φ+2700XφOXφOYTOXY误差椭圆的绘制比例尺误差椭圆参数相对于掌握点坐标而言,数值一般相差几个数比例尺,如Ell_Scale=40000,同时用户可以依据需要自行设定显示比例尺。误差椭圆的绘制每一掌握点的点位误差椭圆的绘制方法一样,仅是误差椭圆参数的不同,所以可以将误差椭圆的绘制过程编写成一通用过代码的编写量,同时可提高程序的可读性和可编辑性。对于每一待定点而言,其绘制误差椭圆的过程如下:计算屏幕坐标系下的误差椭圆长轴方向T。计算长轴和短轴的起始点坐标,绘制长轴和短轴计算公式为:Ellipse_A=ell_E(i1)*Ell_Scale1 ’按比例缩放后的长轴长度Ellipse_B=ell_F(i1)*Ell_Scale1 ’按比例缩放后的短轴长度dX=net(i1+Knowpointnum,2) ’待定点的坐标XdY=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+d〔-P+dX,-Q+d〕〔S+dX,R+d,(-S+dX,-R+dY)3〕设椭圆长轴方向为x’y’轴,则椭圆方程式为:x”acosy”bsin

〔7-2-2〕a为长轴,b为短轴,φ为与长轴的夹角。为了把椭圆的长轴放置在应有的方向上,还需把椭圆坐标〔’〕转换为屏幕坐标〔x,yT,则有xx”cosTy”sinTyx”sinTy”cosT 〔7-2-3〕将式〔7-2-2〕代入上式得:xacosTcosbsinTsinyasinTcosbcosTsin (7-2-4)结合式7-2-(7-2-4式可以改写为:xPcosSsinyQcosRsin 〔7-2-5〕〔7-2-5〕φΔΦ〔50〕计算在椭圆上一点的坐标x1(i),y1(i,然后将各坐标点用直线连接,即成一个椭圆〔近似的。实现语句为:Fork=0To72X1(k)=P*Cos(5*PI/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论