![區(qū)域填充算法運(yùn)行代碼_第1頁(yè)](http://file4.renrendoc.com/view11/M02/02/2D/wKhkGWVzGMGAILF6AAFZUAz-MRQ481.jpg)
![區(qū)域填充算法運(yùn)行代碼_第2頁(yè)](http://file4.renrendoc.com/view11/M02/02/2D/wKhkGWVzGMGAILF6AAFZUAz-MRQ4812.jpg)
![區(qū)域填充算法運(yùn)行代碼_第3頁(yè)](http://file4.renrendoc.com/view11/M02/02/2D/wKhkGWVzGMGAILF6AAFZUAz-MRQ4813.jpg)
![區(qū)域填充算法運(yùn)行代碼_第4頁(yè)](http://file4.renrendoc.com/view11/M02/02/2D/wKhkGWVzGMGAILF6AAFZUAz-MRQ4814.jpg)
![區(qū)域填充算法運(yùn)行代碼_第5頁(yè)](http://file4.renrendoc.com/view11/M02/02/2D/wKhkGWVzGMGAILF6AAFZUAz-MRQ4815.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
///<summary>///掃描線填充算法填充觸發(fā)事件///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidscanLineFillingToolStripMenuItem_Click(objectsender,EventArgse){slf.ScanLinePolygonFill(P,g,XiangSu);}privatevoidlabel2_Click(objectsender,EventArgse){}privatevoid四聯(lián)通填充ToolStripMenuItem_Click(objectsender,EventArgse){tempp.X=tempP[3].X+XiangSu;//選取第4個(gè)點(diǎn)內(nèi)側(cè)(隨機(jī)猜測(cè))tempp.Y=tempP[3].Y+XiangSu;checkBox.Enabled=false;//讓繪制過(guò)程中不能改變選擇do_check();//也要檢查一遍,不然會(huì)出現(xiàn)錯(cuò)誤FloodSeedFill(tempp);checkBox.Enabled=true;//恢復(fù)}///<summary>///初始化新邊表///算法通過(guò)遍歷所有的頂點(diǎn)獲得邊的信息,然后根據(jù)與此邊有關(guān)的前后兩個(gè)頂點(diǎn)的情況///確定此邊的ymax是否需要-1修正。ps和pe分別是當(dāng)前處理邊的起點(diǎn)和終點(diǎn),pss是起///點(diǎn)的前一個(gè)相鄰點(diǎn),pee是終點(diǎn)的后一個(gè)相鄰點(diǎn),pss和pee用于輔助判斷ps和pe兩個(gè)///點(diǎn)是否是左頂點(diǎn)或右頂點(diǎn),然后根據(jù)判斷結(jié)果對(duì)此邊的ymax進(jìn)行-1修正,算法實(shí)現(xiàn)非///常簡(jiǎn)單,注意與掃描線平行的邊是不處理的,因?yàn)樗竭呏苯釉贖orizonEdgeFill()///函數(shù)中填充了。///</summary>privatevoidInitScanLineNewEdgeTable(List<EDGE>[]NET,List<Point>Q,intymin,intymax){List<int>temp=newList<int>();EDGEe;for(inti=0;i<Q.Count;i++){Pointps=Q[i];Pointpe=Q[(i+1)%Q.Count];Pointpss=Q[(i-1+Q.Count)%Q.Count];Pointpee=Q[(i+2)%Q.Count];if(pe.Y!=ps.Y)//不處理平行線{e=newEDGE();e.dx=(double)(pe.X-ps.X)/(double)(pe.Y-ps.Y)*XiangSu;if(pe.Y>ps.Y){e.xi=ps.X;if(pee.Y>=pe.Y)e.ymax=pe.Y-XiangSu;elsee.ymax=pe.Y;NET[ps.Y-ymin].Add(e);//加入對(duì)應(yīng)的NET里temp.Add(ps.Y-ymin);}else{e.xi=pe.X;if(pss.Y>=ps.Y)e.ymax=ps.Y-XiangSu;elsee.ymax=ps.Y;NET[pe.Y-ymin].Add(e);//加入對(duì)應(yīng)的NET里temp.Add(pe.Y-ymin);}}}for(inti=0;i<temp.Count;i++){My_Sort(refNET[temp[i]]);}}privatevoidMy_Sort(refList<EDGE>list){EDGEd=newEDGE();for(inti=0;i<list.Count-1;i++){for(intj=i+1;j<list.Count;j++)//瞎!for(intj=i+1;i<list.Count;i++){if(list[j]<list[i])AET.RemoveAll(IsEdgeOutOfActive);}privateboolIsEdgeOutOfActive(EDGEobj){returnline==obj.ymax;}///<summary>///更新邊表中每項(xiàng)的xi值,就是根據(jù)掃描線的連貫性用dx對(duì)其進(jìn)行修正,///并且根據(jù)xi從小到大的原則對(duì)更新后的aet表重新排序///</summary>///<paramname="AET"></param>privatevoidUpdateAndResortAet(refList<EDGE>AET){
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2013建設(shè)合同范例填寫
- 兼職擔(dān)保合同范本
- 公轉(zhuǎn)私勞務(wù)合同范本
- 加工技術(shù)服務(wù)合同范本
- 臨時(shí)借調(diào)人員合同范本
- 出租山合同范本
- 2025年飛標(biāo)機(jī)項(xiàng)目投資可行性研究分析報(bào)告
- 供瓦合同范本
- 2025年度國(guó)際廣告代理合同標(biāo)準(zhǔn)
- 制作門合同范本
- 2023外貿(mào)業(yè)務(wù)協(xié)調(diào)期中試卷
- GB/T 16475-1996變形鋁及鋁合金狀態(tài)代號(hào)
- GB 4706.20-2004家用和類似用途電器的安全滾筒式干衣機(jī)的特殊要求
- 無(wú)紙化會(huì)議系統(tǒng)解決方案
- 佛教空性與緣起課件
- 上海鐵路局勞動(dòng)安全“八防”考試題庫(kù)(含答案)
- 《愿望的實(shí)現(xiàn)》教學(xué)設(shè)計(jì)
- 效率提升和品質(zhì)改善方案
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 義務(wù)教育學(xué)科作業(yè)設(shè)計(jì)與管理指南
- 《汽車發(fā)展史》PPT課件(PPT 75頁(yè))
評(píng)論
0/150
提交評(píng)論