VB的繪圖功能及誤差橢圓的繪制_第1頁
VB的繪圖功能及誤差橢圓的繪制_第2頁
VB的繪圖功能及誤差橢圓的繪制_第3頁
VB的繪圖功能及誤差橢圓的繪制_第4頁
VB的繪圖功能及誤差橢圓的繪制_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章VB的繪圖功能及誤差橢圓的繪制第七章VB的繪圖功能及誤差橢圓的繪制《平差程序設(shè)計(jì)》講義021《平差程序設(shè)計(jì)》教案上課地點(diǎn):系機(jī)房021《平差程序設(shè)計(jì)》教案上課地點(diǎn):系機(jī)房VB的繪圖功能及誤差橢圓的繪制課堂安排:VB—繪圖對(duì)象VBForm圖片框PictureBox。二繪圖單位窗體和圖片框的ScaleMode屬性打算了在其上繪圖時(shí)使用的坐標(biāo)系統(tǒng)和單位。這個(gè)屬性的取值與所代表的坐標(biāo)系統(tǒng)如下表所示。屬性值 常量 坐標(biāo)系統(tǒng)vbUser 自定義坐標(biāo)系統(tǒng)vbTwips 坐標(biāo)單位為緹〔默認(rèn)〕2vbPoints坐標(biāo)單位為磅3vbPixels坐標(biāo)單位為像素4vbCharacters字符坐標(biāo)系統(tǒng)5vbInches坐標(biāo)單位為英寸6vbMillimerters坐標(biāo)單位為毫米7vbCentimeters坐標(biāo)單位為厘米三坐標(biāo)系統(tǒng)繪圖區(qū)域大小屬性ScaleLeft:設(shè)定對(duì)象繪圖區(qū)左上角X坐標(biāo)。ScaleTop:設(shè)定對(duì)象繪圖區(qū)左上角YScaleHeight:設(shè)定對(duì)象繪圖區(qū)高度。ScaleWidth:設(shè)定對(duì)象繪圖區(qū)寬度。Scale使用此方法可以設(shè)置一個(gè)自定義坐標(biāo)系統(tǒng):對(duì)象.Scale(X1,Y1)–(X2,Y2)四常用屬性坐標(biāo)點(diǎn)屬性CurrentX:目前繪圖點(diǎn)的x坐標(biāo)CurrentY:目前繪圖點(diǎn)的Y坐標(biāo)BackColor屬性3ForeColor屬性DrawWidthDrawStyle屬性FillColorFillStyle屬性FillColor屬性設(shè)置由Circle和Line閉圖形的內(nèi)部填充顏色。FillStyle屬性設(shè)置繪圖方法產(chǎn)生的封閉圖形的內(nèi)部填充樣式,0~7,AutoRedraw屬性五繪圖常用方法Pset方法Pset方法用于在窗體或圖片框的指定位置上使用指定顏色畫一個(gè)點(diǎn)。其語法為:對(duì)象.Pset [Step](x,y),[color]Line方法Line方法可以在窗體或圖片框上繪制一條直線段或一個(gè)矩形。其語法為:對(duì)象.Line[[step](X1,Y1)]–[step](X2,Y2),[color],[B[F]]CircleCircle方法可以在窗體或圖片框上繪制圓形橢圓或弧語法為:對(duì)象.Circle [step](X, Y ), radius, [color],[start],[end],[aspect]六繪圖時(shí)常用大事1 paint大事當(dāng)窗體或圖片框的全部或局部被其它窗體遮蓋又顯示出來后或被縮放時(shí),VB向窗體或圖片框發(fā)送Paint制。此時(shí)AutoRedraw屬性值必需為False。掌握網(wǎng)網(wǎng)圖和誤差橢圓的繪制—繪圖坐標(biāo)系確實(shí)定屏幕坐標(biāo)系的坐標(biāo)原點(diǎn)是設(shè)在屏幕的左上角,x軸向右為正,y軸向下為正,也就是說,屏幕坐標(biāo)沒有負(fù)值,其坐標(biāo)也不行以超過規(guī)定的數(shù)值。常用的測(cè)量坐標(biāo)系為高斯平面直角坐標(biāo)系或獨(dú)立坐標(biāo)系,(0,0)x軸(0,0)x軸y軸XOY屏幕坐標(biāo)系 測(cè)量坐標(biāo)系尺和把測(cè)量坐標(biāo)系(XOY)轉(zhuǎn)換成屏幕坐標(biāo)系〔xoy〕就可以。坐標(biāo)變換分為坐標(biāo)旋轉(zhuǎn)、繪圖范圍確定和確定坐標(biāo)系三步。坐標(biāo)旋轉(zhuǎn)坐標(biāo)旋轉(zhuǎn)的目的是實(shí)現(xiàn)屏幕坐標(biāo)系和測(cè)量坐標(biāo)系的相應(yīng)軸系平行且方向全都,即旋轉(zhuǎn)后測(cè)量坐標(biāo)系的X軸為水平方向且向右為正,Y軸為豎直方向且向下為正。實(shí)現(xiàn)方法為:Fori=1ToKnowpointnum+unKnowpointnumtemp=net(i,2) net(i,2為掌握點(diǎn)Xnet(I,3點(diǎn)Y坐標(biāo)net(i,2)=net(i,3)net(i,3)=(-1)*tempNext馬上測(cè)量坐標(biāo)系的XYXOXYOXYXO Y確定掌握網(wǎng)網(wǎng)圖的顯示范圍計(jì)算掌握點(diǎn)縱橫坐標(biāo)的最大值和最小值,如計(jì)算結(jié)果分別MaxX、MinX、MaxY、MinY。則可以計(jì)算縱橫坐標(biāo)的跨度為dx、dy。dx=MaxX-MinXdy=MaxY-MinY最終以dxdy中確定值較大者為掌握網(wǎng)網(wǎng)圖的顯示范圍,Limit。確定坐標(biāo)系可以通過設(shè)置ScaleLeftScaleTopScaleHeightScaleWidth屬性值來確定坐標(biāo)系〔即繪圖范圍。經(jīng)過上述步驟的計(jì)算,可以這樣確定繪圖坐標(biāo)系:ScaleTop=MinYScaleHeight=LimitScaleLeft=MinXScaleWidth=Limit二掌握網(wǎng)網(wǎng)圖的繪制可以利用繪圓的方法在轉(zhuǎn)換后的掌握點(diǎn)坐標(biāo)位置上繪制一小圓來表示掌握點(diǎn),如下面語句所示,將繪制紅色小圓表示掌握點(diǎn),同時(shí)在掌握點(diǎn)邊上標(biāo)注掌握點(diǎn)的點(diǎn)名。Circle(net(i,2),net(i,3)),50,vbRedCurrentX=net(i,2)CurrentY=net(i,3)Printnet(i,1) ‘net(i,1)存儲(chǔ)掌握點(diǎn)的點(diǎn)名然后利用繪直線方法繪制完整的掌握網(wǎng)網(wǎng)圖。三誤差橢圓的繪制誤差橢圓參數(shù)的計(jì)算點(diǎn)位誤差橢圓由點(diǎn)位誤差橢圓參數(shù)E、F和φ打算。所以繪制點(diǎn)位誤差橢圓必需首先計(jì)算每點(diǎn)的誤差橢圓參數(shù)。計(jì)算公式如下:假設(shè)某平面掌握網(wǎng)中待定點(diǎn)P的協(xié)因數(shù)陣Q,則t1 ttQ Q Q)2QXX YY XYQ 1(Q Q K)EE 2 XX YYQ 1(Q Q K)FF 2 XX YY誤差橢圓參數(shù)為:0E0F0

QQEEQFFQ Q QFFFFXX tan FFXX Q Q QXY FF YY這里計(jì)算出的誤差橢圓參數(shù)是相對(duì)于測(cè)量坐標(biāo)系的參數(shù),而轉(zhuǎn)換。參數(shù)中長(zhǎng)軸和短軸是一確定值,無論坐標(biāo)系作何種變化,其φX軸為起始方向,順時(shí)針旋轉(zhuǎn)到長(zhǎng)軸所形成的角度的大小。所以x時(shí)針旋轉(zhuǎn)到長(zhǎng)軸方向所形成的角度。角度轉(zhuǎn)換關(guān)系為:T=φ+2700XφOXφOYTOXY誤差橢圓的繪制比例尺誤差橢圓參數(shù)相對(duì)于掌握點(diǎn)坐標(biāo)而言,數(shù)值一般相差幾個(gè)數(shù)比例尺,如Ell_Scale=40000,同時(shí)用戶可以依據(jù)需要自行設(shè)定顯示比例尺。誤差橢圓的繪制每一掌握點(diǎn)的點(diǎn)位誤差橢圓的繪制方法一樣,僅是誤差橢圓參數(shù)的不同,所以可以將誤差橢圓的繪制過程編寫成一通用過代碼的編寫量,同時(shí)可提高程序的可讀性和可編輯性。對(duì)于每一待定點(diǎn)而言,其繪制誤差橢圓的過程如下:計(jì)算屏幕坐標(biāo)系下的誤差橢圓長(zhǎng)軸方向T。計(jì)算長(zhǎng)軸和短軸的起始點(diǎn)坐標(biāo),繪制長(zhǎng)軸和短軸計(jì)算公式為:Ellipse_A=ell_E(i1)*Ell_Scale1 ’按比例縮放后的長(zhǎng)軸長(zhǎng)度Ellipse_B=ell_F(i1)*Ell_Scale1 ’按比例縮放后的短軸長(zhǎng)度dX=net(i1+Knowpointnum,2) ’待定點(diǎn)的坐標(biāo)XdY=net(i1+Knowpointnum,3) ’待定點(diǎn)的坐標(biāo)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〕設(shè)橢圓長(zhǎng)軸方向?yàn)閤’y’軸,則橢圓方程式為:x”acosy”bsin

〔7-2-2〕a為長(zhǎng)軸,b為短軸,φ為與長(zhǎng)軸的夾角。為了把橢圓的長(zhǎng)軸放置在應(yīng)有的方向上,還需把橢圓坐標(biāo)〔’〕轉(zhuǎn)換為屏幕坐標(biāo)〔x,yT,則有xx”cosTy”sinTyx”sinTy”cosT 〔7-2-3〕將式〔7-2-2〕代入上式得:xacosTcosbsinTsinyasinTcosbcosTsin (7-2-4)結(jié)合式7-2-(7-2-4式可以改寫為:xPcosSsinyQcosRsin 〔7-2-5〕〔7-2-5〕φΔΦ〔50〕計(jì)算在橢圓上一點(diǎn)的坐標(biāo)x1(i),y1(i,然后將各坐標(biāo)點(diǎn)用直線連接,即成一個(gè)橢圓〔近似的。實(shí)現(xiàn)語句為:Fork=0To72X1(k)=P*Cos(5*PI/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論