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

正文內(nèi)容

三維畫面鋸齒處理本科畢業(yè)論文-資料下載頁

2025-06-25 23:41本頁面

【導(dǎo)讀】人機(jī)交互來模擬、改造現(xiàn)實(shí)世界,這就是目前最為流行的虛擬現(xiàn)實(shí)技術(shù)。擬戰(zhàn)場進(jìn)行軍事推演,網(wǎng)民可以足不出戶游覽故宮博物館等名勝古跡等。技術(shù)最重要的一部分內(nèi)容就是三維圖形編程。值得一提的是,雖然微軟有自己的三維編程開發(fā)工具DirectX,但它。也提供OpenGL圖形標(biāo)準(zhǔn),因此,OpenGL可以在計(jì)算機(jī)中廣泛應(yīng)用。虛擬現(xiàn)實(shí)技術(shù)是計(jì)算機(jī)圖形學(xué)的一個(gè)分支。OpenGL是功能強(qiáng)大的開放式圖形庫。的三維圖形,并實(shí)現(xiàn)消鋸齒處理以增加物體的真實(shí)感。OpenGL成為目前三維圖形開發(fā)標(biāo)準(zhǔn)............錯(cuò)誤!

  

【正文】 ,記為 k; ( 3) k/n 為線段與像素相交區(qū)域的近似值; 19 圖 n=16, k=3,近似面積為 3/16 綜上所述,非加權(quán)區(qū)域采樣方法具有下面三條性質(zhì): ( 1)直線對一個(gè)像素亮度的貢獻(xiàn)與兩者相交區(qū)域的面積成正比,從而和直線與像素中心點(diǎn)的距離成反比。因?yàn)橹本€距像素中心越遠(yuǎn),相交區(qū)域的面積越小。 ( 2)當(dāng)直線和一個(gè)像素不相交時(shí),它對該像素的亮度沒有影響。 ( 3)相同面積的相交區(qū)域?qū)ο袼氐牧炼蓉暙I(xiàn)相同,而與這個(gè)相交區(qū)域落在像素內(nèi)什么位置無關(guān)。 2)加權(quán)區(qū)域取樣 簡單區(qū)域取樣由于相同面積重疊區(qū) 域?qū)ο袼氐呢暙I(xiàn)相同,但是這樣仍然會(huì)出現(xiàn)走樣現(xiàn)象,接下來介紹的加權(quán)區(qū)域取樣對此進(jìn)行了改善,使得相交區(qū)域?qū)ο袼亓炼鹊呢暙I(xiàn)依賴于該區(qū)域與像素中心的距離。對于相同面積的相交區(qū)域,當(dāng)它距離像素中心近時(shí),它對像素亮度的貢獻(xiàn)大,當(dāng)它距離像素中心遠(yuǎn)時(shí),對像素亮度貢獻(xiàn)小。這種方法更符合人的視覺系統(tǒng)對圖象信息的處理方式。 加權(quán)區(qū)域取樣的特點(diǎn):一是接近理想直線的像素將被分配更多的灰度值;二是相鄰兩個(gè)像素的濾波器相交,所以直線條經(jīng)過該相交區(qū)域時(shí),將對這兩個(gè)像素都分配給適當(dāng)?shù)幕叶戎?,這樣就縮小了直線條上相鄰像素的灰度差。 加 權(quán)區(qū)域取樣方法的具體步驟如下: ( 1)求直線段與過濾器底面的重疊區(qū)域 S’。 ( 2)計(jì)算 ?39。 ),(S dSyxf 的值,其中 f( x, y)是過濾函數(shù), S是過濾器的底面,且有 ?39。 ),(S dSyxf =1 。 ( 3)上面得到的值介于 0和 1 之間,用它乘以像素的最大灰度值,即得到該像素顯示灰度值。 求積分的運(yùn)算量是很大的,為了方便計(jì)算,可以利用加權(quán)區(qū)域取樣的離散計(jì)算方法: ( 1) 將屏幕像素均勻分割成 n 個(gè)子像素, {Si}in=1,則每個(gè)子像素的面積為 ndSiS /1?? ,計(jì)算每個(gè)子像素對原像素亮度的貢獻(xiàn), ?? iSi dSyxff ,),( 將 {fi}=1保存在加權(quán)表中。 ( 2)求出所有中心落在直線段內(nèi)的子像素的集合 F。 20 ( 3)計(jì)算所有這些子像素對原像素亮度的貢獻(xiàn)之和。該值乘以像素的最大灰度值即為像素的顯示灰度值。 根據(jù)上面的討論, fi是一個(gè)經(jīng)驗(yàn)值,因此我們可以根據(jù)經(jīng)驗(yàn)直接設(shè)定 fi的值。例如,我們將屏幕像素劃分為 n=3*3=9 個(gè)子像素,加權(quán)表可取作 3)簡單區(qū)域取樣算法的實(shí)現(xiàn) 有些反走樣方法把像 素當(dāng)作是數(shù)學(xué)上的一個(gè)點(diǎn),像素顏色是由對應(yīng)于像素中心的圖形中一點(diǎn)的顏色決定的;而區(qū)域取樣認(rèn)為像素不是一個(gè)點(diǎn),而是一個(gè)有面積的區(qū)域 ,因此我們在區(qū)域取樣時(shí)要計(jì)算直線段與像素相交區(qū)域的面積 ,然后根據(jù)相交區(qū)域面積來確定像素的亮度值。由于直線與像素相交的形式有三種,那么我們?nèi)绾蝸砼袛嘀本€與像素相交的形式呢? P 0 ( 1 , 1 )P 1 ( 9 , 7 )2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 . 5 2 . 5 3 . 5 4 . 5 5 . 5 6 . 5 7 . 5 8 . 57 . 56 . 55 . 54 . 53 . 52 . 51 . 5XYy lx ux ly 5 圖 區(qū)域取樣示意圖 如圖 所示,設(shè)直線段與某像素縱列相交區(qū)域下頂點(diǎn)的 y 坐標(biāo)為 yl, m為該直線的斜率, y5是掃描線 y+。如果 yl+my5,則 說明直線和像素的相交區(qū)域是由上中下三個(gè)相鄰像素中的兩個(gè)三角形和一個(gè)四邊形組成,否則相交區(qū)域是由上下兩個(gè)相鄰像素中的兩個(gè)梯形組成。然后計(jì)算出相交區(qū)域的面積就可以得到每個(gè)像素的亮度,從而達(dá)到反走樣直線,而且反走樣的效果也十分的好。 ?????????????????????121242121161987654321 21 WU 像素反走樣 1) WU反走樣 普通的 Breshenham 算法畫線很快 ,但并不是很精細(xì) .通常的整數(shù)畫線因?yàn)橹荒茉谡麛?shù)坐標(biāo)上繪圖 ,所以產(chǎn)生難看的鋸齒 .介紹的 WU 像素反走樣算法就采用了非整數(shù)坐標(biāo)改進(jìn)它 ,效果也十分的好。 一條經(jīng)過 wu 反走樣的直線要比一條普通的直線要好 ,產(chǎn)生光滑的邊界 ,。如圖 所示。 圖 普通直線和 WU 反走樣直線的對比 在 WU 反走樣算法中,有一個(gè)重要的概念就是 WU像素。 WU 像素具有兩個(gè)屬性: 繪制的所有像素的亮度的總和等于原始的粒子的亮度。 WU 像素的中心亮度被定位在原始粒子的非整數(shù)位置。 根據(jù) WU 像素的這兩個(gè)屬性我們就可以實(shí)現(xiàn) WU反走樣直線。 2) WU 反走樣直線算法 理想的 反走樣算法將計(jì)算每條線覆蓋的精確區(qū)域,從區(qū)域可以得到像素的灰度值,從而達(dá)到反走樣的效果。 WU 反走樣直線不是這樣做,而是跨騎著直線繪制一對像素。一個(gè)主循環(huán)將沿著直線的長度畫一對像素 ,端點(diǎn)的像素對將被分別計(jì)算處理,如圖 所示。 圖 跨騎著直線的像素對 圖 亮度設(shè)置 跨騎直線的像素對中,兩個(gè)像素的亮度應(yīng)該都是 1,中心點(diǎn)的亮度就是理想直線的亮度。直線上的像素的亮度必須于 (1a)成比例 ,線下面的像素的亮度必須 22 與 (1b)成比例。也就是說越靠近直線的像素應(yīng)該越亮。沿著直線長度畫這樣的像素對 ,就可以得到一條 WU 反走樣直線。 在畫完了中間端點(diǎn)后,我們要畫起始端點(diǎn)和終結(jié)端點(diǎn),如圖 所示??梢钥吹街本€的一個(gè) 端點(diǎn) ,用紅色的點(diǎn)來表示,藍(lán)色的點(diǎn)表示像素的中心點(diǎn)。你可以看到 ,頂點(diǎn)不在像素的中心點(diǎn)上,那么如何計(jì)算直線端點(diǎn)的兩個(gè)像素的正確亮度呢?方法就是把直線延長 (向后或向前 )到最近的整數(shù) x坐標(biāo) (p),像計(jì)算直線上普通的像素對的亮度一樣計(jì)算這些像素對。然后 ,因?yàn)橹本€只是覆蓋這個(gè)像素的很小一部分 xgap,直線將降低它的亮度,所以亮度應(yīng)該乘上 xgap。因此 ,當(dāng)整條直線向右移動(dòng) , xgap 將變小 ,使得這個(gè)像素對平滑的變暗,按照這個(gè)方法可以畫出兩個(gè)端點(diǎn)。 上面講的是 abs(xd)abs(yd)的情況,其實(shí) abs(xd)abs(yd)和它類似只需要改變 x 和 y的位置即可。 WU反走樣算法思路清晰,速度也比較快,而且采用了像素的灰度處理,在反走樣兩像素寬度的直線效果上還好,因此在計(jì)算機(jī)圖形學(xué)中得到了廣泛應(yīng)用。 23 4 反走樣算法改進(jìn) 多段直線反走樣算法 概述 直線是最基本的圖形元素,是構(gòu)成復(fù)雜圖形的基礎(chǔ),人們在設(shè)計(jì)和改進(jìn)直線生成算法方面已經(jīng)進(jìn)行了較深的研究。其中 Bresenham 算法是最著名的,它在繪制線段的過程當(dāng)中只涉及整數(shù)的加法和符號的判斷,是一種簡單、高效的算法。但 不管是 Bresenham 算法還是別的直線生成算法都會(huì)使直線產(chǎn)生鋸齒狀邊界。在第二章已經(jīng)介紹并實(shí)現(xiàn)了幾種反走樣算法 ,但是它們都需要對直線上的每一個(gè)像素進(jìn)行反走樣處理,我們研究的多段反走樣直線算法利用直線段像素可能存在的多段相似性,大大提高反走樣速度,節(jié)省了反走樣時(shí)間。 算法的設(shè)計(jì)思想 設(shè)平面直線 l 的方程為 y=kx+b,根據(jù)斜率為 k 的取值范圍,可將平面直線分為 5類: ( 1) 0〈 k〈 1;( 2) 1〈 k〈 ?;( 3) ?〈 k〈 1; ( 4) 1〈 k〈 0;( 5) k=0, |k|=1, |k|=?; 根據(jù)數(shù)字圖形的特點(diǎn),對第( 5)類直線不必反走樣掃描轉(zhuǎn)換就可簡單地生成直線。而對第( 2),( 3),( 4)類直線,只要在反走樣掃描轉(zhuǎn)換時(shí)通過簡單地交換 x和 y,或改變其增量的符號就可變換到第( 1)類的反走樣直線。 設(shè) x0, y0, xn, yn為整數(shù),不妨設(shè) x0〈 xn, y0〈 yn,對于以( x0, y0)和( xn,yn)為端點(diǎn)的直線段 l,記 dy=yn y0, dx= xnx0,則斜率 k=dxdy ,因?yàn)?0〈 k〈 0,所以 0〈 dy〈 dx。記 m 為 dy, dx 的最大公約數(shù),即 m=gdc( dx, dy),則存在互質(zhì)的正整數(shù) p和 q,使得 k=dxdy =pqpm qm ???, 0〈 q〈 p。 例如,如圖 所示,( x0, y0) =( 0, 0),( xn, yn) =( 15, 12), m=gdc( 15,12) =3, p=5, q=4。 設(shè)計(jì)思想 1 反走樣直線段 l 掃描轉(zhuǎn)換生成的像素序列 {( xi, yi) |i=0, 1, 2,?, n}可被劃分成具有相同形狀的 m 個(gè)片段: l1, l2,?, lm加終點(diǎn)像素,每個(gè)片段含p 個(gè)像素,每個(gè)片段的第一個(gè)像素精確地落在 l 上,且在整個(gè)像素序列中有且僅有 m+1 個(gè)像素精確地落在 l 上(如圖 所示)。 24 5 1 0 1 551 01 5 圖 分段掃描示意圖 設(shè)計(jì)思想 2 若反走樣直線段 l掃描轉(zhuǎn)換生成的像素序列為 {( xi, yi) |i=0, 1, 2,?,n},則該序列的 y 坐標(biāo)值關(guān)于線段 l 的中點(diǎn)對稱 ,即 yni=ynyi+y0(i=0,1,2,?,[n/2])。 計(jì)算效率分析 本算法需要通過計(jì)算獲取的掃描轉(zhuǎn)換像素個(gè)數(shù)最多為 dx 的一半:若 m1,則僅需計(jì)算 dx/m 個(gè)像素后就會(huì)出現(xiàn) dk=0;若計(jì)算達(dá)到 dx 的一半時(shí)仍未遇到精確落在直線上的像素,則由性質(zhì) 1 可知 m=1,從而利用性質(zhì) 2 進(jìn)行對稱復(fù)制。這樣的話比普通的反走樣直線算法明顯具有優(yōu)勢 ,速度提高了很多。 圓反走樣算法 算法思想 圓反走樣算法只需考慮圓心位于坐標(biāo)原點(diǎn)的圓弧反走樣,對于圓心為任意點(diǎn)的圓弧,可以先將其平移到原點(diǎn),然后反走樣,再平移到原來的位置上。圓心位于原點(diǎn)的圓有四 條對稱軸 x=0, y=0, x=y, x=y,如圖 所示。因此只要知道圓弧上的一點(diǎn)( x, y)就可以得到它的七個(gè)對稱點(diǎn),也稱為圓的八對稱性。因此我們只要反走樣八分之一圓弧其余的都可以對稱得到反走樣。 圓的每一個(gè)八分之一圓弧都是由一段段的水平線段組成,因此圓弧反走樣的問題就是反走樣一段段小的水平線段的問題。 圖 圓的八對稱性 25 算法 算法首先分析圓的特殊性,也就是圓具有八對稱性,在畫圓的同時(shí)進(jìn)行反走樣 ??傊惴ǔ浞掷脠A的八對稱性,以加權(quán)過取樣算法基礎(chǔ) 下圖 是圓反走樣算法的部分效果實(shí)現(xiàn)圖: 圖 圓反走樣效果 本課題采用的反走樣技術(shù) —— 累積緩沖區(qū)實(shí)現(xiàn)反走樣 原理概述 累積緩沖區(qū)的一個(gè)應(yīng)用就是全屏消除鋸齒功能?;静呗允窃趲讉€(gè)不同的方向上抖動(dòng)半個(gè)像素, 這樣就可以使對象的邊緣部分出現(xiàn)模糊效果,而其實(shí)體區(qū)卻沒有變化。課題所涉及 Redraw 函數(shù)的核心部分是累積循環(huán): Int i。 GLfloat right, left, range。 GLfloat jitter [4][2] = { { , }, { , }, { , }, { , } } 。 range = right left。 for (i = 0。 i 4。 i ++) { /* Clear the color and depth buffers... */ glClearColor(, , , )。 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)。 26 /* Draw the objects */ glPushMatrix()。 glTranslatef(jitter[i][0] * range / Width, jitter[i][1] * range / Height, )。 glRotatef(, , , )。 glPushMatrix()。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1