《VRML与Java编程技术》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:赛博科技工作室编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2002
  • ISBN:7115099812
  • 页数:669 页
图书介绍:VRML(虚拟现实建模语言)用来在网络上创建逼真的三维虚拟场景。它改变了网络上2D画面的状况,并能实现3D动画效果,特别是改变了当前网络与用户交互的局限性,使得人机交互更加方便,这样虚拟世界的真实性、交互性、动态性得到更充分体现。众所周知,JAVA是一种面向网络的程序设计语言,通过JAVA语言可以为网页添加上各式各样的特效,使得网页更加丰富多彩。这两种语言的结合将使得网页的创建更加完善。本书全面介绍了VRML的语法和用法,以及将VRML与JAVA相结合创建虚拟世界的技术与实例,适合中级程序员以及从事VRML和JAVA开发与应用的广大读者阅读。

第1章 VRML简介 1

1.1 虚拟现实技术 2

1.2 VRML的发展历史 3

1.3 VRML的强大功能与诱人前景 4

1.3.1 VRML的功能概述 5

1.3.2 VRML的发展前景 6

1.4 简单示例 8

1.5 VRML文件开发工具和浏览器简介 11

1.5.1 开发工具 11

1.5.2 浏览器 15

第2章 VRML文件 19

2.1 文件结构 20

2.1.1 VRML文件扩展名及文件头 20

2.1.2 原型、造型、脚本和路由 20

2.2 文件的基本内容 23

2.2.1 节点和域 23

2.2.2 程序注释 29

第3章 基本造型 31

3.1 Shape节点 32

3.2 简单物体造型节点 35

3.2.1 Box节点 35

3.2.2 Sphere节点 36

3.2.3 Cone节点 37

3.2.4 Cylinder节点 40

3.3 编组节点 44

3.4 复杂应用 46

3.4.1 使用多个造型节点 46

3.4.2 多次使用同一节点 48

第4章 造型的空间变换 51

4.1 基本概念 52

4.1.1 计量单位 52

4.1.2 空间坐标系 52

4.2 Transform节点语法 53

4.3.1 不同方向上的平移 54

4.3 平移 54

4.3.2 创建多个平移坐标系 58

4.3.3 平移的嵌套 62

4.4 旋转 64

4.4.1 不同方向上的旋转 64

4.4.2 创建多个旋转坐标系 68

4.4.3 旋转坐标系的嵌套 69

4.4.4 指定中心的旋转 71

4.5 缩放 73

4.5.1 不同方向上的缩放 73

4.5.2 创建多个缩放坐标系 75

4.5.3 指定中心的缩放 77

4.5.4 缩放的嵌套 80

4.5.5 指定缩放的方向 82

第5章 文本造型的创建 87

5.1 Text节点 88

5.2 FontStyle节点 93

5.3 综合应用 103

5.3.1 创建多文本造型 103

5.3.2 将文本和基本造型结合 104

第6章 空间效果设定 107

6.1 空间背景 108

6.1.1 Backgroud节点 108

6.1.2 添加背景 109

6.2 空间大气效果 117

6.2.1 Fog节点 117

6.2.2 雾的应用 118

第7章 添加声音 125

7.1 声音节点 126

7.1.1 AudioClip节点 126

7.1.2 MovieTexture节点 128

7.1.3 Sound节点 129

7.2 使用声音节点 131

第8章 造型的外观控制 145

8.1.1 颜色外观 146

8.1 基本概念 146

8.1.2 其他外观效果 147

8.2 控制外观 147

8.2.1 Material节点 147

8.2.2 节点应用 148

第9章 用点线面构造造型 163

9.1 使用点来构造造型 164

9.1.1 PointSet节点 164

9.1.2 节点应用 165

9.2 使用线来构造造型 167

9.2.1 IndexedLineSet节点 167

9.2.2 用线构成的造型 168

9.3 使用面来构造造型 170

9.3.1 IndexedFaceSet节点 170

9.3.2 面的应用 172

第10章 复杂造型 181

10.1 创建海拔栅格 182

10.1.1 ElevationGrid节点 182

10.1.2 海拔栅格的创建 183

10.2 创建挤出造型 188

10.2.1 Extrusion节点 188

10.2.2 挤出造型的创建 189

第11章 纹理映射 197

11.2 纹理节点 198

11.1 有关纹理映射 198

11.2.1 ImageTexture节点 199

11.2.2 PixelTexture节点 200

11.2.3 MovieTexture节点 204

11.3 纹理坐标节点 204

11.3.1 TextureCoordinate节点 204

11.3.2 TextureTransform节点 206

11.4 映射纹理 210

第12章 光照效果 217

12.1.3 光线 218

12.1.2 光源颜色 218

12.1.1 光源 218

12.1 有关知识 218

12.2 节点介绍 219

12.2.1 PointLight节点 219

