Graphics 版 (精华区)
发信人: seaman (翩翩少年), 信区: Graphics
标 题: JAVA3D学习系列(6)--基本体的生成
发信站: 哈工大紫丁香 (Mon Sep 20 19:14:36 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程序来。
###################### 书 讯 ############################
书名: VRML2.0交互式三维图形编程 由汕头大学出版社出版 张杰编著
特殊购书方式:
1。作者售书
1。网上订购(email address: jzhang@mailserv.stu.edu.cn)
2。可以先获书,后汇款(不满意可退书),
只需将通信地址及邮编告知作者,即可在最短的时间内得到书。
3。书价为25元/本,免收邮购费用。
4。书为16开本,正文161页。
5. 购书有发票。
6. 如果需要书中的源程序,我可以email一个打包程序
(里面含有书中所有的程序)。
7. 书的简单目录
第一章 VRML的基础知识
第二章 基本形体的生成
第三章 复杂形体的生成
第四章 组节点
第五章 路由(ROUTE)的应用、四个捆绑型节点、WorldInfo节点
第六章 内插器节点
第七章 传感器节点
第八章 材质与光源
第九章 多媒体效果的生成
第十章 特殊的组节点Inline、LOD、Switch
第十一章 用PROTO、EXTERNPROTE语句定义新的节点
第十二章 JavaScript语言基础
第十三章 JavaScript语言在VRML程序中的应用(一)
第十四章 JavaScript语言在VRML程序中的应用(二)
第十五章 VRML、JAVA3D、Chromeffects及未来的三维图形技术
附录A:网络上与VRML有关的站点介绍
附录B:VRML在主页中的应用方法介绍
##############################################################
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.192.158.112]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: sunsoft.bbs@bbs.net.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.393毫秒