Java 版 (精华区)
发信人: bali (阿奔), 信区: Java
标 题: JAVA3D学习系列(6)--基本体的生成
发信站: 紫 丁 香 (Fri Mar 24 10:58:27 2000), 转信
cccc发信人: vrml (3d), 信区: Java
标 题: JAVA3D学习系列(6)--基本体的生成
发信站: BBS 水木清华站 (Mon Apr 5 16:43:35 1999)
介绍了一个简单的JAVA3D程序后,我们开始学习JAVA3D的编程
技术。首席我们介绍三维基本形体的生成。
和VRML不同,JAVA3D没有基本形体类,因而在程序中无法直接
生成大量应用的基本形体,如BOX、CONE、SPHERE等。我们可以通过
复杂的编程生成这些基本形体,也可以直接调用JAVA3D为我们提供的
geometry classes,利用它生成程序所需要的BOX、COLORCUBE、CONE、
SPHERE、CYLINDER。下面介绍这些基本体的生成方法。
一. BOX
UTILITY里BOX的构造函数有:
1. Box()
生成一个各边尺寸均为2的BOX,要说明的是,BOX、COLORCUBE、
SPHERE的坐标原点均在其中心点,CONE、CYLINDER的则在其轴
线的中点上。
2. Box(float xdim, float ydim, Appearance ap)
生成一个给定尺寸、给定外观属性的BOX
例:Box(.5f, .6f, .4f, myApp)
3. Box(float xdim, float ydim, float zdim, int primflags,
Appearance ap)
生成一个有特定说明的BOX,例如:
Box(.4f,.6f,.3f,Primitive.ENABLE_APPEARANCE_MODIFY, ap)
表示程序在运行时可以改变其外观属性。
我们可以在程序中使用的primflags种类可以在JAVA3D所附带提
供的UTILITY里的Primitive.java中获得。
二. COLORCUBE
UTILITY里COLORCUBE的构造函数有:
1. ColorCube()
生成一个边长均为2的COLORCUBE
2. ColorCube(double scale)
将边长均为2的COLORCUBE按比例放大缩小。
三. CONE
UTILITY里CONE的构造函数有:
1. public Cone()
生成一个底半径为1,高为2的CONE。
2. Cone (float radius, float height)
3. Cone (float radius, float height, int primflags,
Appearance ap)
4. Cone(float radius, float height, int primflags,
int xdivision, int ydivision, Appearance ap)
这里,xdivision、ydivision可用来表示圆锥的显示是高精度
的显示,或是底精度的显示,缺省时的中等精度时
xdivision = 15; ydivision = 1; 我们可利用这两个参数来
改变显示的效果,使显示圆锥的三角片更多或更少些。
四. SPHERE
UTILITY里SPHERE的构造函数有:
1. Sphere()
生成一个半径为1的SPHERE。
2. Sphere (float radius)
3. Sphere (float radius, Appearance ap)
4. Sphere(float radius, int primflags, Appearance ap)
5. Sphere(float radius, int primflags, int divisions)
6. Sphere(float radius, int primflags, int divisions,
Appearance ap)
这里,divisions的作用和圆锥的xdivision、ydivision相似。
五. CYLINDER
UTILITY里CYLINDER的构造函数有:
1. Cylinder()
生成一个底半径为1,高为2的CYLINDER。
2. Cylinder (float radius, float height)
3. Cylinder (float radius, float height, Appearance ap)
4. Cylinder (float radius, float height, int primflags,
Appearance ap)
5. Cylinder(float radius, float height, int primflags,
int xdivision, int ydivision, Appearance ap)
有了这些基本体的构造函数,我们就可以按SimpleCone.java
程序同样的方法,编写出生成BOX、COLORCUBE、CONE、SPHERE、
CYLINDER的JAVA3D程序来。
--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.243.89]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.544毫秒