第1章 概述 1
1.1 虚拟现实概念与研究现状 1
1.1.1 虚拟现实技术的概念 1
1.1.2 虚拟现实研究领域的形成 2
1.1.3 国外虚拟现实技术的研究现状 5
1.1.4 国内虚拟现实技术的研究现状 7
1.1.5 虚拟现实技术的应用领域 8
1.2 虚拟现实技术的特征与分类 12
1.2.1 虚拟现实的3I特征 12
1.2.2 虚拟现实系统的分类 14
1.3 虚拟现实系统的硬件设备 16
1.3.1 立体显示设备 16
1.3.2 人机交互设备 19
1.3.3 位置跟踪设备 20
1.3.4 声音输出设备 21
1.4 虚拟现实的相关技术 22
1.4.1 虚拟现实建模技术 22
1.4.2 虚拟现实人机交互技术 23
1.5 煤层气产业的发展状况 24
1.5.1 国外煤层气产业的发展状况 25
1.5.2 国内煤层气产业的发展状况 27
1.5.3 虚拟现实技术在煤层气产业中的应用 28
1.6 煤层气仿真训练系统的应用与需求分析 29
1.6.1 煤层气仿真训练系统的应用概述 29
1.6.2 煤层气仿真训练系统的核心系统 29
1.6.3 煤层气仿真训练系统的特色功能 31
1.7 本章小结 33
第2章 系统的开发平台 34
2.1 UML 34
2.1.1 UML概述 35
2.1.2 UML的应用 35
2.2 C#编程语言 36
2.2.1 C#概述 36
2.2.2 Visual Studio 2010开发环境 37
2.3 Unity3D开发平台 38
2.3.1 Unity3D概述 38
2.3.2 Unity3D在煤层气仿真训练系统中的应用 42
2.4 3ds Max虚拟建模工具 43
2.4.1 3ds Max概述 43
2.4.2 3ds Max的应用 45
2.5 本章小结 48
第3章 系统的总体设计 49
3.1 系统定位 49
3.2 系统设计原则 50
3.3 系统模块设计 50
3.3.1 任务系统模块 50
3.3.2 设备操作系统模块 57
3.3.3 仿真系统模块 58
3.3.4 流程演示系统模块 60
3.3.5 文字语音系统模块 62
3.3.6 输入、输出系统模块 62
3.4 本章小结 63
第4章 系统模型的构建 64
4.1 三维建模基础知识 64
4.1.1 几何建模 64
4.1.2 图像建模 66
4.1.3 物理建模 66
4.1.4 运动建模 67
4.1.5 行动建模 68
4.2 实体模型的构建 68
4.2.1 实体建模软件 69
4.2.2 图像与几何相结合的建模方法 69
4.2.3 设备建模 70
4.3 场景模型的构建 73
4.3.1 分场景与模块设计 74
4.3.2 主场景 74
4.3.3 增压站 74
4.3.4 加气站 75
4.3.5 集气站 76
4.3.6 电潜泵单井 76
4.3.7 磕头机单井 77
4.4 模型真实感处理 77
4.4.1 纹理映射 77
4.4.2 细节等级技术 78
4.4.3 光照和着色 78
4.5 用户界面 79
4.5.1 界面设计的必要性 79
4.5.2 任务提示面板 80
4.5.3 操作界面可变图标 80
4.5.4 操作界面固定图标 80
4.5.5 实体模型指示物 81
4.5.6 文字描述框 81
4.6 本章小结 81
第5章 系统的演示模式 82
5.1 演示模式简介 82
5.2 演示模式的设计思路 83
5.3 全景演示模式 86
5.3.1 系统核心模块代码 86
5.3.2 点击操作与按钮操作示例 89
5.4 第一人称视角演示模式 90
5.4.1 系统核心模块代码 90
5.4.2 第一人称视角演示模式操作示例 101
5.5 演示模式在Unity3D中的实现 102
5.5.1 全景演示模式的配置 102
5.5.2 第一人称视角演示模式的配置 104
5.6 本章小结 107
第6章 系统的向导模式 108
6.1 向导模式简介 108
6.2 向导模式的任务设计 108
6.2.1 任务系统核心模块代码 108
6.2.2 老工人NPC的控制代码 117
6.2.3 路径代码 126
6.2.4 avatar跟随NPC代码实现 127
6.3 向导模式的设备操作 129
6.3.1 InteractiveObject 129
6.3.2 avatar的控制脚本 134
6.3.3 可交互物体的控制脚本 141
6.4 向导模式的文字语音 151
6.4.1 背景音乐控制 151
6.4.2 语音系统 152
6.4.3 文字系统 153
6.5 向导模式的面板设计 155
6.5.1 MsUi 156
6.5.2 UIButtonMessage 161
6.6 本章小结 164
第7章 煤层气仿真训练系统的人机交互 165
7.1 人机交互简介 165
7.2 人机交互的任务设计 166
7.3 人机交互的设备操作 172
7.3.1 抽油机单井场景中可交互物体的控制脚本 173
7.3.2 电潜泵单井基站场景中可交互物体的控制脚本 176
7.3.3 加压站场景中可交互物体的控制脚本 185
7.4 人机交互的仿真系统 198
7.5 本章小结 202
第8章 数据手套相关技术的研究与应用 203
8.1 数据手套简介 203
8.2 数据手套的工作原理和功能 204
8.2.1 数据手套的原理概述 204
8.2.2 5DT数据手套的原理和功能介绍 204
8.3 数据手套在系统中的应用 206
8.3.1 DataGloveContent 206
8.3.2 DataGloveSupport 215
8.4 数据手套碰撞检测 221
8.4.1 层次包围盒 222
8.4.2 基于虚拟手的运动方向的动态碰撞检测算法 225
8.5 本章小结 230
第9章 Kinect初探 231
9.1 Kinect硬件设备 232
9.1.1 核心芯片 234
9.1.2 摄像头 234
9.1.3 麦克风阵列 236
9.1.4 传动马达 236
9.1.5 其他部件 237
9.2 Kinect工作原理 239
9.2.1 深度图像成像原理 239
9.2.2 骨骼追踪原理 240
9.3 Kinect底层开发接口 242
9.3.1 Kinect SDK系统架构 243
9.3.2 数据流处理 244
9.3.3 骨骼追踪 248
9.3.4 坐标变换 252
9.4 本章小结 254
第10章 Kinect开发与应用 255
10.1 结合Kinect和Adaboost算法的动作识别开发 255
10.1.1 人体动作识别的系统构架 255
10.1.2 动作特征曲线的获取 257
10.1.3 动作特征集与强分类器的获取 260
10.1.4 动作识别与结果分析 262
10.2 基于Kinect骨骼空间几何角度的动作识别开发 264
10.2.1 基于Kinect获取骨骼数据及骨髂拓扑结构 264
10.2.2 提取感兴趣骨骼关节点及定义骨髂向量 265
10.2.3 提取骨骼向量的方向余弦特征 266
10.2.4 采用支持向量机(SVM)训练 267
10.2.5 动作识别结果分析 268
10.3 基于Kinect骨骼关节点空间位置的动作识别开发 271
10.3.1 动作的分类 271
10.3.2 单个动作识别算法 272
10.3.3 动作识别的系统实现 277
10.4 Kinect在煤层气仿真训练系统中的应用开发 284
10.4.1 Kinect插件使用说明 284
10.4.2 Kinect输入系统设计思路 285
10.4.3 Kinect输入系统具体设计 286
10.4.4 Kinect用户操作说明 302
10.5 本章小结 303
展望 304
参考文献 306