直線圓弧插補(bǔ)程序_第1頁
直線圓弧插補(bǔ)程序_第2頁
直線圓弧插補(bǔ)程序_第3頁
直線圓弧插補(bǔ)程序_第4頁
直線圓弧插補(bǔ)程序_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、直線插補(bǔ)Private Sub Comma nd1_Click() Comma ndl.E nabled = False Line (x(O), y(O)-(xa, ya) f(0) = 0For i = 0 To n - 1If (xa >= 0) And (ya >= 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) + 1 Step 0.0001 PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) - yaElseFor j = y

2、(i) To y(i) + 1 Step 0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i)f(i + 1) = f(i) + xaEnd IfEnd IfIf (xa > 0) And (ya < 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) + 1 Step 0.0001 PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) + yaElseFor j

3、= y(i) To y(i) - 1 Step -0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) - 1x(i + 1) = x(i)f(i + 1) = f(i) + xaEnd IfEnd IfIf (xa < 0) And (ya > 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) - 1 Step -0.0001 PSet (j, y(i), 255Next jx(i + 1) = x(i) - 1y(i + 1) = y(i) f(i + 1) = f(i) - ya Els

4、eFor j = y(i) To y(i) + 1 Step 0.0001 PSet (x(i), j), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i) f(i + 1) = f(i) - xa End IfEnd IfIf (xa < 0) And (ya < 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) - 1 Step -0.0001 PSet (j, y(i), 255Next jx(i + 1) = x(i) - 1y(i + 1) = y(i) f(i + 1) = f(i)

5、 + ya ElseFor j = y(i) To y(i) - 1 Step -0.0001 PSet (x(i), j), 255Next jy(i + 1) = y(i) - 1x(i + 1) = x(i) f(i + 1) = f(i) - xa End IfEnd IfNext iEnd SubN圓插補(bǔ)Private Sub Comma nd3_Click()Comma nd3.E nabled = Falser = (xa A 2) + (ya A 2) A (1 / 2) Circle (0, 0), rComma nd3.E nabled = Falsef(0) = 0For

6、 i = 0 To n - 1If (x(0) > 0) And (y(0) >= 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) - 1 Step -0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) - 1y(i + 1) = y(i)f(i + 1) = f(i) - 2 * x(i) + 1ElseFor j = y(i) To y(i) + 1 Step 0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i

7、)f(i + 1) = f(i) + 2 * y(i) + 1End IfEnd IfIf (x(0) <= 0) And (y(0) > 0) The nIf f(i) < 0 The nFor j = x(i) To x(i) - 1 Step -0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) - 1y(i + 1) = y(i)f(i + 1) = f(i) - 2 * x(i) + 1ElseFor j = y(i) To y(i) - 1 Step -0.0001PSet (x(i), j), 255Next jy(i +

8、 1) = y(i) - 1x(i + 1) = x(i)f(i + 1) = f(i) - 2 * y(i) + 1End IfEnd IfIf (x(0) < 0) And (y(0) <= 0) The nIf f(i) >= 0 The nFor j = x(i) To x(i) + 1 Step 0.0001 PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) + 2 * x(i) + 1ElseFor j = y(i) To y(i) - 1 Step -0.0001P

9、Set (x(i), j), 255Next jy(i + 1) = y(i) - 1x(i + 1) = x(i)f(i + 1) = f(i) - 2 * y(i) + 1End IfEnd IfIf (x(0) >= 0) And (y(0) < 0) The nIf f(i) < 0 The nFor j = x(i) To x(i) + 1 Step 0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) + 2 * x(i) + 1ElseFor j = y(i

10、) To y(i) + 1 Step 0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i)f(i + 1) = f(i) + 2 * y(i) + 1End IfEnd IfNext iEnd SubS圓插補(bǔ)Private Sub Comma nd5_Click()Comma nd5.E nabled = Falser = (xa A 2) + (ya A 2) A (1 / 2) Circle (0, 0), rComma nd3.E nabled = Falsef(0) = 0For i = 0 To n - 1

11、If (x(0) >= 0) And (y(0) > 0) The nIf f(i) >= 0 The nFor j = y(i) To y(i) - 1 Step -0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) - 1x(i + 1) = x(i)f(i + 1) = f(i) - 2 * y(i) + 1ElseFor j = x(i) To x(i) + 1 Step 0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i

