版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 確定哪些像素能構(gòu)成所確定哪些像素能構(gòu)成所 需圖形的過程稱為圖形需圖形的過程稱為圖形 的光柵化的光柵化(也稱光柵圖也稱光柵圖 形生成算法形生成算法),或稱為,或稱為 圖形的掃描轉(zhuǎn)換。圖形的掃描轉(zhuǎn)換。 普通公式普通公式: 要畫的線段為要畫的線段為OA,畫筆的當(dāng)前的,畫筆的當(dāng)前的 位置為位置為M。 以以O(shè)M, OA的斜率的大小來計(jì)的斜率的大小來計(jì) 算偏向。算偏向。d=tg-tg=ym/xm-ya/xa=(ym*xa- ya*xm)/xm*xa; 1偏向計(jì)算以第一象限為例偏向計(jì)算以第一象限為例 當(dāng)d=0時(shí),表示筆在OA線段的上方, 應(yīng)該走+x一步。 只判別d的正負(fù), 不論大小,第一象限xm,xa均為
2、正。 第一象限偏向的判別公式: Fm=ym*xa-ya*xm 遞推公式遞推公式:上述公式要計(jì)算兩次乘法上述公式要計(jì)算兩次乘法, 設(shè)法用設(shè)法用 前一點(diǎn)的偏向來推算走步的方向以及走步后前一點(diǎn)的偏向來推算走步的方向以及走步后 的偏向的偏向. 1偏向計(jì)算偏向計(jì)算 筆的當(dāng)前位置為筆的當(dāng)前位置為Mi(xi,yi),此時(shí)此時(shí)Fi=yixa-yaxi. 假設(shè)假設(shè)Fi=0,應(yīng)走應(yīng)走+x一步到一步到Mi+1,即即:xi+1=xi+1,yi+1=yi; Mi+1處的偏向處的偏向Fi+1=yi+1xa-yaxi+1=yixa-yaxi -ya= Fi -ya; 假設(shè) Fi=0 那么走+x一步,此時(shí)Fi+1=Fi- y
3、a; 假設(shè) Fi0 那么走+y一步,此時(shí) Fi+1=Fi+xa; 設(shè)步距為t, 直線在x,y方向的增量分別為x 和y.按上述運(yùn)算方法,繪圖筆從直線的起點(diǎn)畫 到終點(diǎn),在x方向應(yīng)走| x/ t|步,在y方向應(yīng)走| y/ t|步.取n= | x/ t|+ | y/ t|作為終點(diǎn) 判別的控制數(shù),并將此數(shù)存入計(jì)數(shù)器內(nèi). 在x或y 方向上每走一步計(jì)數(shù)器減1,當(dāng)計(jì)數(shù)器減到零時(shí), 作圖停頓. 2終點(diǎn)判別終點(diǎn)判別 根本原理:沿某一計(jì)長(zhǎng)方向上,每次變化一個(gè)單 位步長(zhǎng),另一方向上的變化量經(jīng)過計(jì)算獲得。這 種方法在計(jì)算判別式時(shí),計(jì)算量很小,生成的直 線光滑,因此運(yùn)用廣泛。 假設(shè)直線的斜率在01之間,k=y/ x,x的
4、變 化率比y的變化率大,商定每次x方向變化一個(gè)像 素單位,相應(yīng)y方向的變化量為0或1個(gè)像素單位。 P(xi,yi) S(xi+1,yi) T(xi+1,yi+1) s t s t P(xi,yi)S(xi+1,yi) T(xi+1,yi+1) , 且:且:pk+1= pk+2y; 否那么,下一個(gè)待畫點(diǎn)否那么,下一個(gè)待畫點(diǎn)(xk+1, yk+1), 且:且:pk+1=pk + 2y-2x 。 k=k+1; 反復(fù)步驟反復(fù)步驟4,共,共x次。次。 像素生成過程 屏幕顯示過程 該算法僅涉及整數(shù)加法運(yùn)算和乘該算法僅涉及整數(shù)加法運(yùn)算和乘2(左移左移)操操 作,運(yùn)算效率高,易于硬件實(shí)現(xiàn)。作,運(yùn)算效率高,易于
5、硬件實(shí)現(xiàn)。 與逐點(diǎn)比較法相比,生成的直線光滑。與逐點(diǎn)比較法相比,生成的直線光滑。 假設(shè)將該算法的范圍擴(kuò)展到整個(gè)平面,相應(yīng)假設(shè)將該算法的范圍擴(kuò)展到整個(gè)平面,相應(yīng) 的的d增量式及其初始值增量式及其初始值,以及下一像素位置的取法以及下一像素位置的取法 道理類似,請(qǐng)思索!道理類似,請(qǐng)思索! 八分圓中的位置可由對(duì)稱性得到。 的像素(低像素)。 xk xk+1 xk+2 yk-1 yk x2+y2 r2=0 沿沿圓圓路路徑徑取取樣樣位位置置 xk+1處處候候選選像像素素間間的的中中點(diǎn)點(diǎn) yk+1 xk xk+1 xk+2 yk-1 yk x2+y2 r2=0 yk+1 兩兩候候選選像像素素的的中中點(diǎn)點(diǎn) P
6、2(5,1) P1(2,2) P3(11,3) P4(11,8) P6(2,7) P5(5,5) u例如,y=6的掃描線與多邊形有四個(gè)交點(diǎn), 顯然,第1與第2、第3與第4間的區(qū)域落在多 邊形內(nèi),這些區(qū)間的像素填充預(yù)期的顏色。 P2(5,1) P1(2,2) P3(11,3) P4(11,8) P6(2,7) P5(5,5) (1)求交:計(jì)算掃描線與 多邊形每個(gè)邊的交點(diǎn)。 (2)排序:把所求出的交 點(diǎn)按x遞增的順序排序。 (3)交點(diǎn)配對(duì):第一與第二,第三與第四等等, 每對(duì)交點(diǎn)代表掃描線與多邊形的一個(gè)相交區(qū)域。 (4)區(qū)間填色:把相交區(qū)域內(nèi)的像素設(shè)置成多邊 形的顏色,把相交區(qū)域外的像素設(shè)置成背風(fēng)光
7、。 處理兩個(gè)特殊問題處理兩個(gè)特殊問題 掃描線與多邊形的頂點(diǎn) 相交,交點(diǎn)的取舍。 P2(5,1) P1(2,2) P3(11, 3) P4(11, 8) P6(2,7) P5(5,5) 多邊形邊境上的像素的 取舍問題。 處理兩個(gè)特殊問題處理兩個(gè)特殊問題 掃描線與多邊形的頂點(diǎn) 相交,交點(diǎn)的取舍。 P2(5,1) P1(2,2) P3(11, 3) P4(11, 8) P6(2,7) P5(5,5) 多邊形邊境上的像素的 取舍問題。 區(qū)域分四連通區(qū)域和八連通區(qū)域區(qū)域分四連通區(qū)域和八連通區(qū)域: 起始點(diǎn)起始點(diǎn) 4連通區(qū)域邊境連通區(qū)域邊境8連通區(qū)域邊境連通區(qū)域邊境 Boundary-fill-4(x,y,
8、newcolor,boundarycolor) int x,y,newcolor,boundarycolor; int testcolor; testcolor=getpixel(x,y); if(testcolor!=boundarycolor) boundary-fill-4(x,y+1,newcolor,boundarycolor); boundary-fill-4(x,y-1,newcolor,boundarycolor); boundary-fill-4(x+1,y,newcolor,boundarycolor); boundary-fill-4(x-1,y,newcolor,bou
9、ndarycolor); uTurbo C中由函數(shù)中由函數(shù)Setfillstyle(int pattern,int color)設(shè)置填充方式和填充顏色。設(shè)置填充方式和填充顏色。 upattern定義填充方式類型定義填充方式類型 uEmpty_Fill以背風(fēng)光填充以背風(fēng)光填充 uSolid_Fill以某一單色填充以某一單色填充 uXhatch_Fill以斜網(wǎng)格填充以斜網(wǎng)格填充 u填充函數(shù):矩形填充函數(shù):矩形bar( ),多邊形多邊形fillpoly( )等。等。 1111000 0010100 0010100 0011001 0010000 0010000 0010000 0011001 000
10、0000 u實(shí)踐的矢量字符的存儲(chǔ)構(gòu)造要加上一些 管理信息和字型信息等。 (63,63) P0 P5P4 P1 P2 P3 x 0 0 0 0 1 字符的編碼字符的編碼 y 0 -1 1 1 x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 x 5 y 5 不連線不連線 連線連線 字符終了標(biāo)志字符終了標(biāo)志 (63,63) P0 P5P4 P1 P2 P3 x 0 0 0 0 1 字符的編碼 y 0 -1 1 1 x 1 y 1 x 2 y 2 x 3 y 3 x 4 y 4 x 5 y 5 不連線 連線 字符終了標(biāo)志 u矢量字符占用空間小、美觀、變換方便等優(yōu)點(diǎn)得到越來越廣 泛的運(yùn)用
11、,特別是在排版、軟件和工程圖軟件中它幾乎曾經(jīng) 完全取代了點(diǎn)陣字符。 字符的顯示字符的顯示 圖形規(guī)范或普通的軟件系統(tǒng)通常都圖形規(guī)范或普通的軟件系統(tǒng)通常都 用各自一致的函數(shù)提供字符顯示,且可用各自一致的函數(shù)提供字符顯示,且可 經(jīng)過參數(shù)選擇來控制字符的字體、大小經(jīng)過參數(shù)選擇來控制字符的字體、大小 、顏色、方向等屬性。、顏色、方向等屬性。 例如例如, ,在在Turbo CTurbo C圖形方式下,用函圖形方式下,用函 數(shù)數(shù) Settextstyle(font,direction,charsiSettextstyle(font,direction,charsi ze)ze)設(shè)置文本的字體、方向及大??;調(diào)用設(shè)置文本的字體、方向及大小;調(diào)用 函數(shù)函數(shù)Outtext(Outtext(* * textstring) textstring)或或 Outtextxy(x,y,Outtextxy(x,y,* *textstring)textstring)在屏幕上在屏幕上 以當(dāng)前前風(fēng)光在當(dāng)前位置或指定的以當(dāng)前前風(fēng)光在當(dāng)前位置或指定的(x,y)(x,y) 位置顯示字符串位置顯示字符串textstringtextstring所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年齒輪箱維修技師安全操作規(guī)程考核題庫(kù)含答案
- 電纜溝開挖專項(xiàng)施工方案
- 幼兒園副園長(zhǎng)工作總結(jié)與提升方案
- 建筑工地?fù)P塵治理方案總結(jié)
- 水下作業(yè)施工安全技術(shù)方案范例
- 暖通空調(diào)系統(tǒng)節(jié)能改造方案
- 企業(yè)危機(jī)公關(guān)應(yīng)對(duì)方案詳解
- 2026年山東外貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)參考答案詳解
- 2026年湖南財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫(kù)及答案詳解一套
- 2026年甘肅有色冶金職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)參考答案詳解
- 觀光車景區(qū)運(yùn)營(yíng)管理辦法
- 福祿貝爾教學(xué)課件
- 《產(chǎn)科危急重癥早期識(shí)別中國(guó)專家共識(shí)(2024年版)》解讀
- 綠色建筑自評(píng)估報(bào)告參考樣式
- 涉密文件解密管理制度
- 巡特警(輔警)政審表
- 醫(yī)用耗材知識(shí)培訓(xùn)課件
- 《竹木復(fù)合集裝箱底板》(T-CSF 009-2019)
- 婚介協(xié)議書模板
- 成人學(xué)歷銷售培訓(xùn)課件
- 民主測(cè)評(píng)及征求意見表
評(píng)論
0/150
提交評(píng)論