《計算機圖形學》1 4章習題解答

2022-10-10 03:15:04 字數 5042 閱讀 6397

1.計算機圖形學的研究內容是什麼?

答:幾何模型構造,圖形生成,圖形操作與處理,圖形資訊的儲存、檢索與交換,人機互動及使用者介面,動畫,圖形輸出裝置與輸出技術,圖形標準與圖形軟體包的研究等。

2.計算機圖形學與影象處理有何聯絡?有何區別?

答:計算機圖形學與影象處理都是用計算機來處理圖形和影象,結合緊密且相互滲透,但其屬於兩個不同的技術領域。計算機圖形學是通過演算法和程式在顯示裝置上構造圖形,是從資料到影象的處理過程;而影象處理是對景物或影象的分析技術,是從影象到影象的處理過程。

3.簡述計算機圖形學的發展過程。

答:略。(參考:教材p3)

4.簡述你所理解的計算機圖形學的應用領域。

答:略。(參考:教材p4~p5)

1.什麼是影象的解析度?

答:在水平和垂直方向上每單位長度所包含的畫素點的數目。

2.在cmy座標系裡找出與rgb座標系的顏色(0.2,1,0.5)相同的座標。

答:1-0.2=0.8,1-1=0, 1-0.5=0.5

座標為(0.8, 0, 0.5)

3.在rgb座標系裡找出與cmy座標系的顏色(0.15,0.75,0)相同的座標。

答:1-0.15=0.85, 1-0.75=0.25, 1-0=1

座標為(0.85, 0.25, 1)

4.如果使用每種基色佔2位元的直接編碼方式表示rgb顏色的值,每一畫素有多少種可能的顏色?

答: 5.如果使用每種基色佔10位元的直接編碼方式表示rgb顏色的值,每一畫素有多少種可能的顏色?

答: 6.如果每個畫素的紅色和藍色都用5位元表示,綠色用6位元表示,一共用16位元表示,總共可以表示多少種顏色?

答: 7.解釋水平回掃、垂直回掃的概念。

答:水平回掃:電子束從crt螢幕右邊緣回到螢幕左邊緣的動作。

垂直回掃:電子束到達每次重新整理周期末尾,從crt螢幕右下角回到螢幕左上角的動作。

8.為什麼很多彩色印表機使用黑色顏料?

答:彩色顏料(青、品紅、黃)相對來說較貴,並且在技術上很難通過多種顏色產生高質量的黑色。

9.簡述隨機掃瞄顯示器和光柵掃瞄顯示器的簡單工作原理和各自的特點。

答:隨機掃瞄顯示器的工作原理:要顯示的圖形定義是一組畫線命令,存放在重新整理快取中,由顯示控制器控制電子束的偏移,周期性地按畫線命令依次畫出其組成線條,從而在螢幕上產生圖形。

特點:其顯示的圖形***,重新整理快取中的內容可區域性或動態修改,解析度和對比度高,並且圖形不會產生鋸齒狀線條。

光柵掃瞄顯示器的工作原理:將crt螢幕分成由畫素構成的光柵網格,其中畫素的灰度和顏色資訊儲存在幀快取中。電子束在水平和垂直偏轉磁場的作用下從左向右,從上向下掃瞄螢光屏,產生一幅幅光柵,並由顯示內容來控制所掃瞄的畫素點是否發亮,從而形成具有多種彩色及多種明暗度的影象。

特點:圖形顯示上會有走樣,但是其成本低,能夠顯示的影象色彩豐富,並且圖形的顯示速度與圖形的複雜程度無關,易於修改圖形,可以顯示二維或三維實體圖形和真實感影象。

1.請用偽**程式描述使用dda演算法掃瞄轉換一條斜率介於45和-45(即|m|>1)之間的直線所需的步驟。

答:假設線段的兩個端點為和,並且

int x1,

float xf=x1,m=(x2-x1)/(y2-y1);

while(y<=y2)

2.請指出用bresenham演算法掃瞄轉換從畫素點(1,1)到(8,5)的線段時的畫素位置。

