前言 1
目 录 1
第一部分图形编程 2
第一章Windows 2
1.1 Windows如何运行程序 3
1.1.1启动应用程序 3
1.1.2管理系统资源 3
1.1.3管理输入 3
简介 4
1.1.4消息循环 4
1.1.5消息句柄 4
1.2用户程序如何运行Windows 5
1.2.1动态链接库 5
1.3典型Windows应用程序的组成 5
1.4编译连接Windows应用程序 6
1.5.3生成消息框 8
1.5.2生成一套菜单 8
1.5.4建立和使用文本串 8
1.5 Windows应用程序部件的建立 8
1.5.1生成主窗口 8
1.5.5使用核心图形函数 9
1.6应用程序样例 9
1.6.1可重复使用结构 10
1.7程序做些什么:用户指南 10
1.7.1菜单和消息框 11
1.7.2文件菜单 12
1.8.1.h文件如何工作 13
1.8.2 .rc文件如何工作 13
1.8源代码如何工作:程序员指南 13
1.8.3.C文件如何工作 14
1.9应用程序样例清单 15
第二章图形编程 27
2.1 GDI 27
2.1.1 设备 27
2.1.2设备描述表 27
2.1.3显示描述表 27
2.2显示描述表 28
2.2.1缺省属性 28
2.2.2创建显示描述表 28
2.3绘图工具 29
2.2.5兼容的设备描述表 29
2.3.1绘图工具函数 29
2.2.4保存和恢复显示描述表 29
2.2.3释放一个显示描述表 29
2.3.2绘图属性函数 30
2.3.3画笔 31
2.3.4 画刷 31
2.3.5字体 31
2.3.6色彩 31
2.3.7 RGB描述 31
2.3.8调色板 31
2.4.1位图 34
2.4输出操作 34
2.4.2区域 35
2.4.3字体和文本 35
2.4.4 映射(mapping) 37
2.5示例应用程序 37
2.6程序干什么——使用说明 37
2.6.1设备无关性 37
2.6.2图形不变性 38
2.7源代码如何工作——编程说明 38
2.7.1.C文件如何工作 40
2.8应用程序样例清单 43
3.1 透明放置 64
第三章使用位块传送 64
3.2图像文件函数 65
3.3示例应用程序 65
3.4程序做什么——使用说明 66
3.4.1透明放置 66
3.4.2磁盘文件 66
3.5源程序如何工作——编程说明 67
3.5.1.C文件如何工作 67
3.6应用程序样例清单 72
4.1三维入门 97
4.1.1 B-rep造型 97
第四章造 型 97
4.1.2 CSG造型 98
4.2造型函数 98
4.2.1旋转、拉伸、扩散 98
4.2.2图元 98
4.2.3 曲面 99
4.2.4欧拉操作 99
4.3三维坐标 99
4.3.1对象坐标和世界坐标 99
4.3.2摄影机坐标 99
4.3.3图像平面坐标 99
4.3.4屏幕坐标 99
4.4.1三维变换序列 100
4.4三维编程的一些概念 100
4.4.3 B-rep组成部分 101
4.4.2坐标系 101
4.4.4造型公式 102
4.4.5润色方法 102
4.4.6隐藏表面消去 102
4.4.7偏转、滚动、纵摇 103
4.4.8光源 103
4.4.9亮度 103
4.5示例应用程序 104
4.6程序做什么——使用说明 104
4.7.1.c文件如何工作 106
4.7源代码如何工作——编程说明 106
4.7.2三维库如何工作 108
4.8示例程序的程序清单 110
第五章标 题 147
5.1动画图像中使用文本 147
5.1.1 使用TextOut()显示文本 147
5.1.2彩色文本 147
5.2使用Windows的内装字体 148
5.2.1字符集 148
5.2.5内装轮廓字体 149
5.2.4内装笔画字体 149
5.2.2库存字体的分类 149
5.2.3内装位图字体 149
5.3专用文本函数 150
5.3.1 利用ExtTextOut()来显示文本 150
5.3.2高级文本输出 150
5.3.3使用逻辑字体 150
5.3.4文本图元的属性 151
5.3.5使用不同的字尺寸和字样 151
5.3.6使用逻辑字体 151
5.5程序做了什么:用户指南 152
5.4示例应用程序 152
5.5.1库字体和颜色 153
5.5.2叠加文本 153
5.5.3阴影(Dropshadows) 153
5.6源程序如何工作:程序员指南 155
5.6.1.c文件如何工作 155
5.7示例程序的程序清单 156
第二部分计算机动画 188
第六章Windows动画 188
6.1计算机辅助动画 188
6.2动画控制 189
6.1.1四维时空 189
6.2.1手写动画 190
6.2.2程序动画 190
6.2.3实物动画 191
6.3动画实现 192
6.3.1低级工具 192
6.3.2实时动画 192
6.3.3帧式动画 193
6.4.1循环算法 194
6.4.2基于定时器算法 194
6.4编制动画程序 194
6.4.3动画平台 197
6.4.4动画创作 197
6.4.5性能考虑 198
第七章实时动画机 200
7.1动画准备 200
7.1.1栅格图 200
7.1.2动画算法 200
7.1.3实例 201
7.2程序要完成什么:用户指南 202
7.2.1造型图案 202
7.2.3冻结帧和单步动画 203
7.2.2演示动画 203
7.2.5使用Help菜单 205
7.2.4持续图形 205
7.3源程序如何工作:程序员指南 207
7.3.1.c文件如何工作 208
7.4示例程序的程序清单 212
第八章帧动画机 247
8.1动画的准备 247
8.1.1关于坐标栅格(grid) 247
8.1.2动画算法 248
8.3.1初始化系统 249
8.3.2创建帧 249
8.3用户指南一程序在做什么 249
8.2示例应用程序 249
8.3.3装入动画 250
8.3.4调整动画速度 250
8.3.5帧冻结和单步动画 252
8.3.6持久的图形 253
8.3.7使用帮助菜单 254
8.4源代码如何工作:程序员指南 257
8.4.1.c文件如何工作 257
A.1.2用列出的程序 262
A.1用源代码工作 262
8.5示例的程序清单 266
第九章图元(cel)动画和Windows 316
9.1图元动画示范 316
9.2计算机动画示范 316
9.2.1数字化方法 316
第三部分图案动画 316
9.3中间图插补 319
9.3.1插补图表 320
9.3.2剧本 321
第十章人 物 322
10.1如何去画头部和脸部 322
10.2如何画手 326
10.3如何画胳膊、腿和身体 327
10.4如何画动画人物的眼睛 330
10.5如何描绘人物的言谈和对话 332
10.6如何画面部表情 335
10.7如何让动画人物的头部转动 338
10.8应用图例的准备工作 339
10.9应用图例 341
10.10.2创建图像的帧 342
10.10.1系统的初始化 342
10.10用户指南、程序如何使用 342
10.10.4运行动画 343
10.10.3动画图像的加载 343
10.10.5改变动画的演放速度 346
10.10.6静止图像和单步显示的操作 346
10.10.7检验图像显示的不中断性 346
10.10.8应用Help帮助菜单 346
10.11源代码如何工作:程序员指南 347
10.11.1.C文件如何工作 347
10.11.2磁盘输入/输出模块如何工作 348
10.12示例应用程序清单 348
11.1舞台设计基本原理 406
11.1.1兴趣中心(center-of-interest) 406
第十一章舞台设计 406
11.1.2 地平线(Horizon Line) 407
11.2舞台表演基本原理 407
11.2.1摄影机镜头(The camear shot) 407
11.2.2管理人物 408
11.3应避免的舞台设计错误 409
12.1透视图法入门 411
第十二章透视图 411
12.2两消失点与三消失点透视图法比较 413
12.2.2画面(Picture plane)原理图 413
12.2.1透视图的精确画法 413
12.3视觉范围的考虑 416
12.4视图法要解决的问题 418
12.5透视图的人物 419
12.6透视图的阴影 419
13.1.1时间及混叠技术 426
13.1动作模糊和变形 426
第十三章动 作 426
13.1.2挤压拉伸 427
1 3.1.3实际应用 427
13.1.4人物的动作 428
1 3.1.5步行周期 430
13.1.6恍然大悟(Double takes) 431
13.2动画样例的预备知识 431
13.3动画样例 433
13.4.1初始化系统 434
13.4.2创建各帧图像 434
13.4演示程序的用户指南 434
1 3.4.3动画加载 435
13.4.8应用Help帮助菜单 437
13.4.4播放动画 437
13.4.7动画显示的不中断 437
13.4.5调节动画播放速度 437
13.4.6图像静止和单步播放 437
13.5.1 .C文件如何工作 438
13.5源代码如何工作:程序员指南 438
13.6示例程序清单 439
第十四章动画背景 483
14.1栅格图 483
14.1.1栅格图 483
14.2背景的创造性使用 485
14.3示例应用程序 485
14.4程序做什么:用户指南 486
14.4.1初始化系统 487
14.4.2创建帧 487
14.4.3动画的加载 487
14.4.4动画播放 488
14.4.5调整动画插放速度 488
14.4.6静止帧和动画的单步运行 488
14.4.8应用Help菜单 489
14.4.7永久性图形 489
14.5源代码如何工作,程序员指南 490
14.6示例应用程序清单 491
15.1.1 创作过程 534
第十五章制 作 534
15.1计算机动画的制作 534
15.1.2实现过程 535
15.2示例应用程序的准备 538
15.3示例应用程序 539
15.4程序做什么:用户指南 539
15.4.2创建帧图像 540
15.4.3动画的加载 540
15.4.1初始化系统 540
15.4.5图像静止和单步运行 542
15.4.6持续图形 542
15.4.7使用Help菜单 542
15.5源代码如何工作,程序员指南 542
15.4.4动画播放速度的调节 542
15.5.1.C文件如何工作 543
15.6例子应用程序清单 543
16.1.1控制方式 582
16.1约束动画 582
第四部分实体动画 582
第十六章模拟动画 582
16.1.2运动定律(A primer) 583
16.2样 例 583
16.3该程序做什么:用户指南 583
16.3.1初始化系统 584
16.3.2创建帧结构 584
16.3.3装载动画 584
16.3.8应用Help菜单 586
16.3.7持续图形功能 586
16.3.6静止帧和单步动画 586
16.3.5改变动画放映速度 586
16.3.4运行动画 586
16.4源代码如何工作:程序员指南 587
16.4.1.C文件如何工作 587
16.5示例应用程序清单 587
附录A用Microsoft C编译例子程序 626
A.1.1用配套盘 626
A.3.3连接目标文件 627
A.3.1工作目录 627
A.3.2编译源文件 627
A.2配置用户系统 627
A.3建立应用程序 627
A.3.4剪贴(Stamp)可执行文件 628
A.3.5执行应用程序 628
A.4合法适配器 628
附录B用Quick C for Windows编译例子程序 630
B.1用源代码工作 630
B.1.1应用配套盘 630
B.1.2应用程序清单 630
B.2配置系统 630
B.3合法适配器 631
C.1.2应用程序清单 632
C.2配置系统 632
附录C用Borland C++编译例子应用程序 632
C.1.1应用配套盘 632
C.1用源代码工作 632
C.3建立应用程序 633
C.3.1工作目录 633
C.3.2编译成品文件 633
C.3.3连接目标文件 633
C.3.4粘贴执行程序 634
C.3.5执行应用程序 634
D.1.2应用程序清单 635
D.1.1应用配套盘 635
C.4合法适配器………………………………………………………………………634.附录D用Turbo C++for Windows编译例子应用程序 635
D.1用源代码工作 635
D.1.3应用资源工作工具 636
D.2配置系统 636
D.3合法适配器 636
附录E用Symantec Zortech C++编译例子程序 637
E.1 用源代码工作 637
E.1.1应用配套盘 637
E.1.2应用程序清单 637
E.2配置系统 637
E.3.2编译成品文件 638
E.3.3连接目标文件 638
E.3.1工作目录 638
E.3建立应用程序 . 638
E.3.4粘贴执行程序 639
E.3.5执行应用程序 639
E.4合法适配器 639
附录F用WATCOM C编译例子程序 640
F.1用源代码工作 640
F.1.1应用配套盘 640
F.1.2应用程序清单 640
F.2配置系统 640
F.3.3连接目标文件 641
F.3.2编译成品文件 641
F.3.1工作目录 641
F.3建立应用程序 641
F.3.4粘贴执行文件 642
F.3.5执行应用程序 642
F.4合法适配器 642
附录G测试软件 643
G.1内存模式 643
G.2显示模式 643
H.1.1 Windows兼容声音卡 644
H.1.2软件开发工具 644
H.1.3支持多个声音卡 644
H.1声音卡技术 644
附录H添加声音跟踪仿真 644
H.1.4技术局限性 645
H.1.5 DLL的一些说明 645
附录I动画提供院校(school)和单位 646
附录J PC动画设备及其供应 647
J.1 PC动画软件工具(PC animation software tools) 647
J.2 PC动画硬件 647
J.3专用动画系统 648
J.4帧校准录像机 648
J.5分类、杂志、目录 649
J.6 Windows多媒体编辑软件 649
术语汇编 651