12.2.2 DirectionalLight节点 221

12.2.3 SpotLight节点 224

12.3 节点应用 227

第13章视规点控制 235

13.1 有关视点及导航 236

13.2 节点介绍 236

13.2.1 Viewpoint节点 236

13.2.2 NavigationInfo节点 242

13.3 控制视点 250

第14章 明暗控制 255

14.1 Normal节点 256

14.2 IndexedFaceSet节点 256

14.3 ElevationGrid节点 261

第15章 实现动画效果 265

15.1 时间传感器 266

15.2 控制动画的插补器 267

15.2.1 ColorInterpolator节点 267

15.2.2 CoordinateInterpolator节点 271

15.2.3 Normallnterpolator节点 274

15.2.4 PositionInterpolator节点 276

15.2.5 ScalarInterpolator节点 279

15.2.6 OrientationInterpolator节点 281

第16章 在点、线、面和坐标上着色 285

16.1 节点介绍 286

16.1.1 Color节点 286

16.1.2 PointSet节点 286

16.1.3 IndexedLineSet节点 288

16.1.4 IndexedFaceSet节点 290

16.1.5 ElevationGrid节点 293

16.2 给坐标着色 298

第17章 实现交互功能 303

17.1.1 TouchSensor节点 304

17.1 触动检测器 304

17.1.2 PlaneSensor节点 306

17.1.3 CylinderSensor节点 308

17.1.4 SphereSensor节点 309

17.2 感知检测器 311

17.2.1 VisibilitySensor节点 311

17.2.2 ProximitySensor节点 312

17.2.3 Collision节点 313

第18章 简单脚本 315

18.1 Script节点 316

18.2 使用Script节点处理事件 317

18.3 使用Script节点控制动画 319

第19章 VRML的Java支持 325

19.1 认识Java 326

19.1.1 Java历史 326

19.1.2 Java的现状 326

19.1.3 Java的特征 327

19.2 Script节点 329

19.3 动态场景 331

19.3.1 用VrmlScript操纵场景 331

19.3.2 用Java程序操纵场景 332

19.4 Script节点和Java程序之间的通信方式 333

19.4.1 从VRML场景到Java代码 333

19.4.2 Java程序对VRML场景的控制 336

第20章 Java开发环境 341

20.1 Java Developers Kit(JDK) 342

20.1.1 JDK的安装 342

20.1.2 Java程序的编译 343

20.1.3 使用Java调试器 344

20.1.4 Java程序的执行 345

20.2 编制Java程序 346

第21章 Java编程基础 349

21.1 Java数据类型 350

21.1.1 基本数据类型 350

21.1.2 数组类型 359

21.2 Java关键字、运算符和表达式 361

21.3 流程控制语句 367

21.3.1 if语句 367

21.3.2 switch 语句 368

21.3.3 循环语句 370

21.3.4 标号和转移语句 373

第22章 面向对象的Java 377

22.1 对象与类 378

22.2 类的继承关系 379

22.3 类的严格定义及修饰字 382

22.3.1 abstract 382

22.3.3 public 383

22.3.2 final 383

22.4 变量和方法 384

22.4.1 变量域 384

22.4.2 方法域 384

22.5 public、protected和private 385

22.5.1 public 385

22.5.2 protected 386

22.5.3 private 388

22.6 类继承时的变量和方法 390

22.6.1 类中变量和方法的可视范围 390

22.6.2 方法的重设和重载 392

22.7 final 394

22.7.1 final变量 394

22.7.2 final方法 395

22.8 static 395

22.9 abstract 397

22.10 异常的处理 398

22.10.1 调用堆栈 398

22.10.2 抛出异常 398

22.10.3 捕获异常 402

22.11 接口和包 403

22.11.2 Java.util 404

22.11.1 Java.lang 404

22.11.3 Java.io 405

22.11.4 Java.net 405

22.11.5 Java.awt 405

22.11.6 Java.awt.image 406

22.11.7 Java.awt.peer 406

22.11.8 Java.applet 406

第23章 多线程 407

23.1 多线程的概念 408

23.1.1 Java线程的模型 408

23.1.2 启动接口 409

23.1.3 同步 410

23.1.4 消息 411

23.2 Java线程例子 411

23.2.1 显式定义线程 411

23.2.2 多线程例子 411

23.2.3 启动一个线程 413

23.2.4 操作线程 413

23.2.5 暂停一个线程 413

23.2.6 停止一个线程 413

23.3 多线程间的通信 414

23.3.1 生产者 414

23.3.3 监视 415

23.3.2 消费者 415

23.3.4 通信方式 416

23.4 线程API列表 417

23.4.1 类函数 418

23.4.2 对象函数 418

第24章 回到VRML 419

24.1 访问Script节点 420

24.1.1 Script类 421

24.1.2 事件类 422

