幾何學(xué)算法基礎(chǔ)

幾何學(xué)算法基礎(chǔ)

ID:20446591

大?。?86.00 KB

頁(yè)數(shù):51頁(yè)

時(shí)間:2018-10-12

幾何學(xué)算法基礎(chǔ)_第1頁(yè)
幾何學(xué)算法基礎(chǔ)_第2頁(yè)
幾何學(xué)算法基礎(chǔ)_第3頁(yè)
幾何學(xué)算法基礎(chǔ)_第4頁(yè)
幾何學(xué)算法基礎(chǔ)_第5頁(yè)
資源描述:

《幾何學(xué)算法基礎(chǔ)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、西南交通大學(xué)計(jì)算機(jī)與通信工程學(xué)院程序設(shè)計(jì)基礎(chǔ)算法IntersectingLinesWeallknowthatapairofdistinctpointsonaplanedefinesalineandthatapairoflinesonaplanewillintersectinoneofthreeways:1)nointersectionbecausetheyareparallel,2)intersectinalinebecausetheyareontopofoneanother(i.e.theyarethesameline),3)intersectinapoint

2、.Inthisproblemyouwilluseyouralgebraicknowledgetocreateaprogramthatdetermineshowandwheretwolinesintersect.Yourprogramwillrepeatedlyreadinfourpointsthatdefinetwolinesinthex-yplaneanddeterminehowandwherethelinesintersect.Allnumbersrequiredbythisproblemwillbereasonable,saybetween-1000and

3、1000.InputThefirstlinecontainsanintegerNbetween1and10describinghowmanypairsoflinesarerepresented.ThenextNlineswilleachcontaineightintegers.Theseintegersrepresentthecoordinatesoffourpointsontheplaneintheorderx1y1x2y2x3y3x4y4.Thuseachoftheseinputlinesrepresentstwolinesontheplane:thelin

4、ethrough(x1,y1)and(x2,y2)andthelinethrough(x3,y3)and(x4,y4).Thepoint(x1,y1)isalwaysdistinctfrom(x2,y2).Likewisewith(x3,y3)and(x4,y4).OutputThereshouldbeN+2linesofoutput.ThefirstlineofoutputshouldreadINTERSECTINGLINESOUTPUT.Therewillthenbeonelineofoutputforeachpairofplanarlinesreprese

5、ntedbyalineofinput,describinghowthelinesintersect:none,line,orpoint.Iftheintersectionisapointthenyourprogramshouldoutputthexandycoordinatesofthepoint,correcttotwodecimalplaces.Thefinallineofoutputshouldread``ENDOFOUTPUT".SampleInput5 00440440 50761023 50763-64-3 2022715185 03401225Sa

6、mpleOutputINTERSECTINGLINESOUTPUT POINT2.002.00NONE LINE POINT2.005.00 POINT1.072.20 ENDOFOUTPUT計(jì)算幾何學(xué)算法設(shè)計(jì)1、確定任意兩條線段是否都不相交設(shè)有一組線段,要求判斷這組線段中任意兩條線段是否都不相交。問(wèn)題分析:對(duì)于一組線段,我們可以先假設(shè)這組線段中不存在與垂直軸平行的線段,同時(shí)也沒(méi)有三條線段相交于一點(diǎn)的情況?;谶@種假設(shè),我們可以通過(guò)一根垂直掃描線來(lái)掃描這組線段,在掃描過(guò)程中我們可以發(fā)現(xiàn),一旦兩條線段存在交點(diǎn),則其掃描的結(jié)果會(huì)發(fā)生變化。即垂直掃描線自上而下掃描時(shí)的

7、輸出會(huì)發(fā)生變化,如下圖所示。ABCDABABACDABCADCBDCBCDC從上面的圖可以看出,如果兩條線段之間存在交點(diǎn),則在交點(diǎn)前后兩點(diǎn)之間的順序?qū)l(fā)生變化。因此我們可以通過(guò)如下算法來(lái)判斷哪些線段之間存在交點(diǎn):1、將所有線段的端點(diǎn)按照X坐標(biāo)從小到大的順序進(jìn)行排列,如果兩個(gè)端點(diǎn)的X坐標(biāo)相同,則將Y坐標(biāo)小的放在前面,Y坐標(biāo)大的放在后面。設(shè)該集合為S。2、取S集合中的一個(gè)端點(diǎn)p。如果p是線段s的左端點(diǎn),則將其插入序列T中;否則將其從序列中刪除。插入的方法是:若p在T集合中某線段的上方則插入到該線段的前面,否則查找下一條線段。這兒如何判斷在p點(diǎn)在T集合某線段的上方呢?

8、我們看一下下面的圖形:P

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。