注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡圖形圖像、多媒體、網頁制作其他處理軟件交互式計算機圖形學:基于OpenGL的自頂向下方法

交互式計算機圖形學:基于OpenGL的自頂向下方法

交互式計算機圖形學:基于OpenGL的自頂向下方法

定 價:¥62.00

作 者: (美)思詹(angel, E.)著
出版社: 清華大學出版社
叢編項: 國外經典教材·計算機科學與技術
標 簽: 計算機網絡 高等學校 教材 英文

ISBN: 9787302123903 出版時間: 2006-02-01 包裝: 膠版紙
開本: 小16開 頁數: 521 字數:  

內容簡介

本書從OpenGL編程角度討論了圖形學基本原理及基本算法。全書共13章,分為三大部分:第一部分為第1~6章,主要介紹三維圖形程序的開發(fā)環(huán)境、三維對象的表示方法、空間坐標變換、三維視圖的生成過程等內容;第二部分為第7~10章,主要介紹光柵掃描、區(qū)域填充、畫直線和畫圓弧、裁剪及消隱等基本理論和基本算法;第三部分為第11~13章,主要介紹過程建模技術、可視化處理方法以及高級繪制方法等高級內容。本書的特點是采用了自頂向下的方法,集知識性和趣味性為一體,全書還包括17個完整的、令人感興趣的OpenGL程序。.本書可作為計算機及相關專業(yè)本科生和研究生的圖形學教材,也適合相關程序員、工程技術人員及科研人員使用。.隨著人工智能學科的發(fā)展,課程的內容也在不斷更新。美國IEEE和ACM共同制定的ComputingCurricula2001/2005中,人:工智能課程除包括人工智能概論,問題狀態(tài)與搜索,知識表示,機器人學等傳統(tǒng)內容外,還增加了機器學習,智能體.自然語言處理。語音處理,知識庫系統(tǒng),神經網絡,遺傳算法等內容。.本書按照困內外最新課程大綱的要求,介紹人工智能的理論、方法,技術及其應用,除了討論仍然有用的和有效的基本原理與方法之外,著重闡述新的和正在研究的人工智能方法與技術,特別是近期發(fā)展起來的方法與技術。此外,用比較多的篇幅論述人工智能的應用,包括新的應用研究。...

作者簡介

  EdwaNAngel新墨西哥州大學計算機科學、電子與計算機工程和傳播藝術教授。1968年獲南加利福尼亞大學博士學位。曾任教于南加州大學伯克利分校、南加州大學、羅切斯特大學。1978年在新墨西哥州大學任教,1982至1985年擔任新墨西哥州大學電子與計算機工程系副主任,1985至1988年擔任計算機科學系主任。是瑞士倫德科技學院、印度科學學院(班加羅爾)、倫敦大學學院、倫敦皇家學院的客座教授。出腋多本計算機圖形學方面的專著。EdwardAngel曾給來自全世界各地數以千計的科學家、工程師和程序員短期講授計算機圖形學和圖像處理,并多次在SIGGRAPH會議上講授OpenGL。

圖書目錄

