荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: ziya (水草蜢), 信区: CAD
标  题: JAVA3D学习系列(六)
发信站: BBS 荔园晨风站 (Wed May 26 09:07:15 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

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.szu.edu.cn.[FROM: 192.168.0.138]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店