24.1.3 字段类方法 423

24.1.4 访问Script节点例子 423

24.2 访问场景中任意节点 431

24.2.1 节点类 432

24.2.2 类型映射 432

24.2.3 访问场景中任意节点例子 433

第25章 VRML和Java的典型结合 441

25.1 Java控制台程序 442

25.2 TimeSensor节点 444

25.3 生成动画 449

25.4 实现随机运动 461

25.5 结合proto进行原型定义 463

25.6 进行用户跟踪 474

第26章 Java用于场景的动态生成 479

26.1.1 addRoute()、deleteRoute()方法 480

26.1 浏览器类 480

26.1.2 creatVrmlFromString()方法 486

26.1.3 createVrmlFromURL()方法 490

26.2 使用线程 492

第27章 窗口环境及其应用 499

27.1 小应用程序窗口 500

27.1.1 什么是Java小应用程序 500

27.1.2 制作第一个Java小应用程序 501

27.1.3 显示字符 502

27.1.4 制作按钮 503

27.1.5 外观布局 505

27.1.6 按钮事件 508

27.1.7 按钮类型 509

27.1.8 小应用程序的生命周期 512

27.1.9 使用小应用程序控制VRML场景 513

27.1.10 action()方法 516

27.2 制作独立窗口 521

27.2.1 AWT的基本概念 521

27.2.2 组件容器 523

27.2.3 制作第一个独立窗口 525

27.2.4 弹出第一个窗口 532

27.2.5 使用窗口控制VRML场景 536

附录 547

Anchor节点 548

附录A 节点参考 548

Appearance节点 549

AudioClip节点 550

Background节点 550

Billboard节点 552

Box节点 553

Collision节点 553

Color节点 554

ColorInterpolator节点 555

Cone节点 555

CoordinateInterpolator节点 556

Coordinate节点 556

Cylinder节点 557

CylinderSensor节点 558

DirectionalLight节点 559

ElevationGrid节点 559

Extrusion节点 561

Fog节点 563

FontStyle节点 563

Group节点 565

ImageTexture节点 565

IndexedFaceSet节点 566

IndexedLineSet节点 568

LOD节点 569

Inline节点 569

Material节点 570

MovieTexture节点 571

NavigationInfo节点 572

NormalInterpolator节点 573

Normal节点 573

OrientationInterpolator节点 574

PixelTexture节点 574

PlaneSensor节点 575

PointLight节点 576

PositionInterpolator节点 577

PointSet节点 577

ScalarInterpolator节点 578

Script节点 578

Shape节点 579

Sound节点 579

SphereSensor节点 580

Text节点 581

TextureCoordinate节点 582

TimeSensor节点 582

TouchSensor节点 584

Transform节点 585

WorldInfo节点 586

VisibilitySensor节点 586

附录B 类的层次结构 587

附录C Java包常用对象及函数参考 589

C1 java.lang包 589

C1.1 java.lang.Object类 590

C1.2 java.lang.Class类 592

C1.3 java.lang.Boolean类 593

C1.4 java.lang.Character类 594

C1.5 java.lang.Number类 596

C1.6 java.lang.Integer类 596

C1.7 java.lang.Long类 598

C1.8 java.lang.Float类 600

C1.9 java.lang.Double类 601

C1.10 java.lang.Math类 603

C1.11 java.lang.String类 605

C2 java.util包 608

C2.1 java.util.Enumeration接口 609

C2.2 java.util.BitSet类 609

C2.3 java.util.Date类 611

C2.4 java.util.Dictionary类 613

C2.5 java.util.Hashtable类 614

C2.6 java.util.Observable类 616

C2.8 java.util.Random类 617

C2.7 java.util.Observer接口 617

C2.9 java.util.Stack类 618

C3 java.io包 619

C3.1 java.io.DataInput接口 619

C3.2 java.io.DataOutput接口 621

C3.3 java.io.InputStream类 622

C3.4 java.io.FileInputStream类 623

C3.5 java.io.PipedInputStream类 625

C3.6 java.io.ByteArrayInputStream类 625

C3.7 java.io.StringBufferInputStream类 627

C3.8 java.io.SequenceInputStream类 628

C3.9 java.io.FilterInputStream类 628

C3.10 java.io.BufferedInputStream类 630

C3.11 java.io.OutputStream类 631

C3.12 java.io.FileOutputStream类 632

C3.13 java.io.PipedOutputStream类 633

C3.14 java.io.ByteArrayOutputStream类 634

C3.15 java.io.PrintStream类 635

C3.16 java.io.RandomAccessFile类 637

附录D VRML包常用对象及函数参考 642

附录E VRML.FILED包常用对象及函数参考 645

附录F VRML.NODE包常用对象及函数参考 665

附录G 浏览器CP简介 667

G1 安装CP 667

G2 CP用法 667