答:(1,1), (2,2), (3,2), (4,3), (5,3), (6,4), (7,4), (8,5)

3.當使用8路對稱方法從0°到45°或90°到45°的8分圓中生成整個圓時,有些畫素被設定或畫了兩次,這種現象有時稱為重擊。請說明如何判斷重擊發生?如何能徹底避免重擊?

答:在初始座標為(r,0)或(0, r)時的位置,因為(0,r)=(-0,r), (0,-r)=(-0,-r),(r,0)=(r,-0), (-r,0)=(-r,-0);

另外,如果最後生成的畫素在對角線上,座標為(mr,mr),其中m約為,則在(mr,mr), (-mr,mr), (mr,-mr), (-mr,-mr)都會發生重擊。

在寫畫素之前檢查每個畫素點,如果某個點已經寫了畫素點,則不再寫第二次,這樣可以避免重擊。

4.掃瞄轉換的三個主要的缺點是什麼?

答:階梯現象、斜線的不等光亮度和細節失真問題。

5.設r是左下角為l(-3,1),右上角為r(2,6)的矩形視窗。請寫出下列各線段端點的區域編碼。

ab:a(-4,2),b(-1,7)

cd:c(-1,5),d(3,8)

ef:e(-2,3),f(1,2)

gh:g(1,-2),h(3,3)

i j:i(-4,7),j(-2,10)

答:編碼方法如教材圖3-42所示,因此:

a(0001)b(1000)、c(0000)d(1010)、e(0000)f(0000)、g(0100)h(0010)、i(1001) j(1000)

6.寫出待裁剪線段p1p2(從p1(x1,y1)到p2 (x2,y2))與:

(a)垂直線x=a

(b)水平線y=b

的交點。

答:線段的引數方程為

(a)將x=a代入該方程,得交點為

(b)將y=b代入該方程,得交點為

7.給出5題中的線段分類。

答:直接保留:ef

直接捨棄:ij

需求交點:ab 、cd、 gh

8.設r是左下角為l(1,2),右上角為r(9,8)的矩形視窗,用梁友棟-barsky演算法裁剪切列各線段。

ab:a(11,6),b(11,10)

cd:c(3,7),d(3,10)

ef:e(2,3),f(8,4)

gh:g(6,6),h(8,9)

i j:i(-1,7),j(11,1)

答:ab線段完全在右邊界之右;

cd線段經裁剪後的兩個端點是(3,7)和(3,8);

ef線段完全在裁剪視窗內;

gh線段經裁剪後的兩個端點是(6,6)和(26/3,8);

ij線段經裁剪後的兩個端點是(1,6)和(9,2)。

1.將三角形a(0,0),b(1,1),c(5,2)逆時針旋轉45:

(a)繞原點;

(b)繞點p(-1,-1)。

答:三角形矩陣,設旋轉之後的三角形矩陣為s』

逆時針旋轉矩陣

平移矩陣反平移矩陣

(a),得

(b),得

。2.將三角形a(0,0),b(1,1),c(5,2)放大兩倍,保持c(5,2)不變。

答:得:。

3.將類似菱形的多邊形a(-1,0),b(0,-2),c(1,0),d(0,2)進行如下的反射變換:

(a)相對於水平線y=2;

(b)相對於垂直線x=2;

(c)相對於直線y=x+2。

答:(a)

(b)(c)4.請寫出乙個圖例變換,將正方形a(0,0),b(1,0),c(1,1),d(0,1)一半大小的複本放到主圖形的座標系中,且正方形的中心在(-1,-1)點。

答:原正方形的中心在p(1/2,1/2),首先進行關於p點的縮放變換,變換矩陣為m;

然後要進行平移變換將中心點從p移到p』(-1,-1),此時水平和垂直方向的平移量均為-3/2,變換矩陣為n;

則有變換矩陣:

5.假設有一條從p1到p2的直線上的任意一點p,證明對任何組合變換,變換後的點p都在p1到p2之間。

答:設是的變換,是的變換。又設組合變換表示為:

則有1)

和2)對到直線上的任意點,要證明在和連線的直線上,其中是的變換,且3)

