基础篇 3
第1章 Visual C++ .NET基础 3
1.1 Visual C++ .NET的新发展 3
1.1.1 Visual C++ .NET的新特性 3
1.1.2 Visual C++ .NET集成开发环境的新改进 4
1.2 Visual Studio窗口对象 7
1.2.1 Visual Studio起始页 7
1.2.2 “解决方案资源管理器”窗口 10
1.2.3 “类视图”窗口 11
1.2.4 “资源视图”窗口 12
1.2.5 “属性”窗口 12
1.2.6 “任务列表”窗口 13
1.2.7 “工具箱”窗口 13
1.2.8 编辑器窗口 14
1.2.9 “服务器资源管理器”窗口 14
1.2.10 “对象浏览器”窗口 16
1.2.11 “宏资源管理器”窗口 17
1.3 应用程序主框架 19
1.3.1 创建应用程序主框架 20
1.3.2 项目框架结构分析 22
1.4 Visual C++ .NET的菜单 26
1.4.1 “文件”菜单 27
1.4.2 编辑菜单 30
1.4.3 “视图”菜单 32
1.4.4 “项目”菜单 32
1.4.5 “生成”菜单 35
1.4.6 “调试”菜单 36
1.4.7 “工具”菜单 37
1.4.8 “窗口”菜单 41
1.4.9 “帮助”菜单 41
1.5 工程界面设计 45
1.5.1 菜单设计 45
1.5.2 建立命令按钮 52
1.6 小结 52
第2章 绘图函数的用法 53
2.1 画笔 53
2.1.1 画笔的属性 53
2.1.2 画笔的创建 54
2.1.3 创建多支画笔 55
2.2 画刷 56
2.2.1 画刷的属性 57
2.2.2 创建画刷 57
2.2.3 使用画笔和画刷 57
2.3 线图函数 58
2.3.1 Setpixel()函数 58
2.3.2 MoveTo()和LineTo()函数 61
2.3.3 画椭圆函数 64
2.3.4 矩形函数Rectangle()和RoundRect() 70
2.3.5 连续画线函数 73
2.4 填充函数 78
2.4.1 Rectangle()函数 78
2.4.2 FillSolidRect()函数 79
2.4.3 ExtFloodFill()函数 80
2.4.4 FloodFill()函数 86
2.5 小结 87
高级图形设计篇 91
第3章 应用图形程序设计 91
3.1 直线段图形 91
3.1.1 利用三角函数表达式的变化规律画直线段图案 91
3.1.2 按函数规律分布绘出直线段图案 96
3.1.3 线段图案 99
3.2 曲线图形 105
3.2.1 函数曲线图形 105
3.2.2 复杂的曲线图案 118
3.3 计算机绘图在物理中的应用 126
3.4 小结 132
第4章 递归图形和随机图形 133
4.1 递归图形 133
4.2 分型设计方法 149
4.3 随机图案 157
4.4 小结 162
第5章 二维图形变换及程序设计 163
5.1 平面图形几何变换及程序设计 163
5.1.1 平移变换 163
5.1.2 比例变换 169
5.1.3 旋转变换 170
5.1.4 对称变换 173
5.1.5 组合变换 177
5.1.6 二维图形几何变换的程序实例 180
5.2 图形的特殊变换 187
5.2.1 内插法图形变换 187
5.2.2 图案的扇形变换 194
5.2.3 圆环变换 196
5.2.4 球面镜变换 201
5.2.5 三角函数变换 204
5.2.6 三角形变换 205
5.3 小结 207
第6章 美术图案设计 208
6.1 美术图案单元 208
6.2 美术图案程序设计 218
6.2.1 美术图案单元的生成 218
6.2.2 图案单元的屏幕设置 226
6.3 美术花边自动生成程序 230
6.4 小结 237
第7章 工程曲线 238
7.1 直线 238
7.1.1 直线的表示 238
7.1.2 两条直线的相交 238
7.1.3 线段的定比分点 239
7.2 函数曲线图形的绘制 240
7.2.1 窗口-视见变换 240
7.2.2 参数方程图形 242
7.3 圆弧曲线 247
7.3.1 圆弧 247
7.3.2 三点画弧 248
7.3.3 两点画弧 250
7.4 三次样条插值曲线 253
7.4.1 三次参数样条插值曲线 254
7.4.2 三次参数样条插值曲线的应用 258
7.5 贝塞尔曲线 265
7.5.1 贝塞尔曲线表达式 265
7.5.2 贝塞尔曲线的程序设计实例 272
7.6 B样条曲线 274
7.6.1 B样条曲线表达式 275
7.6.2 B样条曲线的程序设计 279
7.7 小结 280
第8章 鼠标交互绘图技术 281
8.1 鼠标消息的处理方法 281
8.1.1 VC++鼠标消息 281
8.1.2 创建鼠标消息处理函数 282
8.1.3 鼠标捕获和改变鼠标指针 283
8.1.4 创建MOUSE应用程序 283
8.2 交互绘图程序设计 288
8.2.1 确定坐标值法 288
8.2.2 拖曳法 292
8.3 使用鼠标绘制工程曲线 306
8.3.1 贝塞尔曲线 306
8.3.2 三次参数样条曲线 307
8.3.3 B样条曲线 309
8.4 小结 310
第9章 三维图形屏幕显示 311
9.1 三维图形的屏幕显示 311
9.2 三维图形的程序设计 313
9.2.1 几何图形 313
9.2.2 函数的立体图程序设计 318
9.2.3 球体程序设计 324
9.3 三维图形的几何变换 327
9.3.1 三维图形的几何变换 327
9.3.2 三维投影变换 330
9.3.3 图形三维变换的程序设计 332
9.4 隐线处理 357
9.4.1 根据描画顺序进行隐线处理 357
9.4.2 使用计算法进行球面的隐线处理 361
9.4.3 使用极大极小法进行函数立体图形的隐线处理 364
9.4.4 凸多面体隐线处理 367
9.5 立体绘图的工程应用 372
9.6 小结 382
第10章 曲面 383
10.1 空间曲面的数学描述 383
10.1.1 曲面的参数表示 383
10.1.2 双线性曲面 384
10.1.3 回转曲面 388
10.2 孔斯曲面 390
10.3 贝塞尔曲面 400
10.4 B样条曲面 408
10.5 小结 415
第11章 动画 416
11.1 常用动画制作技术 416
11.1.1 BitBlt动画 416
11.1.2 帧动画 417
11.1.3 实时动画 417
11.2 Windows环境下动画实现原理 417
11.3 图形动画 418
11.3.1 飞机打坦克程序的设计 418
11.3.2 动画程序设计 420
11.4 播放AVI动画 439
11.5 小结 442
图像处理程序设计篇 445
第12章 位图文件的基本操作 445
12.1 图像文件的格式 445
12.2 打开DDB位图文件 447
12.3 打开DIB位图 448
12.3.1 利用函数Onopen()打开DIB位图 448
12.3.2 创建新CDib类打开DIB文件 459
12.4 位图图像的几何变换 470
12.5 小结 474
第13章 界面切换 475
13.1 打开图像 475
13.1.1 新建项目 475
13.1.2 建立打开位图文件 477
13.2 界面切换 480
13.2.1 BitBlt()函数 480
13.2.2 菜单设计 481
13.2.3 界面切换程序设计 481
13.3 小结 495
第14章 彩色图像处理 496
14.1 彩色位图图像的处理基础 496
14.1.1 彩色位图图像的颜色 496
14.1.2 彩色图像生成单色图像 497
14.2 彩色图像变换 504
14.3 彩色图像卷积滤波 521
14.4 小结 535
第15章 灰度图像处理 536
15.1 灰度图像的处理 536
15.2 灰度图像的对比度处理 541
15.3 局域滤波处理 554
15.4 小结 562
第16章 边缘探测 563
16.1 Roberts算子 563
16.2 Sobel算子 565
16.3 拉普拉斯算子 571
16.3.1 四邻域微分 571
16.3.2 八邻域微分 573
16.4 右下边缘抽出 575
16.5 其他算子 577
16.5.1 Prewitt边缘探测样板算子 577
16.5.2 Robinsou算子 580
16.5.3 kirsch算子 583
16.5.4 Smoothed算子 586
16.6 小结 588
第17章 二值图像处理 589
17.1 直方图 589
17.1.1 灰度图像的直方图 589
17.1.2 灰度直方图的程序设计 591
17.1.3 阈值计算 592
17.2 图像的二值化 596
17.3 二值图像处理 609
17.4 细化 618
17.5 小结 627
第18章 图像测量 628
18.1 形状测量 628
18.2 面积测量 629
18.2.1 标号法计算面积 629
18.2.2 利用标号法除去小面积粒子 633
18.3 区域边界抽出和周长计算 636
18.3.1 区域边界抽出 636
18.3.2 区域边界周长 640
18.4 长度和角度测量 643
18.4.1 长度测量 644
18.4.2 角度测量 644
18.4.3 测量角度程序 647
18.5 小结 647
附录A 光盘内容 648