java3D与计算机图形学期末复习 第三章 java3D基本图形功能
图片与定义摘自《Java 3D 与计算机三维动态图形网络编程设计》
重点复习:
1、SimpleUniverse类
该类可以快速的设置一个最小的用户环境,并且很容易使一个Java3D应用程序运行起来。
该类创建一个Locale(场景)、一个单独的ViewingPlatform(观察平台)和一个Viewer(观察者对象),其中,该ViewingPlatform和Viewer观察者都是用其所有默认参数创建的。
2、ViewingPlatform类
透视投影(Perspective Projection):模拟人眼睛看东西和相机照相的原理,特点是离视点近的形体显得大,离视点远的形体显得小。其中,在投影平面上的投影通过相似三角形的比例关系进行计算。
平行投影(Parallel Projection):将空间的三维形体分别向三个坐标平面进行平行投影,形成三视图。最常用的就是工程制图中的主视图、俯视图和侧视图。
3、Shape3D类
Shape3D类定义所有的几何体。它包含几何体与该几何体的外观属性。几何体部分定义三维空间体的几何形状,外观属性部分定义颜色、材质等属性。
在一个Shape3D的几何对象列表中的所有元素必须属于同一个等价类,也就是属于同一种基本的几何类型。
等价类:对Geometry Array类的所有子类,所有的点对象是等价的,所有线对象是等价的,所有多边形对象是等价的。
4、Appearance类
Appearance类对象定义所有与显示相关的外观状态,这些状态可设置为一个Shape3D节点的组件对象(Component Object)。
这些显示状态包括下列几个方面:
颜色属性、点的属性、线属性、多边形属性、可视化模式、透明度属性、材质、纹理、纹理属性、纹理坐标的产生。
5、BranchGroup类
一个 BranchGroup作为一个场景图分支的根。BranchGroup对象是唯一能插入到一个Locale对象中的对象。以 BranchGroup节点为根的场景图子图是一个编辑单元。
注意:如果一个 BranchGroup节点包含在另一个子图中,作为其他Group的子节点,则该BranchGroup节点不能插入到一个Locale 节点。
6、TransformGroup类
TransformGroup节点通过Transform3D对象定义了一个唯一的3D空间坐标变换,该变换可对其子节点进行位置、方向及比例变换。(仿射变换)
7、GeometryArray类
GeometryArray类是 PointArray类,、LineArray类、TriangleArray类、QuadArray类、GeometryStripArray类与IndexedGeometryArray类的直接父类。
GeometryArray类的对象中包含独立的位置坐标数组、颜色数组、法向量数组、纹理坐标数组和顶点属性。
8、PointArray类
PointArray类是组织与定义点的数组类。
9、PointAttribute类
PointAttributes类的对象用来定义点的各种属性。
点的属性包括:
(1)Size,点的大小(默认为1个像素);
(2)Anitialiasing,反走样(当一个点的大小大于一个像素单位时,为了使点在显示时外形接近于一个圆形,则需要设置该参数)。
10、IndexedPointArray类
从定义好的所有点的坐标与颜色数组中选择出一部分点进行显示。