第1章 JAVA语言概述 1
1.1 JAVA语言简介 1
1.2 JAVA语言面向对象编程设计的重要概念 2
1.2.1 封装、继承和多态 2
1.2.2 对象 3
1.2.3 类(CLASS) 4
1.2.4 方法(Method) 5
1.2.5 实例方法和类方法 5
1.2.8 final类和方法 6
1.2.7 点运算符 6
1.2.6 实例变量和类变量 6
1.2.9 参数的传值与传址 7
1.2.10 JAVA语言的包 7
1.2.11 内部类(inner class) 10
1.2.12 类成员的访问控制 11
1.2.13 抽象类和抽象方法 13
1.2.14 接口与implements语句 14
1.2.15 构造方法 16
1.2.16 this和super 18
1.2.17 方法重载(overload) 19
2.1 JAVA 3D的场景图数据结构 21
第2章 JAVA 3D简介 21
2.2 JAVA 3D的安装及运行步骤 22
2.3 JAVA 3D源程序编写方法 23
2.4 JDK1.2下JAVA 3D源程序的编译、运行步骤 24
2.5 一个简单的JAVA 3D源程序 25
2.6 SimpleCone.java程序分析 27
2.6.1 JAVA 3D(API)中的类 27
2.6.2 SimpleCone.java程序的import语句部分 30
2.6.3 SimpleCone.java程序的组成 31
2.7 JAVA 3D基本几何形体的调用 34
2.7.2 ColorCube 35
2.7.1 Box 35
2.7.3 Cone 36
2.7.4 Sphere 36
2.7.5 Cylinder 37
第3章 点、线、面的生成 39
3.1 GeometryArray对象简介 39
3.2 点的生成 40
3.2.1 PointAttributes对象 40
3.2.2 生成点的对象 41
3.2.3 PointArray对象 41
3.2.4 IndexedPointArray对象 45
3.2.5 主程序比较简洁的Point4.java 48
3.2.6 旋转的点 50
3.3 直线的生成 53
3.3.1 LineAttributes对象 53
3.3.2 生成直线的对象 54
3.3.3 LincArray对象 54
3.3.4 LineStripArray对象 57
3.3.5 IndexedLineArray对象 60
3.3.6 IndexedLineStripArray对象 62
3.4 面的生成 64
3.4.1 PolygonAttributes对象 64
3.4.2 生成面的对象 64
3.4.3 TriangleArray对象 65
3.4.4 QuadArray对象 68
3.4.5 TriangleStripArray对象 69
3.4.6 TriangleFanArray对象 73
3.4.7 IndexedTriangleArray对象 74
3.4.8 IndexedQuadArray对象 76
3.4.9 IndexedTriangleStripArray对象 78
3.4.10 IndexedTriangleFanArray对象 80
3.5 Shape3D对象 82
3.6 Appearance对象 83
3.7 Bounds对象 84
4.1 常用的三维图形软件介绍 85
第4章 常用三维图形文件的调入 85
4.2 OBJ格式图形文件的调用 86
4.3 VRML2.0(VRML97)格式图形文件的调用 90
4.3.1 VRML97.JAR的安装 90
4.3.2 VRML97.JAR的应用 91
4.4 DWG、DXF、3DS图形格式文件的调用 93
4.5 JAVA 3D应用程序初始观察位置的设定 93
第5章 JAVA 3D的动画编程 97
5.1 Alpha对象 98
5.1.1 Alpha对象的构造方法 98
5.1.2 Alpha构造方法中后7个参数的含义 99
5.2 Alpha对象常用的方法 103
5.3 Interpolator对象 104
5.4 PositionInterpolator对象 104
5.4.1 对象tran的各个参数 106
5.4.2 xtranAlpha的各个参数 106
5.4.3 水平移动改成垂直移动 107
5.5 RotationInterpolator对象 107
5.6 ColorInterpolator对象 109
5.7 ScaleInterpolator对象 114
5.8 SwitchValueInterpolator对象 116
5.9 TransparnecyInterpolator对象 118
5.11 PositionPachInterpolator对象 122
5.10 PathInterpolator对象 122
5.12 RotPosPathInterpolator对象 125
5.13 RotPosScalePathInterpolator对象 128
5.14 RotationPathInterpolator对象 131
第6章 形体的组合 135
6.1 Group对象 135
6.2 BranchGroup对象 136
6.3 OrderedGroup对象 136
6.4 DecalGroup对象 136
6.5 Switch对象 142
6.6.1 SharedGroup对象 147
6.6 SharedGroup对象和Link对象 147
6.6.2 Link对象 148
6.6.3 SharedGroup对象和Link对象在程序中的应用 148
6.7 Node对象cloneTree方法的应用 152
6.8 TransformGroup对象和Transform3D对象 156
6.8.1 TransformGroup对象 156
6.8.2 Transform3D对象 156
6.8.3 TransformGroup对象和Transform3D对象应用举例 157
7.1.3 Raster对象 163
7.1.2 ImageComponent2D对象 163
7.1.1 TextureLoader对象 163
第7章 JAVA 3D多媒体编程 163
7.1 贴图的应用 163
7.1.4 Appearance对象在贴图上的应用 164
7.1.5 贴图举例 164
7.2灯光的应用 169
7.2.1 AmbientLight对象和DirectionalLight对象 169
7.2.2 PointLight对象 172
7.2.3 SpotLight对象 175
7.3 声音的应用 176
7.3.1 Sound对象 176
7.3.3 PointSound对象 177
7.3.2 BackgroundSound对象 177
7.3.4 ConeSound对象 178
7.3.5 MediaContainer对象 178
7.3.6 声音编程举例 178
7.4 背景的应用 183
7.5 雾的应用 184
7.6 Text3D与三维文字的显示 186
7.6.1 Text3D对象 186
7.6.2 Font3D对象 187
7.6.3 FontExtrusion对象 187
7.6.5 Text3D应用举例 188
7.6.4 Font对象 188
7.7 Text2D与三维文字的显示 192
第8章 交互式JAVA 3D程序(一) 197
8.1 JAVA 3D程序中的事件处理模型题 197
8.2 JAVA 3D常用的监听器(Listener) 198
8.3 应用举例 198
8.3.1 ActionListener监听器应用举例 198
8.3.2 AdjustmentListener监听器应用举例 201
8.3.3 ItemListener监听器应用举例 204
9.1.1 LOD对象 217
9.1 LOD对象 217
第9章 交互式JAVA 3D程序(二) 217
9.1.2 DistanceLOD对象 218
9.1.3 LOD应用举例 218
9.2 Billboard对象 221
9.2.1 Billboard的构造方法 221
9.2.2 Billboard对象的应用举例 222
9.3 Behavior方面的Utility 227
9.4 interpolators对象 227
9.5 keyboard对象 234
9.6 mouse对象 236
9.7.2 PickMouseBehavior对象 237
9.7.1 PickObject对象 237
9.7 picking对象 237
9.7.3 Primitive对象的点取 238
9.7.4 Shape3D对象的选取 244
9.7.5 PickRotateBehavior对象 248
第10章 交互式JAVA 3D程序(三) 253
10.1 Behavior对象 253
10.2 自定义Behavior时所用的对象 254
10.2.1 WakeupCondition对象 254
10.2.2 WakeupCriterion对象 254
10.2.3 WakeupOr 254
10.3.1 WakeupOnAWTEvent对象的应用 255
10.3 编程举例 255
10.3.2 WakeupOnCollision对象 259
10.3.3 WakeupOnBehaviorPost对象 264
10.3.4 WakeupOnElapsedTime对象 271
第11章 几个有趣的JAVA 3D程序 275
11.1 光照效果不断变化的立体动态文字 275
11.2 奇妙的火柴杆 278
11.3 可爱的小丑 289
附录1 KAWA在JAVA 3D上的应用 301
附录2 JAVA 3D相关网址介绍 303
附录3 JAVA 3D程序调试技巧 305