圓弧和橢圓弧的繪制_第1頁
圓弧和橢圓弧的繪制_第2頁
圓弧和橢圓弧的繪制_第3頁
圓弧和橢圓弧的繪制_第4頁
圓弧和橢圓弧的繪制_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、222Ryx 圓上的點關(guān)于X軸、Y軸以及x=y,x=-y對稱,只要實現(xiàn)1/8圓的掃描轉(zhuǎn)換就可以利用對稱性得到完整的圓(8對稱點算法,圓心不在原點的處理見教材)。最容易想到的算法如下最容易想到的算法如下: 根據(jù)圓的基本方程,可以沿x軸,x從0到 ,以單位步長計算對應的y值來得到圓周上每點的位置: 該算法每一步均包含浮點乘法和開方運算,且所繪制的像素間間隔不一,隨著x的增加,間隔越來越大。 為了方便起見,可以只考慮中心在原點、半徑為整數(shù)R的圓:2/2R 一種消除不等間距的方法是使用極坐標來計算圓周上的點角度角度DDADDA法產(chǎn)生圓弧法產(chǎn)生圓弧。l算法的要點l1)以角度為參數(shù),寫出圓弧的參數(shù)方程。l

2、2)按均勻的(角度)間隔,計算出圓弧上點的坐標,用這些點(繪圖時要對坐標值取整)的連線來代替圓弧。l設(shè)以原點為圓心,半徑R,圓弧的起始角ts,終止角te,則參數(shù)方程為l選取適當?shù)慕嵌仍隽縟t,令t以步長dt從ts變到te,l總步數(shù):n=(te-ts)/dt.lti=ts+dt*i, i=0,1,n.l算出相應的圓弧上的點,畫點(或連成線)即可。l問題: dt的選取tsinRytcosRxdt的一種取法的一種取法l如圖,設(shè)Pi(xi,yi)和Pi1 (xi+1,yi+1)對應的參數(shù)分別為t和t+dt,顯然,l|dx|=xi+1-xi| =r|cos(t+dt)-cost|=r|-sint|dtr

3、dtl同理,|dy|=yi+1-yi| rdtl為使|dx| 1 &dy| 1, 可取dt 1/r.OPiPi+1l和角度DDA法產(chǎn)生圓弧類似l1)以角度為參數(shù),寫出橢圓弧的參數(shù)方程。l2)按均勻的(角度)間隔,計算出橢圓弧上點的坐標,用這些點(繪圖時要對坐標值取整)的連線來代替橢圓弧。l角度DDA法產(chǎn)生圓弧的算法使用了三角函數(shù)和浮點運算,運算速度依然很慢,與直線繪制算法相似,理想的圓繪制算法也是只需要作一些簡單的整數(shù)和判別運算,常見的有中點畫圓法中點畫圓法的具體算法見教材中點判別法生成橢圓中點判別法生成橢圓 設(shè)橢圓的方程為: 將其化為: F(x,y)=b2x2+a2y2-a2b2=01222

4、2byaxxy 由于橢圓的對稱性,我們只討論第1象限橢圓弧的生成。Oab|k|11)算法的要點xyOab|k|1i) |k|1的情況設(shè)當前點為P(xp,yp), 則下一點在兩個候選點S(xp+1,yp)和T (xp+1,yp1)中選擇。 判別規(guī)則: 設(shè)M為S 和T的中點a)若M在橢圓內(nèi)(上方), 則選S;b)否則選T。PTSPTS(a)(b)xyOab|k|1i) |k|1的情況設(shè)當前點為P(xp,yp), 則下一點在兩個候選點S(xp,yp-1)和T (xp+1,yp1)中選擇。 判別規(guī)則: 設(shè)M為S 和T的中點a)若M在橢圓內(nèi)(左側(cè)), 則選T;b)否則選S。PTSPTS(a)(b)2)判

5、別式的計算設(shè)當前點Pi的坐標為(xi,yi),兩個候選點為S(xi+1,yi)和T(xi+1,yi-1),中點M(xi+1, yi-0.5),判別式為di=b2(xi+1)2+a2(yi-0.5)2-a2b2 a)若di0(見右上圖),則下一點Pi+1(xi+1,yi+1)應該選S (xi+1,yi),di+1=b2(xi+1+1)2+a2(yi+1-0.5)2-a2b2 = b2(xi+2)2+a2(yi-0.5)2-a2b2PTS先討論先討論k di+1- di= b2(2 xi+3) b)若di0,則Pi+1(xi+1,yi+1)應該選T (xi+1,yi-1),di+1=b2(xi+1

6、+1)2+a2(yi+1-0.5)2-a2b2 = b2(xi+2)2+a2(yi-1.5)2-a2b2 =di+1- di= b2(2 xi+3)-a2(2 yi-2)PTS3) 判別式的初值 由于橢圓弧的起點P(0,b), 因此,點M(1,b-0.5), 判別式 d0=F(1,b-0.5) =b2+a2(b-0.5)2-a2b2 =b2+a2(-b+0.25)PM橢圓方程橢圓方程: F(x,y)=b2x2+a2y2-a2b2=04) 由上半部分轉(zhuǎn)入下半部分的判斷橢圓方程橢圓方程: F(x,y)=b2x2+a2y2-a2b2=0yaxbyyyaxb2222022方法1:b2xa2y?方法2:求出橢圓上 的點1 y),(yxx x設(shè)P(xi,yi),則M(xi+0.5,yi-1),判別式:Di=F(xi+0.5,yi-1),a) 若Di0,則下一點選S( xi,yi-

溫馨提示

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

評論

0/150

提交評論