freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

光柵圖形的轉(zhuǎn)換與區(qū)域填充-展示頁

2025-05-25 16:41本頁面
  

【正文】 左邊之上,向右取整 (b)交點(diǎn)位于右邊之上,向左取整 掃描線算法 規(guī)則 2: 邊界上象素的取舍問題,避免填充擴(kuò)大化。 P0 P1 P2 v 逐點(diǎn)判斷法 ? 逐點(diǎn)判斷的算法雖然程序簡(jiǎn)單,但不可取。 // 多邊形頂點(diǎn)個(gè)數(shù) Point vertexces[MAX] //多邊形頂點(diǎn)數(shù)組 } Polygon // 多邊形結(jié)構(gòu) 逐點(diǎn)判斷法 ? 逐個(gè)判斷繪圖窗口內(nèi)的像素 ? 如何判斷點(diǎn)在多邊形的內(nèi)外關(guān)系? 1)射線法; 2)累計(jì)角度法; 3)編碼法; 逐點(diǎn)判斷法 1)射線法 ? 步驟: 1. 從待判別點(diǎn) v發(fā)出射線 2. 求交點(diǎn)個(gè)數(shù) k 3. K的奇偶性決定了點(diǎn)與多邊形的內(nèi)外關(guān)系 逐點(diǎn)判斷法 2)累計(jì)角度法 ? 步驟 1. 從 v點(diǎn)向多邊形 P頂點(diǎn)發(fā)出射線,形成有向角 2. 計(jì)算有向角的和(逆時(shí)針為正,順時(shí)針為負(fù)) ? 預(yù)處理 ??????? 之內(nèi)位于之外位于,PvPvnii ,200 ??i?逐點(diǎn)判斷法 ?? ?i3)編碼方法:累計(jì)角度方法的離散方法(略) Step: ,測(cè)試點(diǎn)在邊上否? ,對(duì)象限按逆 時(shí)針(或順時(shí)針)編碼; Ipi, 。 else PutPixel(x,y,backgroundColor)。x = xmax。y = ymax。 void FillPolygonPbyP(Polygon *P,int polygonColor) { int x,y。 掃描轉(zhuǎn)換多邊形 多邊形的掃描轉(zhuǎn)換 ?多邊形的掃描轉(zhuǎn)換 : 把多邊形的頂點(diǎn)表示轉(zhuǎn)換為點(diǎn)陣表示,也就是從多邊形的給定邊界出發(fā),求出位于其內(nèi)部的各個(gè)象素,并給幀緩沖器內(nèi)的各個(gè)對(duì)應(yīng)元素設(shè)置相應(yīng)的灰度和顏色,通常稱這種轉(zhuǎn)換為多邊形的掃描轉(zhuǎn)換。 ?點(diǎn)陣表示 :用位于多邊形內(nèi)的象素的集合來刻劃多邊形。 }/*end of FillRectangle() */ 掃描轉(zhuǎn)換矩形 掃描轉(zhuǎn)換多邊形 凸多邊形 凹多邊形 含內(nèi)環(huán)的多邊形 ?多邊形的表示方法 ?頂點(diǎn)表示 ?點(diǎn)陣表示 ?頂點(diǎn)表示 :用多邊形頂點(diǎn)的序列來刻劃多邊形。x = rectxmax。y = rectymax。 ?共享邊界如何處理? ? 原則 :左閉右開,下閉上開 屬于誰? 方法: void FillRectangle(Rectangle *rect,int color) { int x,y。第四章 光柵圖形的掃描轉(zhuǎn)換與區(qū)域填充 ?掃描轉(zhuǎn)換矩形 ?掃描轉(zhuǎn)換多邊形 ?區(qū)域填充 掃描轉(zhuǎn)換矩形 ? 問題: ?矩形是簡(jiǎn)單的多邊形,那么為什么要單獨(dú)處理矩形? ? 比一般多邊形可簡(jiǎn)化計(jì)算。 ? 應(yīng)用非常多 (窗口系統(tǒng) )。 for(y = rectymin。y++) for(x = rectxmin。x++) PutPixel(x,y,color)。直觀、幾何意義強(qiáng)、占內(nèi)存少;不能直接用于面著色。失去了許多重要的幾何信息;便于運(yùn)用幀緩沖存儲(chǔ)器表示圖形,易于面著色。 ?幾種方法 : 逐點(diǎn)判斷法;掃描線算法;邊緣填充法;柵欄填充法;邊界標(biāo)志法 。 for(y = ymin。y++) for(x = xmin。x++) if(IsInside(P,x,y)) PutPixel(x,y,polygonColor)。 }/*end of FillPolygonPbyP() */ define MAX 100 Typedef struct { int PolygonNum。 PiPi+1: △ PiPi+1=Ipi+1Ipi ∑ △ PiPi+1 (其中△ PnPn+1 = △ PnP0): 若 ∑ 為 0, V在 P外; 若 ∑ 為 +/4, V 在 P內(nèi); 逐點(diǎn)判斷法程序簡(jiǎn)單, 速度太慢,效率低。原因是速度太慢,主要是由于該算法割斷了各象素之間的聯(lián)系,孤立地考察各象素與多邊形的內(nèi)外關(guān)系,使得幾十萬甚至幾百萬個(gè)象素都要一一判別,每次判別又要多次求交點(diǎn),需要做大量的乘除運(yùn)算,花費(fèi)很多時(shí)間。 解決方法 : 邊界象素:規(guī)定落在右上邊界的象素不予填充。 解決方法 : 檢查兩相鄰邊在掃描線的哪一側(cè)。 掃描線算法 掃描線算法 ?特殊情況處理 ? 水平邊 :扔掉! ? 尖角:反混淆 掃描線算法是多邊形掃描轉(zhuǎn)換的常用算法。 開發(fā)和利用相鄰象素之間的連貫性是光柵圖形算法研
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1