00000006.htm

来自「水木清华BBS」· HTM 代码 · 共 148 行

HTM
148
字号
<HTML><HEAD>  <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人:&nbsp;vrml&nbsp;(3d),&nbsp;信区:&nbsp;Java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>标&nbsp;&nbsp;题:&nbsp;JAVA3D学习系列(6)--基本体的生成&nbsp;<BR>发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Apr&nbsp;&nbsp;5&nbsp;16:43:35&nbsp;1999)&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;介绍了一个简单的JAVA3D程序后,我们开始学习JAVA3D的编程&nbsp;<BR>技术。首席我们介绍三维基本形体的生成。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;和VRML不同,JAVA3D没有基本形体类,因而在程序中无法直接&nbsp;<BR>生成大量应用的基本形体,如BOX、CONE、SPHERE等。我们可以通过&nbsp;<BR>复杂的编程生成这些基本形体,也可以直接调用JAVA3D为我们提供的&nbsp;<BR>geometry&nbsp;classes,利用它生成程序所需要的BOX、COLORCUBE、CONE、&nbsp;<BR>SPHERE、CYLINDER。下面介绍这些基本体的生成方法。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>一.&nbsp;BOX&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UTILITY里BOX的构造函数有:&nbsp;<BR>1.&nbsp;&nbsp;Box()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个各边尺寸均为2的BOX,要说明的是,BOX、COLORCUBE、&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;SPHERE的坐标原点均在其中心点,CONE、CYLINDER的则在其轴&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;线的中点上。&nbsp;<BR>&nbsp;<BR>2.&nbsp;&nbsp;Box(float&nbsp;xdim,&nbsp;float&nbsp;ydim,&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个给定尺寸、给定外观属性的BOX&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;例:Box(.5f,&nbsp;.6f,&nbsp;.4f,&nbsp;myApp)&nbsp;<BR>&nbsp;<BR>3.&nbsp;&nbsp;Box(float&nbsp;xdim,&nbsp;float&nbsp;ydim,&nbsp;float&nbsp;zdim,&nbsp;int&nbsp;primflags,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appearance&nbsp;ap)&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个有特定说明的BOX,例如:&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Box(.4f,.6f,.3f,Primitive.ENABLE_APPEARANCE_MODIFY,&nbsp;ap)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;表示程序在运行时可以改变其外观属性。&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;我们可以在程序中使用的primflags种类可以在JAVA3D所附带提&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;供的UTILITY里的Primitive.java中获得。&nbsp;<BR>&nbsp;<BR>二.&nbsp;COLORCUBE&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UTILITY里COLORCUBE的构造函数有:&nbsp;<BR>1.&nbsp;&nbsp;ColorCube()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个边长均为2的COLORCUBE&nbsp;<BR>&nbsp;<BR>2.&nbsp;&nbsp;ColorCube(double&nbsp;scale)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;将边长均为2的COLORCUBE按比例放大缩小。&nbsp;<BR>&nbsp;<BR>三.&nbsp;CONE&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UTILITY里CONE的构造函数有:&nbsp;<BR>1.&nbsp;&nbsp;public&nbsp;Cone()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个底半径为1,高为2的CONE。&nbsp;<BR>&nbsp;<BR>2.&nbsp;&nbsp;Cone&nbsp;(float&nbsp;radius,&nbsp;float&nbsp;height)&nbsp;<BR>&nbsp;<BR>3.&nbsp;&nbsp;Cone&nbsp;(float&nbsp;radius,&nbsp;float&nbsp;height,&nbsp;int&nbsp;primflags,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;<BR>4.&nbsp;&nbsp;Cone(float&nbsp;radius,&nbsp;float&nbsp;height,&nbsp;int&nbsp;primflags,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;xdivision,&nbsp;int&nbsp;ydivision,&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;这里,xdivision、ydivision可用来表示圆锥的显示是高精度&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;的显示,或是底精度的显示,缺省时的中等精度时&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;xdivision&nbsp;=&nbsp;15;&nbsp;ydivision&nbsp;=&nbsp;1;&nbsp;我们可利用这两个参数来&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;改变显示的效果,使显示圆锥的三角片更多或更少些。&nbsp;<BR>&nbsp;<BR>四.&nbsp;SPHERE&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UTILITY里SPHERE的构造函数有:&nbsp;<BR>1.&nbsp;&nbsp;Sphere()&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个半径为1的SPHERE。&nbsp;<BR>&nbsp;<BR>2.&nbsp;&nbsp;Sphere&nbsp;(float&nbsp;radius)&nbsp;<BR>&nbsp;<BR>3.&nbsp;&nbsp;Sphere&nbsp;(float&nbsp;radius,&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;<BR>4.&nbsp;&nbsp;Sphere(float&nbsp;radius,&nbsp;int&nbsp;primflags,&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;<BR>5.&nbsp;&nbsp;Sphere(float&nbsp;radius,&nbsp;int&nbsp;primflags,&nbsp;int&nbsp;divisions)&nbsp;<BR>&nbsp;<BR>6.&nbsp;&nbsp;Sphere(float&nbsp;radius,&nbsp;int&nbsp;primflags,&nbsp;int&nbsp;divisions,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;这里,divisions的作用和圆锥的xdivision、ydivision相似。&nbsp;<BR>&nbsp;<BR>五.&nbsp;CYLINDER&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;UTILITY里CYLINDER的构造函数有:&nbsp;<BR>1.&nbsp;&nbsp;Cylinder()&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;生成一个底半径为1,高为2的CYLINDER。&nbsp;<BR>&nbsp;<BR>2.&nbsp;&nbsp;Cylinder&nbsp;(float&nbsp;radius,&nbsp;float&nbsp;height)&nbsp;&nbsp;<BR>&nbsp;<BR>3.&nbsp;&nbsp;Cylinder&nbsp;(float&nbsp;radius,&nbsp;float&nbsp;height,&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;<BR>4.&nbsp;&nbsp;Cylinder&nbsp;(float&nbsp;radius,&nbsp;float&nbsp;height,&nbsp;int&nbsp;primflags,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Appearance&nbsp;ap)&nbsp;<BR>&nbsp;<BR>5.&nbsp;&nbsp;Cylinder(float&nbsp;radius,&nbsp;float&nbsp;height,&nbsp;int&nbsp;primflags,&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;xdivision,&nbsp;int&nbsp;ydivision,&nbsp;Appearance&nbsp;ap)&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;有了这些基本体的构造函数,我们就可以按SimpleCone.java&nbsp;<BR>程序同样的方法,编写出生成BOX、COLORCUBE、CONE、SPHERE、&nbsp;<BR>CYLINDER的JAVA3D程序来。&nbsp;<BR>&nbsp;<BR>######################&nbsp;&nbsp;书&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;讯&nbsp;############################&nbsp;<BR>书名:&nbsp;VRML2.0交互式三维图形编程&nbsp;&nbsp;由汕头大学出版社出版&nbsp;&nbsp;张杰编著&nbsp;<BR>特殊购书方式:&nbsp;<BR>1。作者售书&nbsp;<BR>1。网上订购(email&nbsp;address:&nbsp;<A HREF="mailto:jzhang@mailserv.stu.edu.cn)">jzhang@mailserv.stu.edu.cn)</A>&nbsp;<BR>2。可以先获书,后汇款(不满意可退书),&nbsp;<BR>&nbsp;&nbsp;&nbsp;只需将通信地址及邮编告知作者,即可在最短的时间内得到书。&nbsp;<BR>3。书价为25元/本,免收邮购费用。&nbsp;<BR>4。书为16开本,正文161页。&nbsp;<BR>5.&nbsp;购书有发票。&nbsp;<BR>6.&nbsp;如果需要书中的源程序,我可以email一个打包程序&nbsp;<BR>&nbsp;&nbsp;(里面含有书中所有的程序)。&nbsp;<BR>7.&nbsp;书的简单目录&nbsp;<BR>&nbsp;<BR>第一章&nbsp;&nbsp;VRML的基础知识&nbsp;<BR>第二章&nbsp;&nbsp;基本形体的生成&nbsp;<BR>第三章&nbsp;&nbsp;复杂形体的生成&nbsp;<BR>第四章&nbsp;&nbsp;组节点&nbsp;<BR>第五章&nbsp;&nbsp;路由(ROUTE)的应用、四个捆绑型节点、WorldInfo节点&nbsp;<BR>第六章&nbsp;&nbsp;内插器节点&nbsp;<BR>第七章&nbsp;&nbsp;传感器节点&nbsp;<BR>第八章&nbsp;&nbsp;材质与光源&nbsp;<BR>第九章&nbsp;&nbsp;多媒体效果的生成&nbsp;<BR>第十章&nbsp;&nbsp;特殊的组节点Inline、LOD、Switch&nbsp;<BR>第十一章&nbsp;&nbsp;用PROTO、EXTERNPROTE语句定义新的节点&nbsp;<BR>第十二章&nbsp;&nbsp;JavaScript语言基础&nbsp;<BR>第十三章&nbsp;&nbsp;JavaScript语言在VRML程序中的应用(一)&nbsp;<BR>第十四章&nbsp;&nbsp;JavaScript语言在VRML程序中的应用(二)&nbsp;<BR>第十五章&nbsp;&nbsp;VRML、JAVA3D、Chromeffects及未来的三维图形技术&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>附录A:网络上与VRML有关的站点介绍&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>附录B:VRML在主页中的应用方法介绍&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>##############################################################&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;202.192.158.112]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?