計(jì)算機(jī)圖形學(xué)第四章_第1頁(yè)
計(jì)算機(jī)圖形學(xué)第四章_第2頁(yè)
計(jì)算機(jī)圖形學(xué)第四章_第3頁(yè)
計(jì)算機(jī)圖形學(xué)第四章_第4頁(yè)
計(jì)算機(jī)圖形學(xué)第四章_第5頁(yè)
已閱讀5頁(yè),還剩84頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章多邊形多邊形:(定義)限定為有封閉折線邊界且無(wú)交叉邊的平面圖形多邊形分類(lèi):凸多邊形、凹多邊形2023年2月6日計(jì)算機(jī)圖形學(xué)40字符處理ASCII碼:“美國(guó)信息交換用標(biāo)準(zhǔn)代碼集”(AmericanStandardCodeforInformationInterchange),簡(jiǎn)稱ASCI碼。國(guó)標(biāo)碼:“中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)信息交換編碼,簡(jiǎn)稱為國(guó)標(biāo)碼,代號(hào)GB2312-80。字庫(kù):字庫(kù)中儲(chǔ)存了每個(gè)字符的圖形信息。矢量字庫(kù)和點(diǎn)陣字庫(kù)2023年2月6日計(jì)算機(jī)圖形學(xué)41國(guó)標(biāo)碼:6763個(gè)漢字,一級(jí)3755個(gè),二級(jí)3008個(gè),682個(gè)圖形符號(hào),所有漢字和圖形符號(hào)組成94×94矩陣,每行為“區(qū)”,每列為“位”,區(qū)碼位碼各用一個(gè)字節(jié)表示。最高位為1表示國(guó)標(biāo)碼。2023年2月6日計(jì)算機(jī)圖形學(xué)423.5.1字符的屬性字體、字形、字號(hào)、字間距、行間距等等。 一般字體確定風(fēng)格,字形確定外觀,字號(hào)確定尺寸。2023年2月6日計(jì)算機(jī)圖形學(xué)43字符串的屬性文本高度、文本寬度(擴(kuò)展/壓縮因子)、字符方向、文本路徑方向、對(duì)齊方式(左對(duì)齊,中心對(duì)齊,或右對(duì)齊,指定起始、終止點(diǎn))、文本字體、字符的顏色屬性等。反繪(從右到左)、倒繪(旋轉(zhuǎn)180°)、寫(xiě)方式(替換或與方式)等。2023年2月6日計(jì)算機(jī)圖形學(xué)44字符的表達(dá)和生成型式點(diǎn)陣式矢量式編碼式輪廓技術(shù)2023年2月6日計(jì)算機(jī)圖形學(xué)45點(diǎn)陣字符在點(diǎn)陣表示中,每個(gè)字符由一個(gè)點(diǎn)陣位圖來(lái)表示顯示時(shí):形成字符的象素圖案常用的點(diǎn)陣大小有5×7、7×9、8×8、16×16等等

