《妙用Java及VRML开发三维图形》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)(R.李)Rodger Lea等著;葛晓程等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1999
  • ISBN:7505348329
  • 页数:225 页
图书介绍:

第一章 实现电脑空间的梦想 1

1.1 本章主要内容 1

1.2 VRML 1.0的起源 1

1.2.1 科学幻想的遗产 1

1.2.2 虚拟现实 1

1.2.3 全球计算机网络 2

1.2.4 Pesce 和Parise 先生 2

1.2.5 VRML 1.0的实现 2

1.2.6 VRML 2.0的问题 2

1.3 索尼的Virtual Society 计划 3

1.3.1 一个共享的空间结构 4

1.3.2 索尼的扩展VRML 1.0(E-VRML) 4

1.3.3 多用户行为 5

1.4 VRML 2.0的起源——Moving Worlds 计划 5

1.5 从“Moving Worlds”到VRML 2.0 6

1.5.1 VRML 2.0的其他竞争对手 6

1.5.1.1苹果机——Out of This World 计划 6

1.5.1.2 德国国家信息产业研究中心(GMD)——The Power Of Dynamic Worlds 计划 6

1.5.1.3 IBM 日本公司——Heactive Virtual Enuironments 计划 7

1.5.1.4 微软公司——Active VRML 计划 7

1.5.1.5 Sun公司——HoloWeb 计划 7

1.5.2 投票选举 8

1.5.3 把计划发展成一种标准 8

1.6 VRML 2.0 目前的状态 9

1.7 小结 9

第二章 在3D 场景中加入动作 10

2.1 本章主要内容 10

2.2 执行模式 11

2.3 行为的可能方法 12

2.3.1 API方法 12

2.3.2 语言方法 12

2.3.3 基于事件的方法 13

2.4 VRML 2.0 的场景 13

2.4.1 结点 15

2.4.1.1 命名结点 16

2.4.1.2 组结点和子结点 16

2.4.1.3 页结点 16

2.4.2 场景 16

2.5 执行模式:细节 17

2.5.1 VRML 2.0中的字段 17

2.5.1.1 一个例子:Transform 结点 17

2.5.2 路线 19

2.5.3 多连事件、散开模式和回路事件 19

2.5.4 骑自行车例 20

2.5.4.1 事件源 21

2.5.4.2 插入器 22

2.5.4.3 时间传感器 23

2.5.5 3D 场景中的时间 25

2.5.6 执行模式的总结 25

2.6 静态、动态行为 25

2.7 更进一步:用户行为 25

2.8 看动作中的自行车例子 27

2.8.1 安装CP 27

2.8.2 第一个例子 27

2.8.3 试一试其他事情 28

2.9 小结 28

第三章 轻松Java 29

3.1 本章主要内容 29

3.2 动态行为 29

3.3 script 结点 30

3.4 在script 结点和Java 程序代码之间通讯 32

3.4.1 从script 结点到Java 代码 32

3.4.1.1 事件类 34

3.4.1.2 把VRML 类型映射到Java 类 35

3.4.2 访问script 结点的别的字段 35

3.4.2.1 一个例子:写Java 控制台程序 36

3.4.3 从Java 程序到script 结点 37

3.4.4 访问其他结点的域 40

3.4.4.1 结点类 41

3.4.5 其它特殊方法 42

3.4.5.1 ProcessEvent() 42

3.4.5.2 EventsProcessed() 42

3.4.5.3 Shutdown 43

3.5 scripts 和执行模式 43

3.5.1 Directoulput 和Mutste Valme 43

3.6 Java 类 44

3.7 Scripting 的能力 44

3.7.1 为什么静态行为是不够的? 44

3.7.2 编译Java Script 程序 45

3.7.3 别的Java 类 45

3.8 浏览器API 46

3.9 小结 48

第四章 高级VRML 技术 49

4.1 本章主要内容 49

4.2 构造场景:一个音像店 49

4.3 接角传感器回顾 49

4.3.1 描述鼠标事件 50

4.3.2 将事件返回给灯 51

4.3.3 TouchSensor 的其他有用信息 52

4.4 使用TouchSensor 和Java 52

4.4.1 一次性计数器 54

4.5 Sound 和AudioClip 结点 57

