基本组件的功能用途
总的来讲,Java3D里绘制场景图就是相当于绘制一个树状图,由跟节点画起,直到画出数的叶子。
(1)超结构:在Java3D里超类结构对象有VirtualUniverse类和Local类对象,一个Java3D程序只有一个VirtualUniverse对象,VirtualUniverse对象表示任何Java3D程序都要用到的整个3D空间。VirtualUniverse对象用三个高精度的256位定点数来表示坐标。VirtualUniverse对象用Locale类对象表示一个较小的局部空间,每个VirtualUniverse可以包含一个或多个Local对象,每个Locale对象可以附属有分支图,当一个分支图被附属到一个Locale时,Java3D绘制引擎就会开始绘制此分支图,即活动分支图。
(2)Node:节点。Node类是绘制场景图中的主体树结构的节点,包括Group节点和Leaf节点对象。
Group节点是场景图树结构的主要构建模块,包含有BranchGroup节点和TransformGroup节点等六个节点对象。Group节点的子节点可以是Leaf节点,也可以是一个Gruop节点。需要注意的是每个节点只有一个父节点,正如一个人只有一个父亲一样。从根节点到每个叶节点都只有一条唯一路径。下面的方法可以给父节点添加一个子节点:
void addChild(Node child);//添加子节点
void insertChild(Node child,int index);//根据索引添加子节点
可以通过索引访问某个子节点:
Node getChild(int index);
void setChild(Node Child,int index);
其他方法:
Enumeration getAllChildren();
void remove Child (Node child);//删除某个节点
void remove Child (int index);//根据索引删除节点
void removeAllChildren();//删除所有节点
每个BranchGroup节点Java3D场景图的某一个分支的根节点,只有BranchGroup对象才能直接附属到一个Local对象上,所以每个场景图至少有一个BranchGroup节点。BranchGroup节点的作用是把其他节点整合在一起,仅此而已。
Leaf类是Node类的子类,是抽象类。通常叶节点表示的是各种集合对象、声音或场景中其他图形对象。叶节点没有子节点,常用也节点对象一般有Shape3D(图形)、ViewPlatform、Background(背景)、Light(灯光)等对象。Shape3D类叶节点,表示各种需要绘制的图形对象。通过Shape3D对象定义图形的几何外观属性,可以设置形状大小和材质颜色。Ligth对象定义绘图场景中的光源。ViewPlatform对象节点表示观察者在场景图中的位置。BackGround类可定义场景的背景颜色,一般设置为白色。
(3)节点组件。一个场景的结构是用组节点和叶节点来定义的。但这些节点的属性则由节点组件类(NodeComponent)定义。可以定义几何特征、颜色、材质、纹理等特性。
Geometry类:每个Shape3D叶节点都依赖一个Geometry类对象,通过Geometry类及其子类来定义图形对象的几何属性。
Appearance类:提供形体的外观属性,如颜色、纹理,Appearance是NodeComponent(节点组件)的子类,它不是场景图的一部分,每个Appearance对象可以被多个Shape3D对象所用。
它所引用的其他对象有ColoringAttributes、PointAttributes、Material、Texture、Alpha、Font3D等。
分享到:
相关推荐
总之,这个压缩包提供的Java 3D学习书籍是一套全面的教程,涵盖了从入门到进阶的各个层次。通过系统学习,开发者不仅可以掌握Java 3D的使用,还能深入理解3D图形学原理,为创建引人入胜的3D应用打下坚实的基础。
Java3D是一个强大的Java库,用于在二维屏幕上创建和展示复杂的三维图形。它基于OpenGL标准,使得Java开发者能够利用硬件加速的功能来实现高性能的3D图形应用。本学习实例主要涵盖了Java3D的各种使用技巧和效果,是...
本文将详细讲解 JAVA3D 学习系列中动画的生成部分,主要介绍 TransparencyInterpolator 对象的使用和实现动画效果。 一、TransparencyInterpolator 对象 TransparencyInterpolator 对象是一个 JAVA3D 中的核心对象...
JAVA3D,全称为Java 3D API,是Oracle公司推出的一种基于Java语言的三维图形编程接口。这个技术为开发者提供了强大的工具,用于创建复杂的、交互式的三维图形应用程序。JAVA3D官方实例对于初学者来说是一份宝贵的...
毕业前宝贵资料奉献,学习java3D的绝佳系列教,希望各位认真利用。
深入研究这些源码,可以学习到如何利用Java 3D API创建3D文字,以及如何将2D文本与3D环境相结合,这对于任何想要涉足Java 3D编程的开发者来说都是宝贵的资源。通过阅读和理解这些代码,可以增强自己在3D图形编程领域...
Java3D是Java平台上用于创建和展示三维图形的高级库,它是Java Advanced Imaging (JAI) 的一部分,由...通过学习和实践,开发者可以利用Java3D创建出交互式、高性能的3D应用程序,如游戏、科学可视化工具或者教育软件。
这个开发包包含多个版本,如java3d-1_3-windows-i586-directx-sdk.exe、java3d-1_5_1-windows-i586.exe和java3d-1.5.0.exe,分别对应不同的更新和优化,适应不同开发者的需求。 1. **Java 3D API**: Java 3D API...
Java3D是一个强大的Java库,用于在二维屏幕上创建和展示三维图形。它是Java平台上的一个扩展,使得开发者能够构建复杂的3D应用,如游戏、模拟器、科学可视化工具等。这个教程显然旨在帮助学习者掌握Java3D的核心概念...
JAVA 3D教程是专为Java开发者设计的一套学习资源,旨在帮助他们快速掌握Java 3D编程技术。Java 3D是一种强大的图形库,它允许程序员创建和展示复杂的3D场景,为游戏开发、虚拟现实应用以及科学可视化等领域提供了...
Java3D是Oracle公司开发的一个开源三维图形编程库,它为Java程序员提供了一种在Java平台上构建三...虽然现在Java3D的发展已经相对缓慢,但在很多现有的项目和教学资源中,它仍然是学习和实践3D图形编程的一个重要选择。
Java 3D是一种基于Java平台的三维图形编程接口,它为开发者提供了在互联网上创建交互式、动态的三维图形应用程序的能力。...为了更好地学习Java 3D,你可以参考相关的教程,动手实践项目,逐步掌握这个强大的工具。
* 易于学习:Java3D 的 API 是 Sun 定义的用于实现 3D 显示的接口,易于学习和使用。 Java3D 的应用领域包括: * 三维动画 * 三维游戏 * 机械 CAD * 虚拟现实(VR) Java3D 与其他三维技术的比较: * OpenGL:是...
这个“java3D 官方教程 中文版”压缩包包含了一系列的学习资源,旨在帮助初学者和有经验的开发者更好地理解和使用Java3D API。 首先,"java3D官方教程中文版"是主要的学习资料,它全面地介绍了Java3D的各个方面。...
第二章:基本3D几何 "j3d_tutorial_ch2.pdf"深入介绍了如何创建和操作基本的3D几何形状,如立方体、球体和圆柱体。你将学习如何使用TransformGroup和Transform3D来操纵物体的位置、旋转和缩放,这些都是构建动态3D...
"java3d-1_4_0-doc.zip"可能包含了Java3D API的完整文档,这对于深入学习和查阅API功能非常有用。 5. 源代码: 源代码是学习编程的最佳途径之一。通过分析和实践这些源代码,开发者可以理解Java3D如何创建3D物体、...
Java3D是一个基于Java语言的三维图形编程库,它为开发者提供了一种高效、平台无关的方式来创建和操纵复杂的3D场景。这个“java3d jar包下载.rar”压缩包包含了运行和开发Java3D应用程序所需的类库文件。下面将详细...
"Java 3D 入门学习的好代码例子" 本文将详细介绍 Java 3D 入门学习的好代码例子,通过对代码的分析和解释,帮助读者快速入门 Java 3D 编程。 GameMain.java GameMain.java 是程序的入口,负责创建游戏的主要窗口...
这个官方教程是针对Java3D的详细学习资源,以英文PDF格式呈现,共分为7个章节,涵盖了从基础到高级的Java3D编程概念。 第一章:入门 本章主要介绍Java3D的基本概念和环境设置。内容包括Java3D的安装、配置,以及...
java3d 的魔方实例,不错的源程序代码。互相学习