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

正文內(nèi)容

三維畫面鋸齒處理本科畢業(yè)論文(參考版)

2025-06-30 23:41本頁面
  

【正文】 。 glRotatef(, , , )。 26 /* Draw the objects */ glPushMatrix()。 i ++) { /* Clear the color and depth buffers... */ glClearColor(, , , )。 for (i = 0。 GLfloat jitter [4][2] = { { , }, { , }, { , }, { , } } 。課題所涉及 Redraw 函數(shù)的核心部分是累積循環(huán): Int i??傊惴ǔ浞掷脠A的八對稱性,以加權(quán)過取樣算法基礎(chǔ) 下圖 是圓反走樣算法的部分效果實現(xiàn)圖: 圖 圓反走樣效果 本課題采用的反走樣技術(shù) —— 累積緩沖區(qū)實現(xiàn)反走樣 原理概述 累積緩沖區(qū)的一個應(yīng)用就是全屏消除鋸齒功能。 圓的每一個八分之一圓弧都是由一段段的水平線段組成,因此圓弧反走樣的問題就是反走樣一段段小的水平線段的問題。因此只要知道圓弧上的一點( x, y)就可以得到它的七個對稱點,也稱為圓的八對稱性。 圓反走樣算法 算法思想 圓反走樣算法只需考慮圓心位于坐標(biāo)原點的圓弧反走樣,對于圓心為任意點的圓弧,可以先將其平移到原點,然后反走樣,再平移到原來的位置上。 計算效率分析 本算法需要通過計算獲取的掃描轉(zhuǎn)換像素個數(shù)最多為 dx 的一半:若 m1,則僅需計算 dx/m 個像素后就會出現(xiàn) dk=0;若計算達(dá)到 dx 的一半時仍未遇到精確落在直線上的像素,則由性質(zhì) 1 可知 m=1,從而利用性質(zhì) 2 進(jìn)行對稱復(fù)制。 設(shè)計思想 1 反走樣直線段 l 掃描轉(zhuǎn)換生成的像素序列 {( xi, yi) |i=0, 1, 2,?, n}可被劃分成具有相同形狀的 m 個片段: l1, l2,?, lm加終點像素,每個片段含p 個像素,每個片段的第一個像素精確地落在 l 上,且在整個像素序列中有且僅有 m+1 個像素精確地落在 l 上(如圖 所示)。記 m 為 dy, dx 的最大公約數(shù),即 m=gdc( dx, dy),則存在互質(zhì)的正整數(shù) p和 q,使得 k=dxdy =pqpm qm ???, 0〈 q〈 p。而對第( 2),( 3),( 4)類直線,只要在反走樣掃描轉(zhuǎn)換時通過簡單地交換 x和 y,或改變其增量的符號就可變換到第( 1)類的反走樣直線。在第二章已經(jīng)介紹并實現(xiàn)了幾種反走樣算法 ,但是它們都需要對直線上的每一個像素進(jìn)行反走樣處理,我們研究的多段反走樣直線算法利用直線段像素可能存在的多段相似性,大大提高反走樣速度,節(jié)省了反走樣時間。其中 Bresenham 算法是最著名的,它在繪制線段的過程當(dāng)中只涉及整數(shù)的加法和符號的判斷,是一種簡單、高效的算法。 WU反走樣算法思路清晰,速度也比較快,而且采用了像素的灰度處理,在反走樣兩像素寬度的直線效果上還好,因此在計算機(jī)圖形學(xué)中得到了廣泛應(yīng)用。因此 ,當(dāng)整條直線向右移動 , xgap 將變小 ,使得這個像素對平滑的變暗,按照這個方法可以畫出兩個端點。你可以看到 ,頂點不在像素的中心點上,那么如何計算直線端點的兩個像素的正確亮度呢?方法就是把直線延長 (向后或向前 )到最近的整數(shù) x坐標(biāo) (p),像計算直線上普通的像素對的亮度一樣計算這些像素對。 在畫完了中間端點后,我們要畫起始端點和終結(jié)端點,如圖 所示。也就是說越靠近直線的像素應(yīng)該越亮。 圖 跨騎著直線的像素對 圖 亮度設(shè)置 跨騎直線的像素對中,兩個像素的亮度應(yīng)該都是 1,中心點的亮度就是理想直線的亮度。 WU 反走樣直線不是這樣做,而是跨騎著直線繪制一對像素。 根據(jù) WU 像素的這兩個屬性我們就可以實現(xiàn) WU反走樣直線。 WU 像素具有兩個屬性: 繪制的所有像素的亮度的總和等于原始的粒子的亮度。如圖 所示。 ?????????????????????121242121161987654321 21 WU 像素反走樣 1) WU反走樣 普通的 Breshenham 算法畫線很快 ,但并不是很精細(xì) .通常的整數(shù)畫線因為只能在整數(shù)坐標(biāo)上繪圖 ,所以產(chǎn)生難看的鋸齒 .介紹的 WU 像素反走樣算法就采用了非整數(shù)坐標(biāo)改進(jìn)它 ,效果也十分的好。如果 yl+my5,則 說明直線和像素的相交區(qū)域是由上中下三個相鄰像素中的兩個三角形和一個四邊形組成,否則相交區(qū)域是由上下兩個相鄰像素中的兩個梯形組成。例如,我們將屏幕像素劃分為 n=3*3=9 個子像素,加權(quán)表可取作 3)簡單區(qū)域取樣算法的實現(xiàn) 有些反走樣方法把像 素當(dāng)作是數(shù)學(xué)上的一個點,像素顏色是由對應(yīng)于像素中心的圖形中一點的顏色決定的;而區(qū)域取樣認(rèn)為像素不是一個點,而是一個有面積的區(qū)域 ,因此我們在區(qū)域取樣時要計算直線段與像素相交區(qū)域的面積 ,然后根據(jù)相交區(qū)域面積來確定像素的亮度值。該值乘以像素的最大灰度值即為像素的顯示灰度值。 ( 2)求出所有中心落在直線段內(nèi)的子像素的集合 F。 ( 3)上面得到的值介于 0和 1 之間,用它乘以像素的最大灰度值,即得到該像素顯示灰度值。 ),(S dSyxf 的值,其中 f( x, y)是過濾函數(shù), S是過濾器的底面,且有 ?39。 加 權(quán)區(qū)域取樣方法的具體步驟如下: ( 1)求直線段與過濾器底面的重疊區(qū)域 S’。這種方法更符合人的視覺系統(tǒng)對圖象信息的處理方式。 2)加權(quán)區(qū)域取樣 簡單區(qū)域取樣由于相同面積重疊區(qū) 域?qū)ο袼氐呢暙I(xiàn)相同,但是這樣仍然會出現(xiàn)走樣現(xiàn)象,接下來介紹的加權(quán)區(qū)域取樣對此進(jìn)行了改善,使得相交區(qū)域?qū)ο袼亓炼鹊呢暙I(xiàn)依賴于該區(qū)域與像素中心的距離。 ( 2)當(dāng)直線和一個像素不相交時,它對該像素的亮度沒有影響。 上面的計算十分的麻煩,為了簡化計算,可以采用下面的離散方法: (圖 ) ( 1)將屏幕像素分割成 n個更小的子像素; ( 2)計算中心點落在直線內(nèi)的子像素的個數(shù),記為 k; ( 3) k/n 為線段與像素相交區(qū)域的近似值; 19 圖 n=16, k=3,近似面積為 3/16 綜上所述,非加權(quán)區(qū)域采樣方法具有下面三條性質(zhì): ( 1)直線對一個像素亮度的貢獻(xiàn)與兩者相交區(qū)域的面積成正比,從而和直線與像素中心點的距離成反比。接下來介紹( a)和( b)兩種情況。那么相交區(qū)域如何計算呢 ? 假設(shè)一條直線的斜率是 m,若規(guī)定它的顯示寬度是一個像素,那么直線和像素的相交有如下三種情況,如圖所示。圖 是待顯示的直線段,圖 是采用簡單區(qū)域取樣方法繪制的結(jié)果。重疊面積大的像素黑一點,重疊面積小的像素白一點。為了減少走樣,必須改變直線段的模型,從而得到了簡單區(qū)域取樣的方法,這個方法的具體步驟是: ( 1)將直線看成具有一定寬度的狹小矩形; ( 2)當(dāng)直線與像素相交時,求出兩者相交區(qū)域的面積; ( 3)根據(jù)相交區(qū)域的面積,確定像素的亮度值; 1 2 1 2 4 2 1 2 1 18 圖 具有一定寬度的直線 圖 灰度與面積成比例 通過將每個像素亮度設(shè)置成與線條部分重疊的區(qū)域面積成正比,可以完成對直線的區(qū)域取樣。屏幕上所畫的直線不是數(shù)學(xué)意義上的無寬度的理想線段,而是一個寬度至少為一個像素單位的線條。 區(qū)域取樣 1)簡單的區(qū)域取樣 直線段掃描轉(zhuǎn)換算法均假定像素是數(shù)學(xué)上的一個點,像素顏色是由對應(yīng)于像素中心的圖形中一點的顏色決定的;并且直線 段是數(shù)學(xué)上抽象的直線段,它的寬度是 0。由于接近像素區(qū)域中心的子像素在決定像素的顏色亮度值中發(fā)揮著重要的作用,因此過取樣的另一種算法采用了加權(quán)平均的方法來計算顯示像素的顏色亮度值。中心子 像素的權(quán)是角子像素的 4倍,是其他子像素的 2倍,中心子像素的加權(quán)系數(shù)是 1/4,頂部和底部及兩側(cè)子像素的加權(quán)系數(shù)是 1/8,而角子像素的加權(quán)系數(shù)是1/16。 由于接近像素區(qū)域中心的子像素在決定像素的顏色亮度值中發(fā)揮著重要的作用,因此過取樣算法中采用了加權(quán)平均的方法來計算顯示像素的顏色亮度值(基于加權(quán)模板的過取樣)。通過這個方法為圖中的每個像素設(shè)定不同的灰度值,可以使顯示出來的直線看起來平滑一些,達(dá)到減少走樣現(xiàn)象。由于像素中可供選擇的子像素最大數(shù)目是 4,因此,該例中提供的亮度等級數(shù)是 5。 反走樣的另一種方法是根據(jù)圖形對象在每個像素點上的覆蓋程度率來確定像素點的亮度,這種計算覆蓋率的反走樣技術(shù)稱為區(qū)域取樣( Area Sampling),或前濾波( Prefiltering)。這種技術(shù)稱為過取樣( Supersampling),或后濾波( Postfiltering)。但是它的思想給我們以后的反走樣方法一定的啟示。這種反走 樣方法是以 4倍的存儲器代價和掃描轉(zhuǎn)換時間獲得的。 反走樣的方法很多,一種簡單的反走樣方法是以較高的分辨率顯示對象,如圖 。 相關(guān)的反走樣技術(shù) 常用的反走樣方法主要有:提高分辨率、區(qū)域采樣和加權(quán)區(qū)域采樣等。 為了提高圖形的顯示質(zhì)量,需要減少或消除上述走樣現(xiàn)象。當(dāng)這些狹小的圖形進(jìn)行運(yùn)動時,覆蓋像素中心時被顯示出來,不覆蓋像素中心時不被顯示出來。 圖 狹小圖形的遺失 由于光柵系統(tǒng)中表示圖形的最小單位是一個像素,圖形中那些比像素更窄的細(xì)節(jié)丟失了,這就出現(xiàn)了圖形細(xì)節(jié)失真現(xiàn)象。 光柵圖形的走樣現(xiàn)象除了上述鋸齒狀邊界外,還有圖形細(xì)節(jié)失真,狹小圖形遺失 等現(xiàn)象。當(dāng)我們要畫一條直線時,它通常不可能完全精確地從一個可編址的像素點畫一條直線到另一個可編址的像素點,只可能用盡可能靠近這條直線路徑的像素點集來近似地表示這條直線。用離散的像素來表示連續(xù)的圖形時會出現(xiàn)失真,也就稱為走樣,如圖 所示 。光柵掃描顯示器是一個畫點設(shè)備,與圖形的復(fù)雜度無關(guān),刷新頻率固定,因此不會象隨機(jī)掃描顯示器那樣出現(xiàn)閃爍現(xiàn)象,人眼看上去更舒服。在光柵顯示系統(tǒng)中,構(gòu)成圖形的最小圖 形元素是像素,這樣只要計算屏幕上位于給定區(qū)域以內(nèi)的所有像素,并且賦予一定的顏色,就完成了圖形的繪制。 glPopMatrix()。 //是否啟用紋理 gluSphere(q, , , )。 //設(shè)置二次曲面的屬性 gluQuadricNormals (q, GLU_SMOOTH)。 GLUquadricObj* q = gluNewQuadric()。 //設(shè)置旋轉(zhuǎn) glRotatef(,)。 glTranslatef(, ,)。使用 GLUquadricObj 構(gòu)建二次曲面,并定義相關(guān)屬性,使用設(shè)定好的相關(guān)參數(shù)用 gluSphere 畫出圓球體。使用 glPushMatrix 可以精確地把當(dāng)前矩陣保存下來,并用 glPopMatrix 把它恢復(fù)出來。 glPushMatrix 把當(dāng)前的矩陣拷貝到棧中。 對于圓 球體的構(gòu)造,利用 C++語言的特點,構(gòu)造一個 DrawPla 函數(shù),其中,參數(shù)傳入 Pla 對象。 //其他各面的繪制類似,不再寫出 glDisable(GL_TEXTURE_2D)。 glVertex3f(, ,)。 glVertex3f( , ,)。 glTexCoord2f(1,0)。 //前面 glTexCoord2f(0,0)。 glBindTexture(GL_TEXTURE_2D,m_Texture[0])。 glRotatef(m_zRot,)。 glRotatef(m_xRot,)。代碼如下: void CDifferentView::DrawCube() { glLoadIdentity()。 } 對象模型的建立 在場景模型建立方面,我們選擇了 3個物體立方體、金字塔、圓球體。 PFD_NEED_PALETTE) SetLogicalPalette()。pfd)。pfd)。 int pixelformat。 系統(tǒng)初始化 在 InitializeOpenGL()中會創(chuàng)建一個設(shè)備上下文 (DC),為這個 DC 選擇一個像素格式,創(chuàng)建和這個 DC相關(guān)的繪制上下文( RC) ,然后選擇這個 會調(diào)用 SetupPixelFormat()來建立像素格式,調(diào)用 SetLogicalPalette()設(shè)置邏輯調(diào)色板。對它的細(xì)膩的真實感到驚訝,于是,決心實現(xiàn)其中的某些功能。 圖 工程實現(xiàn)流程圖 基本設(shè)計概念和流程 創(chuàng)意說明 本軟件系統(tǒng)的創(chuàng)意來自于互聯(lián)網(wǎng)上時下流行的 3D 游戲環(huán)境。( 1024 X 768 亦可) ? CPU: M3
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1