00000009.htm
来自「水木清华BBS」· HTM 代码 · 共 218 行 · 第 1/2 页
HTM
218 行
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: vrml (3d), 信区: Java <BR>标 题: JAVA3D学习系列(9)--面的生成(上) <BR>发信站: BBS 水木清华站 (Fri Apr 9 15:27:22 1999) <BR> <BR> JAVA3D学习系列(9)----- 面的生成(上) <BR> <BR> <BR> 汕头大学机电系 张杰(<A HREF="mailto:jzhang@mailserv.stu.edu.cn)">jzhang@mailserv.stu.edu.cn)</A> <BR> <BR>一. 生成平面的对象及其定义 <BR> JAVA3D可通过编程显示出面来,面有两种:三角形和四边形, <BR>相应的对象为Triangle和Quad。 <BR> JAVA3D用于生成平面的对象有: <BR>1. TriangleArray <BR> TriangleArray (int vertexCount, int vertexFormat ) <BR> <BR>2. QuadArray <BR> QuadArray (int vertexCount, int vertexFormat ) <BR> <BR>3. TriangleStripArray <BR> TriangleStripArray ( int vertexCount , int vertexFormat, <BR> int[] stripVertexCounts ) <BR> <BR>4. TriangleFanArray <BR> TriangleFanArray ( int vertexCount ,int vetexFormat, <BR> int[] stripVertexCounts ) <BR> <BR>5. IndexedTriangleArray <BR> IndexedTriangleArray (int vertexCount , int vertexFormat, <BR> int indexCount) <BR> <BR>6. IndexedQuadArray <BR> IndexedQuadArray (int vertexCount , int vertexFormat, <BR> int indexCount ) <BR> <BR>7. IndexedTriangleStripArray <BR> IndexedTriangleStripArray( int vertexCount, int vertexFormat, <BR> int indexCount, int stripIndexCounts[]) <BR> <BR>8. IndexedTriangleFanArray <BR> IndexedTriangleFanArray ( int vertexCount, int vertexFormat, <BR> int indexCount, int stripIndexCounts[]) <BR> <BR>二. TriangleArray生成的面 <BR> 和前面介绍的PointArray、LineArray一样,面也可以用 <BR>TriangleArray来生成,利用它可以生成三角片面我们先看一下TriangleArray的定义: <BR> TriangleArray (int vertexCount, int vertexFormat ) <BR> 这里: <BR> vertexCount表示顶点的个数(必须为三的倍数) <BR> vertexFormat表示顶点的格式(第七讲有介绍) <BR> 下面我们看一个利用TriangleArray的例子,例子里有九个点。 <BR> <BR> --1-- --4-- --7-- <BR> <BR> --0-- --3-- --6-- <BR> <BR> --2-- --5-- --8-- <BR> <BR>//triShape1.java <BR>import javax.media.j3d.*; <BR> <BR>public class triShape1 extends Shape3D { <BR> <BR> private float vert[] = { <BR> -.8f , .0f ,0.0f, <BR> -.4f , .8f ,0.0f, <BR> -.4f , -.8f,0.0f, <BR> -.2f , .0f ,0.0f, <BR> 0.2f , .8f ,0.0f, <BR> 0.2f , -.8f,0.0f, <BR> 0.4f , .0f ,0.0f, <BR> 0.8f , .8f ,0.0f, <BR> 0.8f , -.8f,0.0f, <BR> }; <BR> <BR> private float color[] = { <BR> 0.0f,0.5f,1.0f, <BR> 0.5f,0.0f,1.0f, <BR> 0.0f,0.8f,2.0f, <BR> 1.0f,0.0f,0.3f, <BR> 0.0f,1.0f,0.3f, <BR> 0.3f,0.8f,0.0f, <BR> 0.0f,0.5f,1.0f, <BR> 0.5f,0.0f,1.0f, <BR> 0.0f,0.8f,2.0f,e3D { <BR> int StripCount[] = new int[2]; <BR> private float vert[] = { <BR> -.6f , .8f , 0.0f, <BR> -.6f , -.8f, 0.2f, <BR> -0.2f , .5f, -.2f, <BR> -0.2f , -.5f , 0.2f, <BR> 0.0f , -.5f, -.2f, <BR> 0.0f , .5f , .2f, <BR> 0.2f , .0f, .0f, <BR> 0.2f , .8f , 0.3f, <BR> 0.2f , -.8f, -0.3f, <BR> 0.6f , .8f, 0.0f, <BR> 0.6f , -.8f, 0.5f, <BR> 0.8f , 0.0f , .3f <BR>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?