即要證明4)

將公式(1)、(2)、(3)代入公式(4),經整理得:

因為滿足:,

由此得到,在和連線的直線上。

6.二次旋轉變換定義為先繞x軸旋轉再繞y軸旋轉的變換:

(a)寫出這個變換的矩陣;

(b)旋轉的先後順序對結果有影響嗎?

答:設三維圖形繞x軸逆時針旋轉角度,繞y軸逆時針旋轉角度,變換矩陣為:

7.寫出關於某個給定平面對稱的鏡面反射變換。(注:用乙個法向量n和參考點確定乙個參考平面。)

答: (1)將平移到原點,變換矩陣為;

(2)使法線向量n平行於xy平面的法線向量k,變換矩陣為;

(3)進行關於xy平面的鏡面反射變換,變換矩陣為;

(4)進行步驟(2)和(1)的逆變換,變換矩陣為和。

設向量,則有,所以變化矩陣為:

8.如何確定乙個點p在觀察點的內部還是外部?

答:乙個平面將空間分成兩部分。平面的一般方程是:

對於任意點,若定義乙個標量函式,有:

如果,則說明p點和q點在同一邊(相對平面而言)。令分別表示頂平面、底平面、右平面、左平面、前平面、後平面。

另外,l和r分別是視窗的左下角點和右上角點,且分別是後裁剪平面和前裁剪平面的參考點。

如果下面都成立,則p點在觀察體內:

對於平面來說,p和l在同一邊;

對於平面來說,p和r在同一邊;

對於平面來說,p和l在同一邊;

對於平面來說,p和r在同一邊;

對於平面來說,p和在同一邊;

對於平面來說,p和在同一邊。

相當於:

9.將梁友棟-barsky線段裁剪演算法推廣到三維,寫出對下述三維觀察體所要滿足的不等式:

(a)平行規範化觀察體;

(b)透視規範化觀察體。

答:設和是線段的兩個端點。線段的引數方程是:

平行規範化觀察體是由平面組成的單位立方體;

透視規範化觀察體是由平面組成的被截斷的部分稜錐。

(a)對於平行規範化觀察體,內部點滿足:

六個不等式為:

其中:(b)對於透視規範化觀察體,內部點滿足:

六個不等式為:

其中:10.寫出平面和線段的交點座標。

答:假設平面通過點,且有法線向量,和是線段的兩個端點。

平面的一般方程是:

直線的引數方程是:

將直線方程代入平面方程,求解t,得到交點處的引數值:

用向量符號重寫為:

由直線的引數方程可以求出交點:

如果,則交點在到的線段上;否則,交點**段的延長線上。

11.編寫一段程式,實現對物體的平行投影。

答:略。

12.編寫一段程式,實現對物體的透視投影。

答:略。

計算機圖形學試題 A

2010 2011計算機圖形學試題 a 一 填空題 共20分,每空2分 1 將多邊形外部一點a與某一點b用線段連線,若此線段與多邊形邊界相交的次數為 則點b在多邊形外部。若此線段與多邊形邊界相交的次數為,則點b在多邊形內部。2 生成直線的四點要求是速度要快。3 由5個控制頂點pi i 0,1,4 所...

計算機圖形學實習報告

實習報告 實習名稱 計算機圖形學實習 班級09021班 學號姓名 實習地點 5棟機房 實習指導教師 實習時間 2011年6月27日至 7月 10日遙感資訊工程學院 一 實習目的與意義 本次實習為集中實習,基於autocad2004平台與vc環境系統,製作二維和三維立體產品。通過對autocad200...

計算機圖形學實習報告

檢查出棧畫素的4 鄰接點,若其中某個畫素不是邊界色且未置成多邊形色,則把該畫素入棧。3 檢查棧是否為空,若棧非空重複執行步驟 2 若棧為空則結束。邊界填充演算法可以用於填充帶有內孔的平面區域。其缺點是把太多的畫素壓入堆疊,有些畫素甚至會入棧多次,這樣一方面降低了演算法的效率,另一方面還要求很大的儲存...