发表于2024-12-19
本书详细阐述了与计算机动画算法相关的高效解决方案及相应的数据结构和算法,主要包括技术背景知识、插值技术、插值动画技术、运动链接、运动捕捉、物理动画、流体、人物角色的建模和动画、面部动画、建模行为以及特殊动画模型等内容。此外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
目 录
第1章 概述 1
1.1 运动感知 2
1.2 动画发展简史 3
1.2.1 早期设备 4
1.2.2 早期传统动画 5
1.2.3 迪士尼 7
1.2.4 其他技术 8
1.2.5 其他动画媒介 8
1.3 动画制作 8
1.3.1 动画原理 11
1.3.2 电影制作原理 12
1.3.3 声音 14
1.4 计算机动画制作 15
1.4.1 计算机动画制作任务 16
1.4.2 数字编辑 17
1.4.3 数字视频 20
1.4.4 数字音频 20
1.5 计算机动画简史 21
1.5.1 早期行为(1980年之前) 21
1.5.2 中期阶段(20世纪80年代) 24
1.5.3 新纪元(20世纪80年代以后) 25
1.6 本章小结 29
参考文献 29
第2章 技术背景知识 33
2.1 空间与转换 33
2.1.1 显示管线 34
2.1.2 齐次坐标和转换矩阵 38
2.1.3 复合转换:转换矩阵的累积操作 39
2.1.4 基本的转换操作 39
2.1.5 描述任意方向 41
2.1.6 从矩阵中获取转换操作 44
2.1.7 显示管线中的转换描述 44
2.1.8 误差 46
2.2 方向表达 49
2.2.1 定角表达 50
2.2.2 欧拉角表达 51
2.2.3 轴角表达 52
2.2.4 四元数表达 53
2.2.5 指数映射表达 55
2.3 本章小结 55
参考文献 55
第3章 插值技术 57
3.1 插值计算 57
3.1.1 生成函数 57
3.1.2 综述 60
3.2 曲线顶点的移动控制 60
3.2.1 计算弧长 61
3.2.2 速度控制 73
3.2.3 易入/易出 74
3.2.4 通用距离-时间函数 80
3.2.5 匹配于位置-时间对的曲线 82
3.3 方向插值 83
3.4 与路径协同工作 87
3.4.1 路径移动 87
3.4.2 基于路径的方向 88
3.4.3 基于路径平滑操作 91
3.4.4 沿表面确定路径 96
3.4.5 路径计算 97
3.4.6 综述 98
3.5 本章小结 98
参考文献 98
第4章 插值动画技术 101
4.1 关键帧系统 101
4.2 动画语言 104
4.2.1 面向设计人员的动画语言 105
4.2.2 基于动画设计的全功能程序语言 106
4.2.3 关联变量 106
4.2.4 图形语言 107
4.2.5 基于角色的动画语言 107
4.3 对象的变形操作 108
4.3.1 拾取和拖曳 108
4.3.2 嵌入空间的变形 110
4.4 三维形状插值方案 120
4.4.1 匹配拓扑结构 121
4.4.2 星形多面体 122
4.4.3 轴向切面 123
4.4.4 球体映射 125
4.4.5 递归细分 128
4.5 变形效果(二维) 130
4.5.1 坐标网格方案 130
4.5.2 特征变形 135
4.6 本章小结 140
参考文献 140
第5章 运动链接 143
5.1 层次结构建模 144
5.1.1 基于层次建模的数据结构 145
5.1.2 局部坐标框架 149
5.2 前向动力学 150
5.3 逆向动力学 151
5.3.1 通过解析法求解简单系统 152
5.3.2 Jacobian方案 153
5.3.3 逆向动力学的数值方案 157
5.3.4 综述 163
5.4 本章小结 163
参考文献 163
第6章 运动捕捉 165
6.1 运动捕捉技术 165
6.2 图像处理 166
6.3 相机校正 168
6.4 三维位置重构 169
6.4.1 多标记 170
6.4.2 多相机 171
6.5 骨骼匹配 171
6.6 从运动捕捉系统中输出内容 172
6.7 操控运动捕捉数据 174
6.7.1 信号处理 174
6.7.2 运动重定位 174
6.7.3 运动组合 175
6.8 本章小结 175
参考文献 176
第7章 物理动画 177
7.1 基本物理学知识 177
7.2 弹性动画示例 180
7.2.1 弹性对象 180
7.2.2 虚拟弹簧 182
7.3 粒子系统 183
7.3.1 生成粒子 183
7.3.2 粒子属性 184
7.3.3 粒子消亡 184
7.3.4 粒子动画 184
7.3.5 粒子渲染 185
7.3.6 粒子系统表达 185
7.3.7 粒子受力状态 186
7.3.8 粒子生命周期 186
7.4 刚体模拟 186
7.4.1 自由落体 187
7.4.2 碰撞体 195
7.4.3 基于链接层次结构的动力学 206
7.5 布料 208
7.5.1 褶皱的直接建模 209
7.5.2 物理建模 212
7.6 软约束条件和硬约束条件 215
7.6.1 能量最小化 216
7.6.2 空间-时间约束条件 218
7.7 本章小结 220
参考文献 220
第8章 流体:液体和气体 223
8.1 特定流体模型 223
8.1.1 水流模型 223
8.1.2 云彩模型和动画 232
8.1.3 火焰建模和动画 237
8.1.4 综述 239
8.2 计算流体动力学 239
8.2.1 流体建模的通用解决方案 240
8.2.2 CFD方程 241
8.2.3 网格方案 244
8.2.4 包含均匀粒子流体动力学的粒子方案 245
8.3 本章小结 247
参考文献 248
第9章 人物角色的建模和动画 251
9.1 虚拟人物表现方式 251
9.1.1 躯体几何体的表达方式 252
9.1.2 几何体数据采集 253
9.1.3 几何体变形 254
9.1.4 表面细节 254
9.1.5 人物角色建模过程中的层次方案 255
9.2 搜索和抓取行为 258
9.2.1 手臂建模 259
9.2.2 肩部关节 261
9.2.3 手部 261
9.2.4 协调的运动行为 263
9.2.5 回避障碍物 263
9.2.6 受力状态 264
9.3 行走效果 265
9.3.1 运动机制 266
9.3.2 行进过程中的动力学 269
9.3.3 基于动力学的真实运动行为 272
9.3.4 前向动力学控制 273
9.3.5 综述 273
9.4 覆盖特征 274
9.4.1 布料和服装 274
9.4.2 头发 274
9.5 本章小结 276
参考文献 277
第10章 面部动画 283
10.1 面部结构 283
10.1.1 解剖学结构 283
10.1.2 面部行为编码系统 285
10.2 面部模型 286
10.2.1 创建连续的表面模型 287
10.2.2 纹理 292
10.3 脸部的动画效果 293
10.3.1 参数化模型 293
10.3.2 弯曲形状 294
10.3.3 肌肉模型 295
10.3.4 面部表情 297
10.3.5 综述 298
10.4 口型动画 298
10.4.1 语音发声 298
10.4.2 音素 299
10.4.3 协同发音 300
10.4.4 韵律学 301
10.5 本章小结 301
参考文献 301
第11章 建模行为 305
11.1 原始行为 307
11.1.1 群集行为 307
11.1.2 捕食行为 316
11.2 环境认知 316
11.2.1 视觉 317
11.2.2 记忆 318
11.3 智能行为建模 318
11.3.1 自主行为 319
11.3.2 表达方式和姿态 320
11.3.3 个性化建模:个性和情感状态 321
11.4 群体管理 322
11.4.1 群体行为 323
11.4.2 内部结构 323
11.4.3 群体控制 324
11.4.4 n2复杂度管理 324
11.4.5 外观效果 325
11.5 本章小结 325
参考文献 325
第12章 特殊动画模型 329
12.1 隐式表面 329
12.1.1 基本的隐式表面方程 329
12.1.2 基于隐式定义对象的动画效果 331
12.1.3 碰撞检测 332
12.1.4 基于碰撞的隐式表面变形 332
12.1.5 Level Set法 334
12.1.6 综述 335
12.2 植物 335
12.2.1 植物学简介 336
12.2.2 L系统 337
12.2.3 综述 343
12.3 表面细分 344
12.4 本章小结 345
参考文献 345
附录A 渲染技术 349
A.1 双缓冲区机制 349
A.2 合成机制 350
A.2.1 忽略像素深度信息的合成技术 351
A.2.2 基于像素深度信息的合成技术 355
A.3 显示运动对象:运动模糊 357
A.4 投影式阴影 359
A.5 广告牌和替身图技术 363
A.6 小结 364
参考文献 364
附录B 背景知识和技术 367
B.1 向量和矩阵 367
B.1.1 逆矩阵和线性方程求解 368
B.1.2 奇值分解法 374
B.2 几何计算 374
B.2.1 向量分量 375
B.2.2 向量长度 375
B.2.3 两向量的点和计算 375
B.2.4 两向量的叉积计算 376
B.2.5 向量和矩阵计算法则 377
B.2.6 三维空间内两直线间的最近点 380
B.2.7 面积计算 381
B.2.8 余弦定理 382
B.2.9 质心坐标 383
B.2.10 计算包围边界形状 383
B.3 变换操作 396
B.3.1 基于向量-矩阵乘法的顶点变换 396
B.3.2 基于向量-矩阵乘法的向量变换 397
B.3.3 轴-角旋转 398
B.3.4 四元数 398
B.4 基于链接附肢的Denavit-Hartenberg 表现形式 400
B.4.1 Denavit-Hartenberg表示法 400
B.4.2 简单示例 403
B.4.3 添加球状关节 403
B.4.4 构建坐标系 405
B.5 插值计算和近似曲线 405
B.5.1 方程:基本术语 405
B.5.2 简单的线性插值计算:几何体和代数形式 407
B.5.3 基于弧长的参数化操作 408
B.5.4 导数计算 408
B.5.5 Hermite插值计算 408
B.5.6 Catmull-Rom样条 409
B.5.7 4顶点形式 412
B.5.8 混合抛物线 412
B.5.9 Bezier插值/逼近方案 413
B.5.10 基于De Casteljau构造方案的Bezier曲线 414
B.5.11 张力、连续性以及偏移控制 414
B.5.12 B样条 417
B.5.13 曲线与顶点集合之间的匹配 417
B.6 随机性 418
B.6.1 噪声 419
B.6.2 扰动效果 421
B.6.3 随机数生成器 422
B.7 物理初探 423
B.7.1 位置、速度和加速度 423
B.7.2 圆周运动 424
B.7.3 牛顿运动定律 425
B.7.4 惯性和惯性参考坐标系 425
B.7.5 质心 426
B.7.6 转矩 426
B.7.7 平衡状态:平衡作用力 426
B.7.8 重力 427
B.7.9 向心力 427
B.7.10 接触力 427
B.7.11 离心力 429
B.7.12 功和势能 429
B.7.13 动能 429
B.7.14 能量守恒 430
B.7.15 动量守恒 430
B.7.16 振荡运动 430
B.7.17 阻尼机制 431
B.7.18 角动量 431
B.7.19 惯性张量 431
B.8 数值积分 432
B.8.1 基于弧长的函数积分计算 433
B.8.2 更新函数值 434
B.8.3 更新位置数据 437
B.9 优化技术 438
B.9.1 解析法 439
B.9.2 数值法 439
B.10 电影技术标准 441
B.10.1 模拟技术 441
B.10.2 数字世界 445
B.11 相机校正 448
参考文献 451
前 言
总述
针对定义和生成图形对象,即计算机动画,本书主要讲述对应的计算机算法以及程序设计技术,且集中讲解三维(3D)领域中的计算机动画内容。因此,本书适用于计算机科学与技术方向的高年级本科生以及研究生。而对于那些期望学习计算机动画程序设计的程序员、使用软件工具生成计算机动画(并尝试理解动画制作软件中的底层计算问题)的制作人员,本书也将大有裨益。
本书的出版应是意料之中的事情—近年来,计算机动画获得了长足的发展,且广泛地出现于科研领域、学术领域,并带来了一定的就业机会,甚至一些人还将其视为一项终生爱好。
目前,影片大多采用数字方式存储,并引入了数字特效(通常称作计算机图像合成,简称为CGI)。来自互联网电影数据库(网址为www.imdb.com)2007年6月的一份资料显示,前10名的美国影片(数据源于北美电影票房排行榜)均广泛地采用了CGI技术。
不难发现,计算机动画影片已具有相当的票房号召力,根据不完全统计,每5部上榜电影中就有1部为计算机动画电影。2001—2006年,数字图像技术领域出现了27位“科技成就奖”与“科学和工程奖”获得者。每年,计算机动画还为游戏产业创造了不低于70亿美金的收益。当前,功能强大的动画软件、低廉的CPU价格以及高存储量的家庭数字视频录像设备均使得桌面级计算机动画成为可能。大多数教育部门(如计算机科学系)均开设了与计算机动画相关的课程(以及相关的艺术课程,进而培养数字艺术家熟练地使用现有的计算机动画软件)。在计算机动画算法方面,学术会议以及相关期刊也记录了业界的发展现况。
本书对于实际操作过程中的相关问题均有所描述,并提供了可行性技术以及相对直观的实现方案。除了某些研究方向之外,本书尽量避免纯理论方式的讨论。本书中的部分示例程序为完整的可执行代码,此类代码采用C语言编写,复制、编译以及运行之后,即可生成算法结果;其他程序设计示例则采用类C伪代码加以编写,并可在适当的时候转换为可执行工作代码。这里,采用C语言编写代码的主要原因是,该语言包含了其他语言(如C++语言和Java语言)的基础特性,并可彰显算法的逐步操作过程。本书附录包含了与此相关的基础内容,初学者可获取其中的有用内容以及实现过程中的特定算法。
本书并不打算详细介绍当今流行的动画软件包的使用方法(当然,也不排除针对某一类特定技术讨论软件的使用,这将有助于深入理解底层计算过程),也不会具体阐述计算机动画理论、计算机动画美学知识、动画设计过程中的美学问题、动画作品制作过程中的细节问题以及计算机辅助动画(此类问题是指传统手绘动画的计算机化操作,多数时候,该问题包含一套自身的规 计算机动画算法与技术(第3版) 下载 mobi epub pdf txt 电子书 格式
计算机动画算法与技术(第3版) 下载 mobi pdf epub txt 电子书 格式 2024
计算机动画算法与技术(第3版) 下载 mobi epub pdf 电子书计算机动画算法与技术(第3版) mobi epub pdf txt 电子书 格式下载 2024