字符A的點(diǎn)陣表示111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(a)字符A的點(diǎn)陣位圖(a)字符A的象素圖案2023年2月6日計(jì)算機(jī)圖形學(xué)46矢量字符矢量字符采用直線和曲線段來(lái)描述字符形狀,矢量字符庫(kù)中記錄的是筆劃信息。顯示時(shí):解釋字符的每個(gè)筆劃信息2023年2月6日計(jì)算機(jī)圖形學(xué)47如B字符,由定點(diǎn)a,b,c,d,e,f,g,h,I,j,k,l表示,調(diào)用矢量字符過(guò)程相當(dāng)于輸出一個(gè)polyline,2023年2月6日計(jì)算機(jī)圖形學(xué)48方向編碼式方向編碼式字符用有限的若干種方向編碼來(lái)表達(dá)一個(gè)字符,常用的如8方向編碼2023年2月6日計(jì)算機(jī)圖形學(xué)49“B”表示為8方向編碼:{000012344400012344440666666}2023年2月6日計(jì)算機(jī)圖形學(xué)50輪廓技術(shù)當(dāng)對(duì)輸出字符的要求較高時(shí)(如排版印刷),需要使用高質(zhì)量的點(diǎn)陣字符。對(duì)于GB2312-80所規(guī)定的6763個(gè)基本漢字,假設(shè)每個(gè)漢字是72X72點(diǎn)陣,那么一個(gè)字庫(kù)就需要72X72X6763/8=4.4兆字節(jié)存儲(chǔ)空間在實(shí)際使用時(shí),還需要多種字體(如基本體、宋體、仿宋體、黑體、楷體等),每種字體又需要多種字號(hào)。2023年2月6日計(jì)算機(jī)圖形學(xué)51解決這個(gè)問(wèn)題一般采用壓縮技術(shù)。對(duì)字型數(shù)據(jù)壓縮后再存儲(chǔ),使用時(shí),將壓縮的數(shù)據(jù)還原為字符位圖點(diǎn)陣2023年2月6日計(jì)算機(jī)圖形學(xué)52壓縮方法有多種:最簡(jiǎn)單的有黑白段壓縮法,這種方法簡(jiǎn)單,還原快,不失真,但壓縮較差,使用起來(lái)也不方便,一般用于低級(jí)的文字處理系統(tǒng)中。另一種方法是部件壓縮法。這種方法壓縮比大,缺點(diǎn)是字型質(zhì)量不能保證。三是輪廓字型法,這種方法壓縮比大,且能保證字符質(zhì)量,是當(dāng)今國(guó)際上最流行的一種方法,基本上也被認(rèn)為是符合工業(yè)標(biāo)準(zhǔn)化的方法。2023年2月6日計(jì)算機(jī)圖形學(xué)53輪廓字型法采用直線、或者二/三次Bezier曲線的集合來(lái)描述一個(gè)字符的輪廓線。輪廓線構(gòu)成一個(gè)或若干個(gè)封閉的平面區(qū)域。采用適當(dāng)?shù)膮^(qū)域填充算法,可以從字符的輪廓線定義產(chǎn)生的字符位圖點(diǎn)陣,區(qū)域填充算法可以用硬件實(shí)現(xiàn),也可以用軟件實(shí)現(xiàn)。2023年2月6日計(jì)算機(jī)圖形學(xué)54由美國(guó)Apple和Microsoft公司聯(lián)合開(kāi)發(fā)的TrueType字型技術(shù)就是一種輪廓字型技術(shù),已被用于為Windows中文版生成漢字字庫(kù)。當(dāng)前占領(lǐng)主要的電子印刷市場(chǎng)的我國(guó)北大方正和華光電子印刷系統(tǒng),用的字型技術(shù)是漢字字型輪廓矢量法。2023年2月6日計(jì)算機(jī)圖形學(xué)55屬性處理(線形線寬處理)線型和線寬1.線型處理實(shí)心段和中間空白段的長(zhǎng)度(象素?cái)?shù)目)可用象素模板(pixelmask)指定。存在問(wèn)題:如何保持任何方向的劃線長(zhǎng)度近似地相等2023年2月6日計(jì)算機(jī)圖形學(xué)56解決可根據(jù)線的斜率來(lái)調(diào)整實(shí)心段和中間空白段的象素?cái)?shù)目。2023年2月6日計(jì)算機(jī)圖形學(xué)57直線線寬處理方法刷子法:線刷子;方形刷子區(qū)域填充法2023年2月6日計(jì)算機(jī)圖形學(xué)58線刷子和方刷子處理線寬線刷子:垂直刷子、水平刷子

線刷子(a)(b)2023年2月6日計(jì)算機(jī)圖形學(xué)59特點(diǎn)實(shí)現(xiàn)簡(jiǎn)單、效率高。斜線與水平(或垂直)線不一樣粗。當(dāng)線寬為偶數(shù)個(gè)象素時(shí),線的中心將偏移半個(gè)象素。利用線刷子生成線的始末端總是水平或垂直的,看起來(lái)不太自然。解決:添加“線帽(linecap)”2023年2月6日計(jì)算機(jī)圖形學(xué)60

線“帽子”(a)方帽(c)圓帽(b)突方帽2023年2月6日計(jì)算機(jī)圖形學(xué)61當(dāng)比較接近水平的線與比較接近垂直的線匯合時(shí),匯合處外角將有缺口

線刷子產(chǎn)生的缺口2023年2月6日計(jì)算機(jī)圖形學(xué)62解決:斜角連接(miterjoin)、圓連接(roundjoin)、斜切連接(beveljoin)

線刷子產(chǎn)生的缺口(a)斜角連接(b)圓連接(c)斜切連接2023年2月6日計(jì)算機(jī)圖形學(xué)63方刷子特點(diǎn):方刷子繪制的線條(斜線)比用線刷子所繪制的線條要粗一些方刷子繪制的斜線與水平(或垂直)線不一樣粗方刷子繪制的線條自然地帶有一個(gè)“方線帽”

