『壹』 深度緩存演算法的演算法描述
該演算法需要兩個緩存器,一個是用來存放顏色的顏色緩存器,另一個是用來存放深度的深度緩存器。利用深度緩存器,可以進行可見性的判斷,消除隱藏對象。其具體做法是:
首先對深度緩存器和顏色緩存器進行初始化,把深度緩存器中所有單元置成一個最大可能的深度值,把顏色緩存器中各單元置成背景顏色。然後將場景中的物體不分次序地投影到象平面上去。對於每個投影點(象素),把投影物體在該點處的深度與深度緩存器中相應位置上的深度值進行比較,如果前者小於後者,那麼就把當前被投影物體的顏色寫到顏色緩存器中去,同時用當前投影物體的深度去更新深度緩存器中相應象素的深度,否則不做任何操作。
『貳』 北航09春學期《數字圖形設計》作業三
這么多啊!直接把分給我算了,我缺分!別關閉問題啊!
『叄』 用c語言來畫1個正方體,一個簡單的程序。。
void far bar3d(int x1, int y1, int x2, int y2,int depth,int topflag);當
topflag為非0時, 畫出一個三維的長方體。當topflag為0時,三維圖形不封頂,
實際上很少這樣使用。
void far setfillstyle(int pattern, int color); color的值是當前屏幕圖形
模式時顏色的有效值,SOLID_FILL 1 以實填充
void far floodfill(int x, int y, int border);
其中:x, y為封閉圖形內的任意一border為邊界的顏色,也就是封閉圖形輪廓的
顏色。調用了該函數後,將用規定的顏色和圖模填滿整個封閉圖形。
#include<stdlib.h>
#include<graphics.h>
main()
{
int gdriver, gmode;
struct fillsettingstype save;
gdriver=DETECT;
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,3);
setfillstyle(1,14); /*設置填充方式*/
bar3d(100,200,400,350,200,1); /*畫長方體並填充*/
floodfill(450,300,LIGHTRED);
/*填充長方體另外兩個面*/
floodfill(250,150, LIGHTRED);
getch();
closegraph();
}
『肆』 深度緩存演算法的優缺點
深度緩存演算法中物體投影到象平面上的次序是任意的,無須將場景中的表面進行排序,物體之間的遮擋關系是通過深度緩存器進行深度比較加以確定的,演算法易於實現。
深度緩存演算法只能顯示距離視點最近的物體,而且這些物體都是不透明的,無法看到被遮擋的物體。
深度緩存演算法經常執行一些最終不起作用的中間計算過程。由於對象按任意次序進行處理,因此有些表面進行了顏色計算但事後又被更近的表面所代替。為了緩減這一問題,有些圖形軟體提供選項讓用戶調整表面測試的深度范圍。例如,通過深度測試排除較遠的對象。使用該選項還可以排除非常靠近投影平面的對象。高檔計算機圖形系統一般集成了深度緩存演算法的硬體實現。
『伍』 下面關於深度緩存消隱演算法的論斷哪一條不正確
演算法(Algorithm)是指完成一個任務所需要的具體步驟和方法。也就是說給定初始狀態或輸入數據,能夠得出所要求或期望的終止狀態或輸出數據。
演算法常常含有重復的步驟和一些比較或邏輯判斷。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
憑我的直覺,選c好啦!
『陸』 北航09春學期《數字圖形設計》作業一
1. a1. 消隱不僅與消隱對象有關而且還與(A )有關
A. 投影方式
B. 消隱演算法選擇
C. 物體空間
D. 消隱坐標
2. 光強也稱光亮度是指既能表示光能(B )有能表示其( )的物理量
A. 大小,強度
B. 色彩,強度
C. 大小,色彩
D. 色彩,亮度
3. 1981年5月,我國國家標准化局發布並實施的「信息、交換用漢字編碼字元基本集」中,共收集字元7445個,每個字元均與一個(B )編碼相對應
A. ASCII編碼
B. 十六進制編碼
C. 十進制編碼
D. 八進制編碼
4. 在互動式圖形系統中,一般有( b)個坐標系
A. 1
B. 2
C. 3
D. 4
5. 下列那個不是計算機圖形學的應用(b )
A. 計算機藝術
B. 計算機可視化
C. 計算機自動化
D. 計算機動畫及廣告
6. 鏡面發射的特點是(a )
A. 光源來自一個方向,反射光集中在反射方向;
B. 光源來自一個方向,發射光均勻地射向各個方向;
C. 光源來自各個方向,又均勻地向各個方向反射;
D. 光源來自各個方向,反射光集中在反射方向;
7. 計算機圖形學是研究通過計算機將( a)轉換為圖形,並在專用的顯示設備上顯示的原理、方法和技術的學科。
A. 數據
B. 程序
C. 演算法
D. 計算機語言
8. 在基本交互任務的基礎上,可以形成(c )種形式的交互任務。
A. 1
B. 2
C. 3
D. 4
9. 在圖形軟體的各層中,我們一般把(b )級軟體成為基本圖形軟體或稱為支撐軟體。
A. 0
B. 0,1
C. 0,1,2
D. 0,1,2,3
10. 哪一個不是國際標准化組織(ISO)批準的圖形標准( b)
A. GKS;
B. PHIGS;
C. CGM;
D. DXF;
二、多選題(共 4 道試題,共 40 分。)
1. 用戶定義矢量字元一般步驟為(a )
A. 寫字模
B. 確定字元代碼
C. 按一定結構保存字元各端點坐標及前一點到此端點是否劃線的標志
D. 將字模寫入字元庫中
2. 布局的基本原則包括(a )
A. 保持一致
B. 保持平衡
C. 提供反饋
D. 成比例
3. 表現三維圖形的方式包括(b )
A. 真實感圖形;
B. 投影圖形
C. 消隱圖
D. 空間模擬圖
4. 在互動式圖形系統中,一般有( c)坐標系
A. 三維坐標系
B. 二維坐標系
C. 屏幕坐標系
D. 用戶坐標系
三、判斷題(共 10 道試題,共 20 分。)
1. 一個邏輯輸入設備可以對應多個物理輸入設備。a
A. 錯誤
B. 正確
2. 朗伯定律描述為:對於漫反射體,表面的反射光亮度和光源入射角的餘弦成反比。b
A. 錯誤
B. 正確
3. 計算機圖形系統應由硬體和相應地程序系統兩部分構成。a
A. 錯誤
B. 正確
4. 現代計算機圖形系統與一般的計算機系統最主要的差別是具有圖形的輸入,輸出設備以及必要的交互工具.b
A. 錯誤
B. 正確
5. 掃描轉換填充演算法適用於規則邊界的區域。a
A. 錯誤
B. 正確
6. 深度緩存演算法是一種最簡單的圖形空間眠消隱演算法,既適應多邊形面也適用其它曲面。b
A. 錯誤
B. 正確
7. Gourand光照模型能夠即使出高光部位的亮度。a
A. 錯誤
B. 正確
8. 用逐點比較法生成圓弧時運算只有加、減和位移運算,無乘除,運算效率高,適用於用硬體實現。b
A. 錯誤
B. 正確
9. 交互圖形的基本交互任務包括:定位,選擇,文字輸入輸出,數值輸入輸出等。b
A. 錯誤
B. 正確
10. 在種子填充演算法中所提到的八向連通區域演算法同時可填充四向連通區a
A. 錯誤
B. 正確
『柒』 深度緩存演算法的介紹
深度緩存演算法(depth—buffer method)是一種常用的判定對象表面可見性的物空間演算法,它在投影面上的每一像素位置比較場景中所有面的深度。由於通常沿著觀察系統的z軸來計算各對象距觀察平面的深度,該演算法也稱為z緩存(z-buffer)演算法。
『捌』 深度緩存演算法包括哪些步驟
深度緩存(Z-buffer)演算法是一種典型的、簡單的圖象空間面消隱演算法。該演算法需要一個深度緩存數組 ZB,此外還 需要一個顏色屬性數組 CB ,它們的大小與屏幕上像素點的個數相同。 Z-buffer 演算法的步驟如下:
(1)初始化 ZB 和 CB,使得 ZB(i,j)=Zmax,CB(i,j)=背景色,i=1,…, m; j=1,…,n。
(2)對多邊形 P,計算它在點(i,j)處的深度值 zi,j。
(3)若 zi,j< ZB(i,j),則 ZB(i,j)=zi,j,CB(i,j)=多邊形 P 的顏色。
(4)對每個多邊形重復(2) 、 (3)兩步,最終在 CB 中存放的就是消隱後的圖形。 這個演算法的關鍵在第(2)步,要盡快判斷出哪些點落在一個多邊形內,並盡快求出一個點的深度值。這里需要應用 多邊形點與點之間的相關性,包括水平相關性和垂直相關性。