图书目录

目录

第1章绪论1

1.1计算机图形学概述1

1.2计算机图形系统4

1.2.1计算机图形系统的组成4

1.2.2计算机图形系统的主要任务6

1.2.3图形绘制的基本策略7

1.3计算机图形系统的体系结构8

1.3.1显示处理器8

1.3.2流水线9

1.3.3图形绘制流水线9

1.4计算机图形学的应用10

1.4.1信息的显示10

1.4.2设计11

1.4.3仿真和动画12

1.4.4图形用户界面13

1.5计算机图形学简史14

1.6OpenGL和WebGL17

WebGL开发实战119

实验1在Canvas上绘图19

实验2第一个WebGL程序: 绘制一个点22

实验3在WebGL中绘制一个三角形26

第2章几何建模31

2.1点、标量和向量31

2.2坐标系统34

2.3图元和属性37

2.4彩色立方体建模38

2.5二维Sierpinski镂垫绘制40

2.6三维Sierpinski镂垫绘制42

2.7球的建模43

WebGL开发实战244

实验1绘制二维镂垫44

实验2绘制彩色立方体49

实验3绘制三维Sierpinski镂垫53

第3章几何变换57

3.1仿射变换57

3.2平移、旋转和缩放58

3.2.1平移58

3.2.2旋转58

3.2.3缩放60

3.2.4反射变换61

3.2.5错(剪)切变换61

3.3变换的级联(联合)62

3.3.1基于任一定点的旋转变换(绕z轴旋转)62

3.3.2实例变换63

3.4窗口到视区的坐标变换64

3.5虚拟跟踪球65

3.6四元数66

3.7计算机动画68

WebGL开发实战369

实验1使立方体旋转起来69

实验2虚拟跟踪球72

第4章观察77

4.1经典观察77

4.2计算机观察80

4.3定位照相机80

4.4平行投影83

4.4.1正交投影83

4.4.2斜投影84

4.5透视投影85

4.6隐藏面消除88

4.7投影和阴影88

4.8裁剪89

4.8.1直线裁剪90

4.8.2多边形裁剪92

4.8.3其他图元的裁剪93

4.8.4三维裁剪94

WebGL开发实战495

实验1从指定视点观察旋转后的三角形95

实验2正射投影97

实验3透视投影99

第5章光照和着色102

5.1光线和材质102

5.2颜色模型104

5.3光源106

5.4Phong光照模型108

5.5多边形着色方案111

5.6指定光照参数112

5.6.1光源参数的指定112

5.6.2材质属性的指定113

WebGL开发实战5113

实验简单光照模型113

第6章贴图117

6.1缓存117

6.2映射方法118

6.3二维纹理映射119

6.4环境映射123

6.5凹凸映射123

6.6融合技术124

6.6.1不透明度与融合124

6.6.2图像融合125

WebGL开发实战6125

实验立方体二维贴图125

第7章光栅图形生成131

7.1光栅图形学概述131

7.2直线光栅化131

7.2.1直线绘制基本算法131

7.2.2数值微分法132

7.2.3Bresenham算法133

7.3多边形光栅化135

7.3.1扫描线填充算法135

7.3.2种子填充算法136

7.3.3多边形内外点测试137

7.3.4多边形三角剖分138

7.4反走样139

7.5隐藏面消除140

WebGL开发实战7142

实验1DDA画线算法实现142

实验2Bresenham画线算法实现147

第8章曲线与曲面150

8.1曲线和曲面的表示形式150

8.2三次插值参数多项式曲线152

8.3Hermite曲线和曲面154

8.4几何连续性和参数连续性156

8.5Bezier曲线和曲面157

8.5.1三次Bezier曲线157

8.5.2其他阶数的Bezier曲线158

8.5.3Bezier曲线的性质159

8.5.4Bezier曲线的分割递推de Casteljau算法161

8.5.5Bezier曲面片162

8.6B样条曲线和曲面162

8.6.1B样条曲线的定义162

8.6.2B样条曲线的局部性质与定义域164

8.6.3B样条曲线的分类166

8.6.4零次及一次B样条曲线166

8.6.5均匀B样条曲线167

8.6.6非均匀B样条曲线170

8.6.7非均匀有理B样条曲线172

8.6.8B样条曲面172

WebGL开发实战8173

实验Bezier曲线与B样条曲线173

第9章高级建模与高级绘制179

9.1层级建模方法179

9.1.1非层级建模179

9.1.2层级建模180

9.1.3层级建模的树状表示181

9.1.4层级建模的应用181

9.2过程建模方法187

9.2.1粒子系统187

9.2.2基于agent的建模188

9.2.3基于语言的建模189

9.2.4递归方法和分形190

9.2.5过程噪声191

9.3光线跟踪方法191

9.4辐射度方法193

9.5路径跟踪方法194

9.6并行绘制方法195

9.7体绘制方法196

9.8基于图像的绘制方法197

WebGL开发实战9198

实验层次结构模型198

参考文献208