4.5.1 Sound结点 57

4.5.2 AudioClip结点 58

4.5.3 对话代理机 59

4.6 在场景中确定用户的位置:Proximitysensor(接近传感器) 61

4.6.1 用Proximitysensor 进行Fine-Grined 跟踪 64

4.7 使智能代理机更灵活:Switch 结点 68

4.8 碰撞检测 70

4.9 处理大型场景:使用LOD (Level Of Detail) 72

4.9.1 使用LOD 在不同模型中切换 73

4.10 使用Viewpoint 结点远距离传送 75

4.10.1 Viewpoint 用于驾驶结点的高级技术 77

4.11 自己设计: Proto 结点 80

4.12 共享你的成果:EXTERNPROTO 84

4.13 小结 86

第五章 高级Java 技术 88

5.1 本章主要内容 88

5.2 Java、文件访问和VRML 88

5.2.1 Community Place 的安全限制 89

5.2.2 设置访问控制列 89

5.2.3 简单文件的输入输出例子(日期信息) 90

5.2.3.1 例子是如何工作的 91

5.2.3.2 异常与VRML.Java API 92

5.2.4 目录浏览实例 92

5.3 使用Java Window System (AWT) 100

5.3.1 简单窗口例子(芝麻开门) 101

5.3.2 VRML 场景 101

5.3.2.1 Java 程序 102

5.3.2.2 例子是如何工作的 104

5.3.3 使用AWT 构造一个简单的实时VRML 操作器 105

5.3.3.1 VRML 105

5.3.3.2 Java 程序 106

5.4 使用网络 112

5.4.1 网络访问控制 112

5.4.2 简单的网络例子(公路幻景) 112

5.4.2.1 位置服务器 113

5.4.2.2 位置服务器如何工作 115

5.4.2.3 运行服务器程序 115

5.4.2.4 客户端程序(ExampleClient.wrl 和ExampleClient.java) 115

5.4.2.5 客户端如何工作 118

5.4.2.6 运行服务器 118

5.5 建立一个多用户系统 119

5.5.1 多线程 119

5.5.2 客户端代码 120

5.5.2.1 MuDispatcher 121

5.5.3 客户端代码 124

5.5.3.1 多用户VRML 场景和它的替身 124

5.5.3.2 MuClient 126

5.5.3.3 MuReceiver 129

5.5.4 例子的扩展 131

5.6 小结 131

第六章 高效实用的VRML 技巧和线索 133

6.1 本章主要内容 133

6.2 效果和VRML 2.0 133

6.3 执行模式 134

6.3.1 路径容错性 134

6.3.1.1 SFTime 和时间相关结点 136

6.3.2 时间和插入器 140

6.3.2.1 平没动画费用很大:Time Sensor 是明智选择 140

6.4 构造技术 140

6.4.1 双画多边形 141

6.4.2 使用视点导航 142

6.4.3 动画:权衡速度与表现力 143

6.4.3.1 技术之一:Script 结点 143

6.4.3.2 技术之二:基于其它运动实体的动画 143

6.4.3.3 技术之三:在运行时动态添加和删除结点 143

6.4.4 实现高执行和优美外观 145

6.4.5 在大型复杂场景中使用LOD 150

6.4.6 使用内联模型 150

6.4.7 使用PROTO 150

6.4.8 使用EXTERN PROTO 构造普通类库 150

6.4.9 Community Place 的开发功能 151

6.5 Java 执行 151

6.5.1 在Script 结点中保存值 151

6.5.2 限制Script 实行的数目 152

6.5.3 限制实时对象生成的使用 152

6.5.4 各种各样的调试技巧 153

6.5.4.1 在Script 结点的字段中设置参数 153

6.5.5 使用“调试与捕获” 154

6.6 声音、Community Place 和VRML 2.0 154

6.6.1 MIDI 154

6.6.2 WAV 154

6.6.3 MOD 154

6.6.4 DirectSound 155

6.6.4.1 声音合成 155

6.6.4.2 声音的立体化 155

6.7 小结 155

第七章 VRML 的未来 157

7.1 本章主要内容 157

7.2 VRML 出路在何方? 157

7.2.1 目前工作 157

7.2.1.1 二进制文件格式 158

7.2.1.2 扩展接口 158

