




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)圖形學(xué)-掃描線填色程序掃描線填色程序主程序名為fill_area(count,x,y),其中參數(shù)x,y是兩個(gè)一維數(shù)組,存放多邊形頂點(diǎn)(共count個(gè))的x和y坐標(biāo)。它調(diào)用8個(gè)子程序,彼此的調(diào)用關(guān)系如圖所示。各子程序的功能為:圖2.3.5fill_area的程序結(jié)構(gòu)typedefstruct{inty_top;floatx_int;intdelta_y;floaatx_change_per_scan;}EACH_ENTRY;EACH_ENTRYSIDES[MAX_POINT];intx[MAX_POINT],y[MAX_POINT];intside_count,first_s,last_s,scan,bottomscan,x_int_count,r;fill_area(count,x,y)intcount,x[],y[];{sort_on_bigger_y(count);first_s=1;last_s=1;for(scan=sides[1].y_top;scan>bottomscan?;scan--){update_first_and_last(count,scan);process_x_intersections(scan,first_s,last_s);1、sort_on_bigger_y子程序的主要功能是按照輸入的多邊形,建立起活性邊表。操作步驟是:對(duì)每條邊加以判斷:如非水平邊則調(diào)用put_in_side_list子程序放入活性邊來(lái);如是水平邊則直接畫(huà)出。2、put_in_sides_list子程序的主要功能是將一條邊存入活性邊表之內(nèi)。操作步驟是:對(duì)該邊判別是否左頂點(diǎn)或右頂點(diǎn),如果將入邊之終點(diǎn)刪去,按照y_top的大小在活性邊表中找到該點(diǎn)的合適位置,在該邊的位置中填入數(shù)據(jù)。3、update_first_and_last子程序的主要功能是刷新活性邊表的first和last兩根指針的所指位置,以保證指針指出激活邊的范圍。4、process_x_intersections子程序的主要功能是對(duì)活性邊表中的激活邊(即位于first和last之間的,并且?y?0的邊)按照x_int的大小排序。操作步驟是:從first到last,對(duì)每一根?y?0的邊,調(diào)用sort_on_x子程序排入活性邊表中合適位置。5、sort_on_x子程序主要功能是將一條邊side[entry],在活性邊表的first到entry之間按x_int的大小插入合適位置。操作步驟是:檢查位于entry的邊的x_int是否小于位置entry-1的邊的x_int,如是,調(diào)用swap子程序交換兩條邊的彼此位置。6、swap子程序的主要功能是交換活性邊表中兩條相鄰位置邊的彼此位置。7、draw_lines子程序的主要功能是在一條掃描線位于多邊形內(nèi)的部分,填上指定的色彩。操作步驟是:在活性邊表的激活邊范圍內(nèi),依次取出Δy10兩邊的x_int,作為兩個(gè)端點(diǎn)(x1,scan),(x2,scan),畫(huà)一條水平線。8、update_sid
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中原地產(chǎn)手房買賣合同
- 學(xué)校采購(gòu)校服合同
- 工地門(mén)窗安裝合同
- 建設(shè)工程勞務(wù)分包合同
- 場(chǎng)地汽車租賃合同
- 污水處理廠施工合同
- 漳州理工職業(yè)學(xué)院《飛機(jī)液壓與燃油系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 漳州理工職業(yè)學(xué)院《室內(nèi)模型設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西水利職業(yè)學(xué)院《現(xiàn)代儀器分析綜合實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 北京郵電大學(xué)世紀(jì)學(xué)院《物流管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 設(shè)備維護(hù)服務(wù)方案(2篇)
- 2024中國(guó)AI應(yīng)用開(kāi)發(fā)者生態(tài)調(diào)研報(bào)告-易觀分析
- -中國(guó)傳統(tǒng)節(jié)日之春節(jié)習(xí)俗介紹主題班會(huì)14
- 2024年遼寧醫(yī)藥職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- 2024上海市長(zhǎng)寧區(qū)高三二模作文“成長(zhǎng)的必經(jīng)之路:責(zé)任與選擇”審題立意及范文
- 諾如病毒應(yīng)急演練匯報(bào)
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
- 生物質(zhì)顆粒廠建設(shè)項(xiàng)目可行性研究報(bào)告
- 三創(chuàng)賽獲獎(jiǎng)-非遺文化創(chuàng)新創(chuàng)業(yè)計(jì)劃書(shū)
- 2024屆新高考二輪復(fù)習(xí) 以“防”突破無(wú)機(jī)制備型實(shí)驗(yàn)綜合題 課件
- 《電線電纜介紹》課件
評(píng)論
0/150
提交評(píng)論