方刷子2023年2月6日計(jì)算機(jī)圖形學(xué)64其它線寬處理方式區(qū)域填充改變刷子形狀:111101111111000(a)象素模板(b)用該模板進(jìn)行線寬處理

利用象素模板進(jìn)行線寬處理2023年2月6日計(jì)算機(jī)圖形學(xué)65曲線的線型和線寬線型:可采用象素模板的方法

利用模板110進(jìn)行圓的線型處理2023年2月6日計(jì)算機(jī)圖形學(xué)66線寬線刷子方刷子 要顯示一致的曲線寬度可通過(guò)旋轉(zhuǎn)刷子方向以使其在沿曲線移動(dòng)時(shí)與斜率方向一致,圓弧刷子采用填充的辦法。2023年2月6日計(jì)算機(jī)圖形學(xué)67區(qū)域填充屬性區(qū)域填充屬性選擇包括顏色、圖案和透明度。001010111(a)圖案模板位圖(b)用該模板進(jìn)行填充

利用圖案模板進(jìn)行三角形的填充模板圖案2023年2月6日計(jì)算機(jī)圖形學(xué)68根據(jù)圖案和透明度屬性來(lái)填充平面區(qū)域的基本思想首先用模板定義各種圖案。然后,修改填充的掃描轉(zhuǎn)換算法:在確定了區(qū)域內(nèi)一象素之后,不是馬上往該象素填色而是先查詢模板位圖的對(duì)應(yīng)位置。若是以透明方式填充圖案,則當(dāng)模板位圖的對(duì)應(yīng)位置為1時(shí),用前景色寫(xiě)象素,否則,不改變?cè)撓笏氐闹?。若是以不透明方式填充圖案,則視模板位圖對(duì)應(yīng)位置為1或0來(lái)決定是用前景色還是背景色去寫(xiě)象素。2023年2月6日計(jì)算機(jī)圖形學(xué)69確定區(qū)域與模板之間的位置關(guān)系(對(duì)齊方式)一種對(duì)齊方式是把有模板原點(diǎn)與填充區(qū)域邊界或內(nèi)部的某點(diǎn)對(duì)齊一種對(duì)齊方式是把模板原點(diǎn)與填充區(qū)域外部的某點(diǎn)對(duì)齊70走樣現(xiàn)象走樣(aliasing)用離散量(像素)表示連續(xù)的量(圖形)而引起的失真,稱為走樣,或稱為混淆光柵圖形的走樣現(xiàn)象階梯(鋸齒)狀邊界圖形細(xì)節(jié)失真狹小圖形遺失:動(dòng)畫(huà)序列中時(shí)隱時(shí)現(xiàn),產(chǎn)生閃爍71(1)階梯狀的圖形邊界像素間距大線畫(huà)圖元填充圖元邊界實(shí)例72(2)圖形細(xì)節(jié)失真顯示圖形的最小單位為像素細(xì)長(zhǎng)的矩形顯示后成了加寬的矩形更細(xì)的矩形將丟失73(3)狹小圖形的遺失與動(dòng)態(tài)圖形的閃爍多邊形分布在像素間,不覆蓋像素中心,不被顯示狹小圖形運(yùn)動(dòng)時(shí),會(huì)間隔覆蓋像素的中心,產(chǎn)生閃爍74反走樣方法反走樣(antialiasing)在圖形顯示過(guò)程中,用于減少或消除走樣(混淆)現(xiàn)象的方法方法提高分辨率方法非加權(quán)區(qū)域采樣加權(quán)區(qū)域采樣75(1)提高分辨率的反走樣方法方法簡(jiǎn)單,但代價(jià)非常大顯示器的水平、豎直分辯率各提高一倍,則顯示器的點(diǎn)距減少一倍,幀緩存容量則增加到原來(lái)的4倍,而掃描轉(zhuǎn)換同樣大小的圖元卻要花4倍時(shí)間76(2)非加權(quán)區(qū)域采樣方法掃描轉(zhuǎn)換線段的兩點(diǎn)假設(shè)像素是數(shù)學(xué)上抽象的點(diǎn),它的面積為0,它的亮度由覆蓋該點(diǎn)的圖形的亮度所決定直線段是數(shù)學(xué)上抽象直線段,它的寬度為0現(xiàn)實(shí)像素的面積不為0;直線段的寬度至少為1個(gè)像素;假設(shè)與現(xiàn)實(shí)的矛盾是導(dǎo)致走樣出現(xiàn)的原因之一77解決方法:改變直線段模型,線上像素灰度不等方法步驟 1、將直線段看作具有一定寬度的狹長(zhǎng)矩形; 2、當(dāng)直線段與某像素有交時(shí),求出兩者相交區(qū)域的面積; 3、根據(jù)相交區(qū)域的面積,確定該像素的亮度值78方法性質(zhì)直線段對(duì)一個(gè)像素亮度的貢獻(xiàn)與兩者相交區(qū)域的面積成正比當(dāng)直線段和某個(gè)像素不相交時(shí),它對(duì)該像素的亮度無(wú)影響相同面積的相交區(qū)域?qū)ο袼氐牧炼蓉暙I(xiàn)相同,而與這個(gè)相交區(qū)域落在像素內(nèi)的位置無(wú)關(guān)關(guān)鍵:如何計(jì)算相交面積?79計(jì)算相交區(qū)域的面積(a)面積=D2/2k(b)面積=D–k/2像素實(shí)際顯示的灰度值=所得面積*該像素的最大灰度值D/kDDk假設(shè)線段斜率為k像素實(shí)際大小80求相交區(qū)域的近似面積的離散計(jì)算方法將屏幕像素分割成n個(gè)更小的子像素;計(jì)算中心點(diǎn)落在直線段內(nèi)的子像素的個(gè)數(shù),記為m,m/n為線段與像素相交區(qū)域面積的近似值例目的:簡(jiǎn)化計(jì)算