12、) + 2 * x(i) + 1End IfEnd IfIf (x(0) > 0) And (y(0) <= 0) The nIf f(i) < 0 The nFor j = y(i) To y(i) - 1 Step -0.0001PSet (x(i), j), 255Next jy(i + 1) = y(i) - 1x(i + 1) = x(i)f(i + 1) = f(i) - 2 * y(i) + 1ElseFor j = x(i) To x(i) - 1 Step -0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) - 1y

13、(i + 1) = y(i)f(i + 1) = f(i) - 2 * x(i) + 1End IfEnd IfIf (x(0) <= 0) And (y(0) < 0) The nIf f(i) >= 0 The nFor j = y(i) To y(i) + 1 Step 0.0001 PSet (x(i), j), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i)f(i + 1) = f(i) + 2 * y(i) + 1ElseFor j = x(i) To x(i) - 1 Step -0.0001PSet (j, y(i),

14、255Next jx(i + 1) = x(i) - 1y(i + 1) = y(i)f(i + 1) = f(i) - 2 * x(i) + 1End IfEnd IfIf (x(0) < 0) And (y(0) >= 0) The nIf f(i) < 0 The nFor j = y(i) To y(i) + 1 Step 0.0001PSet (j, y(i), 255Next jy(i + 1) = y(i) + 1x(i + 1) = x(i)f(i + 1) = f(i) + 2 * y(i) + 1ElseFor j = x(i) To x(i) + 1 S

15、tep 0.0001PSet (j, y(i), 255Next jx(i + 1) = x(i) + 1y(i + 1) = y(i)f(i + 1) = f(i) + 2 * x(i) + 1End IfEnd IfNext iEnd Sub任意象限圓弧插補(bǔ)r = Sqr(X(O) - xa) A 2 + (Y(0) - ya) A 2)Circle (xa, ya), rf(0) = 0i = 0DoIf (X(i) > xa) And (Y(i) >= ya) The nIf f(i) >= 0 The nFor j = X(i) To X(i) - 1 Step -

16、0.0001PSet (j, Y(i), 255Next jX(i + 1) = X(i) - 1Y(i + 1) = Y(i)f(i + 1) = (X(i + 1) - xa) a 2 + (Y(i + 1) - ya) a 2 - r a 2 ElseFor j = Y(i) To Y(i) + 1 Step 0.0001PSet (X(i), j), 255Y(i + 1) = Y(i) + 1Next jY(i + 1) = Y(i) + 1X(i + 1) = X(i)f(i + 1) = (X(i + 1) - xa) a 2 + (Y(i + 1) - ya) a 2 - r

17、a 2 End Ifi = i + 1If (y1 = Y(i) And (x1 = X(i) The n Exit DoEnd IfIf (X(i) <= xa) And (Y(i) > ya) The nIf f(i) < 0 The nFor j = X(i) To X(i) - 1 Step -0.0001PSet (j, Y(i), 255Next jX(i + 1) = X(i) - 1Y(i + 1) = Y(i)f(i + 1) = (X(i + 1) - xa) a 2 + (Y(i + 1) - ya) a 2 - r a 2 ElseFor j = Y(

18、i) To Y(i) - 1 Step -0.0001PSet (X(i), j), 255Next jY(i + 1) = Y(i) - 1X(i + 1) = X(i)f(i + 1) = (X(i + 1) - xa) a 2 + (Y(i + 1) - ya) a 2 - r a 2End IfIf (y1 = Y(i) And (x1 = X(i) The n Exit Doi = i + 1End IfIf (X(i) < xa) And (Y(i) <= ya) The nIf f(i) >= 0 The nFor j = X(i) To X(i) + 1 Step 0.0001PSet (j, Y(i), 255Next jX(i + 1) = X(i) + 1Y(i + 1) = Y(i)f(i + 1) = (X(i + 1) - xa) A 2 + (Y(i + 1) - ya) A 2 - r A 2 ElseFor j = Y(i) To Y(i) - 1 Step -0.0001PSet (X(i), j), 2

溫馨提示

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

評論

0/150

提交評論