




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一 請給出全象限整型Bresenham直線段生成算法的C語言描述。(20分) 二 構造空間變換T,使過原點的任意軸(A,B,C)與Y軸正向對齊。 變換次序為先繞X軸順時針旋轉,再繞Z軸逆時針旋轉。 (20分)三 簡述畫家消隱算法的基本原理,并給出處理流程框圖。 (20分)四 已知二維空間窗口為(Wleft, Wbotton)-(Wright, Wtop), 空間裁剪采用端點編碼 方式實現,請給出您的端點編碼設計方案及空間任意點(x,y)的編碼C函數:int pCode(int x, int y) 描述。 假設已知直線段P1P2的兩端點編碼分別為P1code和P2code,請問直線段 完全可見的
2、充要條件是什么?完全不可見的充分條件是什么?部分可見的分條件又是什么?并給出相應的C描述。 (20分) 五 已知由空間兩特征多邊形P1(0,0,0), P2(2,2,-2), P3(2,-1,-1), P4(4,0,0)和 Q1(4,0,0), Q2(6,-2,1), Q3(8,-3,2), Q4(10,0,1)確定兩段三次Bezier曲線。請給出兩段曲線在分段點P4(Q1)處達到G1連續(xù)的解析條件。 (20分)答案:一、void Bline(int x1, int y1, int x2, int y2) int x, y, dx, dy, temp, xSign, ySign, interc
3、hange; interchange = 0; x = x1; y = y1; dx = abs(x2 x1); dy = abs(y2 y1); xSign = (x2 x1) ? 1 : -1; ySign = (y2 y1) ? 1 : -1; if (dy dx) interchange = 1;temp = dx; dx = dy; dy = temp; e = 2*dy dx;for ( i = 0; i 0 ) if (interchange) x += xSign;else y += ySign;e = e 2*dx;if (interchange) y += ySign;el
4、se x += xSign;e = e + 2*dy;二、 1 0 0 0 V A 0 0 T1 = 0 B/V -C/V 0 T2 = -A V 0 00 C/V B/V 0 0 0 1 00 0 0 1 0 0 0 1 V = 三、畫家消隱算法的基本原理: 如同畫家繪畫一樣,從遠景開始逐步繪制到近景。這樣后繪的近景部分就會覆蓋先繪的遠景部分,達到消隱的目的。 處理流程框圖:兩三角形排序開始 收集可見面 XY極大 Y 極小檢驗三角剖分 排序 Z 極大 Y三角形排序 極小檢驗 N Y 輸出繪制 相交邊檢驗交點處比較深度 結束 三角形 包含檢驗頂點處比較深度注:交點處比較深度部分可以展開分成二和
5、四、六兩種情況。四、 端點編碼設計方案: 1010 1000 1001 0010 0000 0001 0110 0100 0101采用四位編碼, 如下: 上 下 左 右 對應位置 0 為窗口邊界可見一側,1不可見一側。 編碼結果如上圖。 int pCode(int x, int y) int code = 0; if (x Wrx) code |= 1; if (x Wry) code |= 4; if (y 1z = t 1一 請給出全象限整型DDA直線段生成算法的C描述。 (20分) 二 已知空間任意軸方向(A,B,C)及軸上一點(X1,Y1, Z1), 構造空間變換T實現空間繞此軸順時針
6、旋轉角。 (20分)三 請給出Zbuffer消隱算法的基本原理示意圖,并簡述算法實現過程。(20分)四 已知空間投影面X = 0,投影面上矩形窗口的左下角(0,Y1, Z1)和 右上角(0,Y2,Z2),以及空間透視中心(Xe,Ye, Ze)。請給出透視 裁剪約束體上、下、左、右四個裁剪面的方程。 (20分)五 已知三次Bezier曲線的四控制點坐標P1(0,0) ,P2(50,40),P3(80,60),P4(110,10), 請計算參數t = 0,1/3,1/2,1時曲線上對應點的坐標。答案:一、 void DDAline(int x1, int y2, int x2, int y2) i
7、nt I, steps; float x,y,dx,dy; x = x1+0.5; y = y1+0.5; steps = abs(x2-x1) abs(y2-y1) ? abs(x2-x1) +1: abs(y2-y1)+1; dx = (float)(x2 x1)/steps; dy = (float)(y2 y1)/steps; for (I = 0; I x1) ? 1 : -1; ySign = (y2 y1) ? 1 : -1; if (dy dx) interchange = 1;temp = dx; dx = dy; dy = temp; e = 2*dy dx;for ( i
8、 = 0; i 0 ) if (interchange) x += xSign;else y += ySign;e = e 2*dx;if (interchange) y += ySign;else x += xSign;e = e + 2*dy;二 空間變換(1) 構造空間變換T,使過原點的任意軸(A,B,C)與X軸正向對齊。 C/V -B/V 0 0 U 0 -C 0 T1 = B/V C/V 0 0 T2 = 0 1 0 00 0 1 0 C 0 U 00 0 0 1 0 0 0 1 V = U = 注: 答案不唯一, 可以有四種. (2)已知空間任意軸方向(A,B,C)及軸上一點(X1
9、,Y1, Z1), 構造空間變換T實現空間繞此軸順時針旋轉角。 1 0 0 0 C/V B/V 0 0 T1 = 0 1 0 0 T2 = -B/V C/V 0 00 0 1 0 0 0 1 0-x1 y1 z1 1 0 0 0 1 U 0 -C 0 1 0 -C 0 T3 = 0 1 0 0 T4 = 0 cos sin 0C 0 U 0 0 - sin cos 0 0 0 0 1 0 0 0 1 T = T1 T2 T3 T4 T3-1 T2-1 T1 -1 V = U = 注: 答案不唯一, 可以有兩種.三 簡述Zbuffer消隱算法基本原理,并給出處理流程框圖。 基本原理: 與楨緩存對
10、等建立深度緩存Zbuffer,保存屏象素的深度值。 空間可見面投影后,計算投影區(qū)域的每一象素的深度值,并 與Zbuffer中的深度值進行比較,值小的則保存。 處理流程框圖: 初始化楨緩存 與Zbuffer 結束 可見面集合空 N可見面投影計算投影區(qū)域的象素的深度值大于則放棄 與Zbuffer比較小于則修改緩存值四 已知二維空間窗口為(Wleft, Wbotton)-(Wright, Wtop), 空間裁剪 采用端點編碼方式實現,請給出您的端點編碼設計方案。 假設已知直線段P1P2的兩端點編碼分別為P1code和P2code,請問 直線段完全可見的充要條件是什么?完全不可見的充分條件是什么?部分可見的充分條件又是什么?并給出相應的C描述。端點編碼設計方案: 1010 1000 1001 0010 0000 0001 0110 0100 01
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《裝修設計細節(jié)解讀》課件
- 外國業(yè)務開發(fā)外包協議
- 2025年廣西南寧市中考物理一模試卷(含解析)
- 鐵路旅客運輸服務鐵路旅客服務心理概述課件
- 《財務分析決策實例》課件
- 鐵道機車專業(yè)教學湖南鐵道左繼紅88課件
- 條碼技術物流工程38課件
- 鐵路貨物運雜費貨車延期使用費費率標準課件
- 鐵路運輸法規(guī)旅客在站臺突發(fā)急性心肌梗死第頁課件
- 中國人的航天夢課件
- 水電工程達標投產規(guī)劃
- xxx鎮(zhèn)衛(wèi)生院中醫(yī)藥工作匯報材料課件(PPT 42頁)
- 工作計劃與目標管理講義通用PPT課件
- 預應力混凝土結構設計原理.pptx
- 商業(yè)銀行員工家訪制度
- 英語練習漢譯英100句
- 六年級下冊經典誦讀DOC
- 來料檢驗指導書鋁型材
- 基于單片機的無線射頻收發(fā)系統(tǒng)
- 工程項目監(jiān)理常用臺賬記錄表格(最新整理)
- Purchase Order模板參考模板
評論
0/150
提交評論