n=16,m=3近似面積

=3/1681存在的不足像素的顏色或灰度值與相交(覆蓋)區(qū)域的面積成正比,而與相交區(qū)域落在像素內(nèi)的位置無(wú)關(guān),仍會(huì)導(dǎo)致鋸齒效應(yīng)沿理想直線方向的相鄰兩個(gè)像素的顏色或灰度值會(huì)有較大差異82(3)加權(quán)區(qū)域采樣方法權(quán)函數(shù)w(x,y)以像素A的中心為原點(diǎn)建立二維坐標(biāo)系w(x,y)反應(yīng)了微面積元dA對(duì)整個(gè)像素亮度的貢獻(xiàn)大小,與dA到像素中心距離d成反比。高斯函數(shù)83權(quán)性位于(x,y)處的微面積元dA對(duì)像素的亮度的貢獻(xiàn)為

w(x,y)dA相交區(qū)域?qū)υ撓袼氐牧炼蓉暙I(xiàn)84實(shí)現(xiàn)步驟1.求直線段與像素的相交區(qū)域2.計(jì)算的值3.上面所得到的值介于0、1之間,用它乘像素的最大灰度值,即設(shè)該像素的顯示灰度。問(wèn)題:計(jì)算量大

特例:時(shí),加權(quán)區(qū)域采樣方法退化為非加權(quán)區(qū)域采樣方法85離散計(jì)算方法1.將屏幕像素均勻分割成m個(gè)子像素,則每個(gè)子像素的面積為計(jì)算每個(gè)子像素對(duì)原像素亮度的貢獻(xiàn),記為

將保存在一張加權(quán)表中2.求出所有中心落于直線段內(nèi)的子像素,記為3.計(jì)算所有這些子像素對(duì)原像素亮度貢獻(xiàn)之和。該值乘以像素的最大灰度值即為像素的顯示灰度值86w(x,y)是一個(gè)經(jīng)驗(yàn)函數(shù),對(duì)應(yīng)的也是經(jīng)驗(yàn)值w(x,y)可以用加權(quán)表M表示,取法有M=3×3M=5×587例加權(quán)表1個(gè)像素分解成3×3個(gè)子像素加權(quán)區(qū)域采樣:非加權(quán)區(qū)域采樣:s=3/988OpenGL函數(shù)函數(shù)啟動(dòng)反走樣:glEnable(),參數(shù)為GL_POINT、GL_LINE_SMOOTH或GL_POLYGON_SMOOTH質(zhì)量控制:glHint(GLenumtarget,GLenumhint),參數(shù)target為:GL_POINT_SMOOTH_HINT、GL_LINE_SMOOTH_HINT、GL_POLYGON_SMOOTH_HINT等參數(shù)hint為GL_FASTEST、GL_NICEST、GL_

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論