7.2.1.3 内置脚本语言 158

7.3 行业技术 159

7.3.1 连续媒体技术 159

7.3.2 商用电子对应的实用PC机 159

7.3.2.1 Web 电视 159

7.3.2.2 Set Top Boxes 159

7.4 多用户支持和共享场景 160

7.4.1 Living World 160

7.4.2 universal Avatars 160

7.4.3 共享行为 160

7.4.3.1 共享行为的语义学 161

7.5 Communtiy Place 的多用户的部分 161

7.5.1 浏览器——服务器通信 161

7.5.2 服务器 162

7.5.3 应用程序模式 162

7.5.3.1 简单共享脚本 162

7.5.3.2 应用对象(AO) 163

7.6 多用户技术的应用 164

7.7 小结 165

附录A VRML 和3D 原理 166

A.1 开始 166

A.1.1 VRML 标准单位 169

A.1.2 坐标系统、光线模式和显示 169

A.2 在三维空间中的线性变换和其它变形 171

A.2.1 对象旋转 174

A.2.2 改变比例 177

A.2.3 Center\ScaleOrientation 及Transform结点字段 178

A.3 VRML 结点 178

A.3.1 结点字段 179

A.3.2 显示色彩系统 180

A.3.3 加亮虚拟场景 181

A.4 有用的结点描述 182

A.4.1 群组结点 182

A.4.1.1 Anchor 182

A.4.1.2 Billboard 182

A.4.1.3 Inline 183

A.4.2 环境细微差别 183

A.4.2.1 Viewpoint 183

A.4.2.2 NavigationInfo 184

A.4.2.3 Background 184

A.4.2.4 Fog 184

A.4.2.5 WorldInfo 185

A.5 将你的VRML 文件在Internet 网上发表 185

A.6 欢迎您加入 186

附录B 用于VRML 2.0的Java 类别 187

B.1 Exposed 类和结点及字段的方法 187

B.1.1 字段类和ConstField 类 187

B.1.1.1 只读类: 187

B.1.1.2 可写类: 188

B.1.2 字段类方法 188

B.2 结点类 188

B.3 浏览器类 189

B.4 用户定义的类和封装 189

B.5 标准Java 封装 189

B.6 异常 190

B.7 类层次结构 190

B.8 VRML 封装 192

B.9 VRML FIELD 包 193

B.10 VRML NODE 包 205

B.11 异常类的例子 206

附录C 参考资源 209

C.1 参考文献 209

C.2 与VRML 相关的站点 210

C.3 VRML 2.0计划 212

C.4 与Java 相关的站点 212

附录C 安装Community Place 213

D.1 怎样安装Community Place(版本1.1测试版) 213

D.1.1 复制 213

D.1.2 解压缩 213

D.1.3 安装 214

D.1.4 启动Community -Place 浏览器 214

D.2 删除Community Place 214

D.3 Community Place 的路径结构 215

D.4 如何从光盘上安装JDK 215

D.4.1 解除过去的JDK 版本 215

D.4.2 复制 215

D.4.3 解压缩 215

D.4.4 刷新路径环境变量 216

D.4.5 刷新CLASSPATH 的环境变量 216

D.4.6 使用JDK 216

D.5 为Community Place Browser 设置Java Development 环境 216

D.5.1 解压缩 216

D.5.2 刷新CLSSPATH 环境变量 217

D.5.3 为Community Place Browser 编辑Java 程序 217

D.6 为Community Place 的帮助版安装 Netscape 217

D.7 硬件要求 218

附录E 所附光盘的内容 219

E.1 索尼公司的Community Place VRML 2.0版本的浏览器 219

E.2 Community Place Brueau (多用户服务器) 219

E.3 介绍Win95服务器 220

E.4 在线的Community Place 教程 220

E.5 转换器 (VRML1.0 到 VRML 2.0) 221

E.6 VRML 2.0说明 221

E.7 本书中的例子 221

第二章 221

第三章 221

第四章 222

第五章 222

第六章 223

E.8 其它例子 223

E.9 Virual Society 主页 223

E.10 资源目录 224

E.10.1 VRML 相关的网址 224

E.10.2 与Java 相关的网址 225

E.11 转换器( VRML1.0 到 VRML 2.0) 225