第1章  圖形系統(tǒng)和模型    1
1.1  計算機圖形學的應用    1
1.1.1  信息顯示    1
1.1.2  設計    2
1.1.3  仿真與動畫    2
1.1.4  用戶界面    3
1.2  計算機圖形系統(tǒng)    3
1.2.1  像素與幀緩存    4
1.2.2  輸出設備    4
1.2.3  輸入設備    6
1.3  圖像:物理方法和人工合成方法    6
1.3.1  對象與觀察者    6
1.3.2  光照與圖像    7
1.3.3  光線跟蹤    8
1.4  人眼的視覺系統(tǒng)    9
1.5  針孔照相機    11
1.6  虛擬照相機模型    12
1.7  程序員接口    13
1.7.1  應用程序開發(fā)人員的接口    14
1.7.2  筆式繪圖儀模型    14
1.7.3  三維API函數    16
1.7.4  彩圖介紹    17
1.7.5  建模-繪制模式    18
1.8  圖形系統(tǒng)的體系結構    19
1.8.1  顯示處理器    19
1.8.2  流水線結構    20
1.8.3  變換    20
1.8.4  裁剪    21
1.8.5  投影    21
1.8.6  光柵化    21
1.8.7  性能特性    21
1.9  小結    22
1.10  補充閱讀材料    22
習題    23
第2章  圖形學編程    25
2.1  Sierpinski鏤墊    25
2.2  二維應用程序編程    26
2.3  OpenGL API工具包    29
2.3.1  圖形函數    30
2.3.2  圖形流水線和狀態(tài)機    31
2.3.3  OpenGL接口    31
2.4  圖元與屬性    32
2.4.1  多邊形基本概念    33
2.4.2  OpenGL里的多邊形類型    34
2.4.3  繪制球體    35
2.4.4  字符    37
2.4.5  曲線和曲面    38
2.4.6  屬性    38
2.5  顏色    39
2.5.1  RGB顏色    41
2.5.2  索引顏色    42
2.5.3  設置顏色屬性    44
2.6  視圖處理    44
2.6.1  二維視圖    44
2.6.2  正交視圖    45
2.6.3  矩陣模式    46
2.7  控制函數    47
2.7.1  與Windows操作系統(tǒng)的
交互作用    47
2.7.2  縱橫比和視口    48
2.7.3  main()、display()和myinit()
函數    49
2.7.4  程序結構    50
2.8  Sierpinski鏤墊程序    50
2.9  多邊形與遞歸過程    52
2.10  三維Sierpinski鏤墊    54
2.10.1  使用三維點    54
2.10.2  在三維空間里使用多邊形    55
2.10.3  隱藏面消除    56
2.11  小結    57
2.12  補充閱讀材料    58
習題    59
第3章  輸入與交互    62
3.1  交互模式    62
3.2  輸入設備    63
3.2.1  物理輸入設備    63
3.2.2  邏輯設備    65
3.2.3  測量與觸發(fā)    66
3.2.4  輸入模式    66
3.3  客戶-服務器結構    67
3.4  顯示列表    68
3.4.1  顯示列表的定義和運行    69
3.4.2  字符和顯示列表    71
3.4.3  GLUT庫里的字體    73
3.5  事件驅動輸入的編程    74
3.5.1  使用指向輸入設備    74
3.5.2  窗口事件    76
3.5.3  鍵盤事件    78
3.5.4  顯示回調函數和空閑回調
函數    78
3.5.5  窗口管理    79
3.6  菜單    79
3.7  拾取    80
3.8  一個簡單的畫圖程序    85
3.9  交互式動畫程序    89
3.9.1  旋轉的正方形    90
3.9.2  雙緩存    91
3.9.3  其他一些緩存問題    92
3.10  交互式程序的設計    93
3.11  邏輯運算    94
3.11.1  繪制可以刪除的線段    95
3.11.2  異或操作(XOR)和顏色    97
3.11.3  光標與覆蓋層位平面    97
3.12  小結    98
3.13  補充閱讀材料    98
習題    99
第4章  幾何對象與坐標變換    102
4.1  標量、點和矢量    102
4.1.1  幾何觀點    102
4.1.2  與坐標無關的幾何對象    104
4.1.3  數學觀點:矢量與仿射空間    104
4.1.4  計算機科學的觀點    105
4.1.5  幾何抽象數據類型(ADT)    105
4.1.6  直線    106
4.1.7  仿射加    107
4.1.8  凸性    107
4.1.9  點積和叉積    108
4.1.10  平面    109
4.2  三維圖元    110
4.3  坐標系與標架    111
4.3.1  矢量表示與n元組    112
4.3.2  坐標系的變換    113
4.3.3  坐標變換的例子    114
4.3.4  齊次坐標    115
4.3.5  標架變換的例子    117
4.3.6  表示矩陣的運算處理    119
4.3.7  標架系統(tǒng)與抽象數據類型    119
4.3.8  OpenGL里的標架系統(tǒng)    121
4.4  建立一個彩色立方體模型    123
4.4.1  一個立方體模型    123
4.4.2  內側面與外側面    124
4.4.3  對象表示的數據結構    124
4.4.4  彩色立方體    125
4.4.5  雙線性插值    126
4.4.6  頂點數組    127
4.5  仿射變換    128
4.6  平移、旋轉和縮放    130
4.6.1  平移變換    130
4.6.2  旋轉變換    131
4.6.3  縮放變換    132
4.7  齊次坐標表示的變換公式    133
4.7.1  平移    133
4.7.2  縮放    134
4.7.3  旋轉    134
4.7.4  剪切變換    135
4.8  變換的串乘運算    136
4.8.1  繞某一固定點的旋轉    137
4.8.2  一般的旋轉變換    138
4.8.3  實例變換    139
4.8.4  繞任一軸旋轉    140
4.9  OpenGL中的變換矩陣    142
4.9.1  當前變換矩陣    142
4.9.2  旋轉、平移和縮放    143
4.9.3  在OpenGL中繞固定點
旋轉    144
4.9.4  變換次序    144
4.9.5  立方體的旋轉    145
4.9.6  矩陣的裝載、壓棧和彈棧
操作    146
4.10  三維應用程序的交互方式    146
4.10.1  利用屏幕區(qū)域    147
4.10.2  一個虛擬跟蹤球    147
4.10.3  平滑旋轉    149
4.10.4  遞增式旋轉    149
4.11  四元數    150
4.11.1  復數與四元數    150
4.11.2  四元數與旋轉    151
4.12  小結    152
4.13  補充閱讀材料    153
習題    153
第5章  視圖    155
5.1  經典視圖和計算視圖    155
5.1.1  經典視圖    156
5.1.2  正則投影    157
5.1.3  軸測法投影    157
5.1.4  斜投影    158
5.1.5  透視圖    158
5.2  計算機視圖    159
5.3  照相機定位    160
5.3.1  照相機標架定位    160
5.3.2  兩個處理視圖的API
工具包    164
5.3.3  Look-At函數    166
5.3.4  其他視圖API工具包    167
5.4  簡單投影    168
5.4.1  透視投影    168
5.4.2  正交投影    170
5.5  OpenGL的投影視圖    171
5.5.1  OpenGL的透視投影    172
5.5.2  OpenGL平行視圖    173
5.6  隱藏面消除    174
5.7  在場景中漫游    175
5.8  平行投影矩陣    177
5.8.1  投影正則化    177
5.8.2  正交投影矩陣    178
5.8.3  斜投影    179
5.9  透視投影矩陣    181
5.9.1  透視正則化    182
5.9.2  OpenGL的透視變換    184
5.10  投影與陰影    185
5.11  小結    187
5.12  補充閱讀材料    188
習題    188
第6章  明暗處理    190
6.1  光與材質    190
6.2  光源    192
6.2.1  彩色光源    192
6.2.2  環(huán)境光    193
6.2.3  點光源    193
6.2.4  聚光燈    194
6.2.5  遠距離光源    194
6.3  Phong反射模型    195
6.3.1  環(huán)境反射    196
6.3.2  漫反射    196
6.3.3  鏡面反射光    197
6.4  矢量計算    199
6.4.1  法向矢量    199
6.4.2  反射角度    201
6.4.3  利用中值矢量    202
6.4.4  折射光    202
6.5  多邊形的明暗處理    203
6.5.1  平面明暗處理    204
6.5.2  插值和Gouraud明暗處理
方法    205
6.5.3  Phong明暗處理方法    206
6.6  球面的遞歸細分逼近    206
6.7  OpenGL中的光源    209
6.8  OpenGL里的材質說明    211
6.9  球體模型的明暗處理    213
6.10  全局繪制    214
6.11  小結    215
6.12  補充閱讀材料    216
習題    216
第7章  離散技術    218
7.1  緩存    218
7.2  數字圖像    219
7.3  緩存寫操作    221
7.3.1  寫入模式    222
7.3.2  異或寫入模式    223
7.4  OpenGL里的位運算和像素運算    223
7.4.1  OpenGL的緩存和像素
管道    224
7.4.2  位圖    225
7.4.3  光柵字體    225
7.4.4  像素與圖像    226
7.4.5  查找表    227
7.4.6  用于拾取的緩存    228
7.5  映射方法    228
7.6  紋理映射    229
7.6.1  二維紋理映射    230
7.6.2  OpenGL里的紋理映射    234
7.6.3  紋理對象    239
7.6.4  多紋理通道    239
7.6.5  創(chuàng)建紋理對象    239
7.7  環(huán)境貼圖    240
7.8  凹凸貼圖    242
7.9  圖像合成技術    243
7.9.1  不透明性與融合    243
7.9.2  圖像合成    244
7.9.3  OpenGL里的融合與合成    244
7.9.4  反走樣    245
7.9.5  從后至前和從前至后的
繪制過程    246
7.9.6  景深提示和霧效果    247
7.10  多通道繪制與累積緩存    248
7.10.1  場景反走樣    248
7.10.2  凹凸貼圖和浮雕效果    248
7.10.3  圖像處理    249
7.10.4  OpenGL的圖像處理
擴展集    250
7.10.5  其他多通道方法    250
7.11  采樣與走樣    251
7.11.1  采樣理論    251
7.11.2  重構    254
7.11.3  量化    255
7.12  小結    256
7.13  補充閱讀材料    256
習題    257
第8章  渲染器的實現    259
8.1  實現的基本策略    259
8.2  實現過程的4個主要任務    260
8.2.1  建模    261
8.2.2  幾何處理    261
8.2.3  光柵化    262
8.2.4  顯示    262
8.3  變換的實現    262
8.4  線段裁剪    264
8.4.1  Cohen-Sutherland裁剪算法    264
8.4.2  Liang-Barsky裁剪算法    266
8.5  多邊形裁剪    267
8.6  其他圖元的裁剪    269
8.6.1  包圍盒和包圍體    270
8.6.2  曲線、曲面和字符    270
8.6.3  幀緩存里的裁剪操作    271
8.7  三維裁剪    271
8.8  隱藏面消除    273
8.8.1  景物空間和圖像空間    273
8.8.2  排序與隱藏面消除    275
8.8.3  背面剔除    275
8.8.4  z-buffer算法    275
8.8.5  深度排序和畫家算法    277
8.8.6  掃描線算法    279
8.9  掃描轉換    279
8.10  Bresenham算法    281
8.11  多邊形的掃描轉換    283
8.11.1  內外測試法    283
8.11.2  OpenGL與凹多邊形    284
8.11.3  帶z-buffer算法的掃描
轉換    285
8.11.4  填充與排序    286
8.11.5  種子填充算法    286
8.11.6  掃描線填充算法    287
8.11.7  奇異性    287
8.12  反走樣    288
8.13  顯示器因素    289
8.13.1  顏色系統(tǒng)    290
8.13.2  顏色矩陣    292
8.13.3   校正    292
8.13.4  抖動技術與半色調技術    293
8.14  小結    293
8.15  補充閱讀材料    294
習題    295
第9章  層級結構和面向對象的建模方法    297
9.1  圖符與實例    297
9.2  層級模型    298
9.3  一個機器人手臂    300
9.4  樹與樹的遍歷    302
9.5  樹形數據結構的用途    305
9.6  動畫    308
9.7  圖形對象    309
9.7.1  方法、屬性和消息    309
9.7.2  一個立方體對象    310
9.7.3  實現立方體對象    312
9.7.4  對象與層級結構    312
9.7.5  幾何對象    313
9.8  場景圖    314
9.9  一個簡單場景圖的API    315
9.9.1  結點類    316
9.9.2  幾何結點    317
9.9.3  照相機類    319
9.9.4  光源和材質    320
9.9.5  變換類    321
9.9.6  機器人類    322
9.9.7  實現觀察者類    324
9.9.8  實現結點類    327
9.10  其他的樹形結構    330
9.10.1  CSG樹    330
9.10.2  明暗處理樹    332
9.10.3  BSP樹    332
9.10.4  四叉樹和八叉樹    334
9.11  圖形與萬維網    335
9.11.1  網絡與協議    335
9.11.2  超媒體與HTML語言    336
9.11.3  數據庫與VRML    337
9.11.4  Java與Applets    337
9.12  小結    338
9.13  補充閱讀材料    338
習題    339
第10章  曲線與曲面    340
10.1  曲線和曲面的表示方法    340
10.1.1  顯式表示法    340
10.1.2  隱式表示    341
10.1.3  參數形式    342
10.1.4  參數多項式曲線    343
10.1.5  參數多項式曲面    344
10.2  設計準則    345
10.3  三次多項式參數曲線    346
10.4  插值    347
10.4.1  調和函數    348
10.4.2  三次插值面片    349
10.5  Hermite曲線和曲面    351
10.5.1  Hermite形式    351
10.5.2  幾何連續(xù)和參數連續(xù)    353
10.6  Bezier曲線和曲面    354
10.6.1  Bezier曲線    354
10.6.2  Bezier曲面面片    356
10.7  三次B-樣條    356
10.7.1  三次B-樣條曲線    357
10.7.2  B-樣條與基函數    359
10.7.3  樣條曲面    360
10.8  一般的B-樣條函數    360
10.8.1  B-樣條的遞歸定義    361
10.8.2  均勻樣條    362
10.8.3  非均勻B-樣條    362
10.8.4  NURBS    362
10.9  曲線和曲面的繪制    363
10.9.1  多項式求解方法    363
10.9.2  Bezier多項式的遞歸細分    364
10.9.3  其他多項式曲線的細分
繪制    366
10.9.4  Bezier曲面的細分    367
10.10  猶他大學茶壺模型    368
10.11  代數曲面    370
10.11.1  二次曲面    370
10.11.2  曲面的光線跟蹤方法
繪制    370
10.11.3  曲線與曲面的細分    371
10.12  OpenGL里的曲線與曲面    373
10.12.1  Bezier曲線    373
10.12.2  Bezier曲面    374
10.12.3  茶壺顯示    375
10.12.4  NURBS函數    376
10.12.5  二次曲面    377
10.13  小結    377
10.14  補充閱讀材料    377
習題    378
第11章  過程建模方法    379
11.1  使用過程建模的理由    379
11.2  基于物理模型和粒子系統(tǒng)    380
11.3  牛頓粒子    381
11.3.1  獨立粒子    382
11.3.2  彈簧力    382
11.3.3  吸引力與排斥力    383
11.4  求解粒子系統(tǒng)    384
11.5  約束    386
11.5.1  碰撞    386
11.5.2  球體內的粒子    388
11.5.3  軟約束    389
11.6  基于語言的模型    389
11.7  遞歸方法與分形幾何    392
11.7.1  標尺與長度    392
11.7.2  分形維數    393
11.7.3  中點分割與布朗運動    394
11.7.4  分形山體    395
11.8  Mandelbrot集合    396
11.9  小結    398
11.10  補充閱讀材料    398
習題    399
第12章  可視化    400
12.1  數據+幾何    400
12.2  高度場和等高線    400
12.2.1  網格    401
12.2.2  等高線圖    403
12.2.3  Marching Squares    403
12.3  表面和標量場的可視化    408
12.3.1  體數據集    409
12.3.2  隱函數的可視化    410
12.4  等值面和Marching Cubes    411
12.5  網格簡化    413
12.6  直接體繪制    414
12.6.1  顏色和不透明度賦值    414
12.6.2  濺射法    415
12.6.3  體光線跟蹤法    416
12.6.4  體的紋理映射    417
12.7  向量場可視化    417
12.7.1  Hedgehog法    417
12.7.2  圖示符    418
12.7.3  顏色    419
12.7.4  粒子軌跡和流線    420
12.8  張量可視化    421
12.9  小結    422
12.10  補充閱讀材料    422
習題    422
第13章  高級繪制方法    424
13.1  流水線繪制技術不能解決的問題    424
13.2  光線跟蹤    425
13.3  建立一個簡單的光線跟蹤器    427
13.3.1  光線跟蹤的遞歸過程    427
13.3.2  交點計算    428
13.3.3  光線跟蹤的變異形式    430
13.4  繪制方程    431
13.5  輻射度    432
13.5.1  輻射度方程    432
13.5.2  求解輻射度方程    433
13.5.3  計算形狀因子    434
13.5.4  實現輻射度算法    436
13.6  RenderMan    437
13.7  大規(guī)模場景繪制    437
13.7.1  中排序繪制法    438
13.7.2  后排序繪制法    439
13.7.3  先排序繪制法    441
13.8  基于圖像的繪制    442
13.9  小結    443
13.10  補充閱讀材料    444
習題    444
附錄A  實例程序    446
A.1  Sierpinski鏤墊程序    447
A.2  生成Sierpinski鏤墊的遞歸程序    448
A.3  生成三維Sierpinski鏤墊程序    450
A.4  生成三維Sierpinski鏤墊的遞歸
程序    452
A.5  生成正方形程序    454
A.6  畫圖程序    457
A.7  介紹雙緩存使用的程序    464
A.8  用選擇模式實現拾取功能程序    466
A.9  立方體旋轉程序    469
A.10  利用頂點數組旋轉立方體程序    472
A.11  用虛擬跟蹤球實現立方體旋轉
程序    474
A.12  觀察者漫游程序    478
A.13  球體的細分逼近程序    481
A.14  像素讀寫程序    485
A.15  帶紋理立方體的旋轉程序    486
A.16  場景圖形程序實例    490
A.17  畫Bezier曲線程序    495
附錄B  空間    501
B.1  標量    501
B.2  向量空間    501
B.3  仿射空間    503
B.4  歐幾里德空間    504
B.5  投影    505
B.6  格萊姆-施密特正交化    505
B.7  補充閱讀材料    506
習題    506
附錄C  矩陣    507
C.1  定義    507
C.2  矩陣運算    507
C.3  行矩陣和列矩陣    508
C.4  秩    509
C.5  不同表示之間的轉換    510
C.6  叉乘運算    511
C.7  特征值和特征向量    511
C.8  補充閱讀材料    512
習題    512
參考文獻    514

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號