矢量線相交算法.pptx_第1頁(yè)
矢量線相交算法.pptx_第2頁(yè)
矢量線相交算法.pptx_第3頁(yè)
矢量線相交算法.pptx_第4頁(yè)
矢量線相交算法.pptx_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、矢量線相交算法報(bào)告,第二組,算法介紹:,1、首先判斷多義線的最小外界矩形是否與所畫相交,相交的進(jìn)行下一步判斷,不想交的直接舍去。,2、我們將所畫多義線按照每一部分進(jìn)行遍歷,這樣遍歷的每一部分都是一條線段。(下文中提到的所畫多義線,均為所畫多義線的每一線段部分),1,2,3,因?yàn)槎嗔x線記錄中有部分的總數(shù),且每一部分是主次存在相應(yīng)的動(dòng)態(tài)數(shù)組中的,所以上面的遍歷是可以實(shí)現(xiàn)。其中任何一個(gè)部分與測(cè)試數(shù)據(jù)相交,都能將相交的線段篩選出來。,3、因?yàn)槎嗔x線中的折點(diǎn)是存儲(chǔ)在動(dòng)態(tài)數(shù)組中的,而且也是依次存儲(chǔ)的,這樣我們依次遍歷每一個(gè)折點(diǎn)。判斷該折點(diǎn)是在所畫的多義線的那一側(cè)。如果相鄰的兩個(gè)折點(diǎn)在所畫多義線的不同側(cè),我

2、們將計(jì)算這兩個(gè)折點(diǎn)的直線,并將得到的直線與所畫的多義線直線亮麗求交點(diǎn)。如果有交點(diǎn),判斷交點(diǎn)是否在所畫多義線的最小外接矩形中,若在則兩條多義線相交,否則不相交。,A,B,C,D,多義線ABCD與所畫多義線關(guān)系如上圖,兩者最小外接矩形相交,其中B、C兩點(diǎn)在所畫多義線兩側(cè),但是BC與所畫多義線的交點(diǎn)不在所畫多義線的最小外接矩形內(nèi)所以不想交。,例1,例2,這里多義線AB的折點(diǎn)分別在所畫多義線兩側(cè),且交點(diǎn)也在所畫多義線的最小外接矩形內(nèi),所以兩者相交。,A,B,代碼實(shí)現(xiàn):,K表示的是所畫多義線折點(diǎn)的號(hào)碼,相鄰的折點(diǎn)組成一條直線即所求的直線。rc1 、rc2、rc3、rc4保存的是該相鄰折點(diǎn)組成的最小外接矩

3、形的坐標(biāo),即xmin、xmax、ymin、ymax。,先看多義線與所畫多義線的最小外接矩形是否相交,否則進(jìn)行下一遍歷,是則進(jìn)一步進(jìn)行判斷。,遍歷每一個(gè)折點(diǎn),相鄰折點(diǎn)若在直線不同側(cè)則進(jìn)行交點(diǎn)的判斷。 這里每判斷點(diǎn)與直線的位置一次,就為b賦一次相應(yīng)的值。C存儲(chǔ)的是上一個(gè)折點(diǎn)與直線的位置關(guān)系,c與b相等則同側(cè),否則為異側(cè)。,求相鄰折點(diǎn)的直線,并求交點(diǎn),判斷交點(diǎn)是否在最小外接矩形內(nèi),是則為unm賦1值。,如果unm值為1則將這條多義線的信息記錄下來,最后返回到交互層進(jìn)行顯示。,算法的特色:,將多義線相交的判斷,通過循環(huán)的方式,轉(zhuǎn)化為直線相交的判斷。而在直線相交的判斷中主要進(jìn)行的是點(diǎn)與直線關(guān)系的判斷,只是在必要的時(shí)候進(jìn)行直線相

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論