點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)

點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)

ID:22819096

大?。?95.78 KB

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

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

點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)_第1頁(yè)
點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)_第2頁(yè)
點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)_第3頁(yè)
點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)_第4頁(yè)
點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)_第5頁(yè)
資源描述:

《點(diǎn)在凸多邊形內(nèi)外的判定(源程序忘記保存了,隨便找了個(gè)源程序,反正老師不會(huì)看)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、課程名稱課題名稱專業(yè)班級(jí)學(xué)號(hào)姓名指導(dǎo)教師_計(jì)算機(jī)圖形學(xué)點(diǎn)在凸多邊龍計(jì)算機(jī)科學(xué)1202劉長(zhǎng)松2015年9月21日湖南工程學(xué)院課程設(shè)計(jì)任務(wù)書課程名稱計(jì)算機(jī)圖形學(xué)課題點(diǎn)在凸多邊形內(nèi)外的判定專業(yè)班級(jí)計(jì)算機(jī)1202學(xué)生姓名學(xué)號(hào)指導(dǎo)老師劉長(zhǎng)松審批任務(wù)書下達(dá)日期2015年9月5日任務(wù)完成日期2015年9月21曰、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求1.設(shè)計(jì)內(nèi)容:以圖形學(xué)基木算法為目標(biāo),深入研究。繼而策劃、設(shè)計(jì)并實(shí)現(xiàn)一個(gè)能夠判定點(diǎn)在凸多邊形內(nèi)外的算法,并能從某些方面作出評(píng)價(jià)和改進(jìn)意見(jiàn)。通過(guò)完成一個(gè)完整程序,經(jīng)歷策劃、設(shè)計(jì)、開發(fā)、測(cè)試、總結(jié)和驗(yàn)收各階段。2.設(shè)計(jì)要求:(1)使用鼠標(biāo)指定一組點(diǎn)來(lái)定

2、義凸多邊形;(2)使用鼠標(biāo)指定測(cè)試點(diǎn);(3)根據(jù)測(cè)試結(jié)果輸出“在內(nèi)部”或“在外部”。3.參考文獻(xiàn)[1]王汝傳.黃海T.計(jì)算機(jī)閣形學(xué)教程[M].北京:人民郵電出版社,2009.[2]孔令徳.計(jì)算機(jī)閣形學(xué)教程[M].北京:清平大學(xué)出版社,2008..[3]姜靈芝.C語(yǔ)言課程沒(méi)計(jì)案例精編[M].北京:清華大學(xué)出版社.2008.[4]徐文鵬.計(jì)算機(jī)閣形學(xué).北京:機(jī)械工業(yè)出版社,2009.二、進(jìn)度安排第1周星期一8:0012:00星期三8:0012:00星期五8:0012:00第2周星期一8:0012:00星期三8:0012:00S期五8:0012:00附:課程設(shè)計(jì)報(bào)告

3、裝訂順序:封面、任務(wù)書、目錄、正文、附件(A4大小的圖紙及程序清單)、評(píng)分。正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專?。正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。一、設(shè)計(jì)需求分析1二、總體設(shè)計(jì)2三、詳細(xì)設(shè)計(jì)3rq.m7五、心得體會(huì)10#考対伏11縣12,、設(shè)計(jì)需求分析該課題主要實(shí)現(xiàn)判斷點(diǎn)與凸多邊形的位置關(guān)系

4、。其設(shè)計(jì)思想是應(yīng)用圖形學(xué)中的算法來(lái)實(shí)現(xiàn)該課題的功能。該課題還要實(shí)現(xiàn)通過(guò)鼠標(biāo)畫點(diǎn)繪制多邊形和畫點(diǎn)。查詢網(wǎng)上資料得知該項(xiàng)目主要判定方法有射線法、面積法、交叉發(fā)、改進(jìn)弧法、角度矢量法等等,本次實(shí)驗(yàn)將會(huì)采用射線法來(lái)完成本次課題。本設(shè)計(jì)中主要用到有LineGL(PointptO,Pointptl);PointGL(Pointpt);glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGB

5、GLUT_SINGLE);glutInitWindowPosition(a,a);glutInitWindowSize(600,800);gl

6、utDisplayFunc(myDisplay);glutReshapeFunc(Reshape);createGLUTMenus();GlutMotiseFiinc(moiise);glutMainLoop()等等。關(guān)于繪點(diǎn)和直線,opengl要求指定頂點(diǎn)的命令必須也含在glBegin函數(shù)之后,glEnd函數(shù)之前(否則揩定的頂點(diǎn)將被忽略),并由glBegin來(lái)指明如何使用這些、6:。如果glBegin函數(shù)之后是gLpoints生成頂點(diǎn),是gUines則生成直線。創(chuàng)建生成點(diǎn)和直線的方法,生成多邊行吋通過(guò)一個(gè)循環(huán),調(diào)用生成點(diǎn)和直線的方法顯示多邊形。同時(shí),多邊形的

7、繪制函數(shù)DrawPolygon()和判定點(diǎn)在其內(nèi)的函數(shù)PtInPolygon()是實(shí)現(xiàn)本次算法的精要所在,通過(guò)射線法來(lái)判定點(diǎn)與多邊形的位置關(guān)系,從點(diǎn)出發(fā)的射線與多邊形的邊相交,若交點(diǎn)的個(gè)數(shù)為奇數(shù),則點(diǎn)在多邊形內(nèi)部;若交點(diǎn)為偶數(shù),則點(diǎn)在多邊形的外部。二、總體設(shè)計(jì)關(guān)于點(diǎn)在凸多邊形內(nèi)外判定的設(shè)計(jì),首先要設(shè)計(jì)畫點(diǎn)的算法以及直線的畫法,從而利用點(diǎn)和直線的算法設(shè)計(jì)凸多邊形的算法。最重要的是設(shè)計(jì)如何判定點(diǎn)在凸多邊形內(nèi)外。確定一個(gè)點(diǎn)與多邊形的內(nèi)部關(guān)系一?般有兩種方法:射線法和累計(jì)角度法。這里,我用的是射線法:(在代碼屮)以pointpt為起點(diǎn),以無(wú)窮遠(yuǎn)為終點(diǎn)作平行于X軸的直線

8、,循環(huán)取得多邊形每一條邊,11判斷是否平行X軸,如果平行(xmtirme,否則i++;同吋判斷點(diǎn)是否在邊上,如果是,則返回1(點(diǎn)在多邊形上),否則繼續(xù)下面的判斷;判斷邊與線是否有交點(diǎn),如果有則vp++,否則,i++。判斷交點(diǎn)的總數(shù),如果為奇數(shù)則返回0(點(diǎn)在多邊形內(nèi)),偶數(shù)則返回2(點(diǎn)在多邊形外)。通過(guò)創(chuàng)建鼠標(biāo)事件的方法,來(lái)進(jìn)行閥多邊形和判斷。其功能模塊圖如下:主菜單▼▼▼圖2.1三、詳細(xì)設(shè)計(jì)通過(guò)鼠標(biāo)來(lái)繪制,繪制圖形和點(diǎn),并將在靜態(tài)文本控件屮繪制圖形,所以,需要響應(yīng)對(duì)話框的鼠標(biāo)消息,并需要在靜態(tài)文本的重繪函數(shù)OnPaint()屮繪制閣形和點(diǎn)。另夕卜,需要從靜態(tài)文

9、木控件CStatic矣屮,派生自己的靜

當(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)系客服處理。