Tecnología

Inicio

Cómo hacer una pirámide pentagonal en Java

El API Java 3D permite a los programadores crear formas tridimensionales en Java. Esto se hace mediante la presentación de las representaciones de código del espacio tridimensional que incluye la forma en que los usuarios buscan en el objeto y cómo afecta la iluminación del objeto. El uso de las herramientas de Java 3D, puede crear formas simples tales como pirámides mediante la definición de ciertos puntos de la pirámide y colorear con los métodos de coloración incluidos.

Instrucciones

1 bibliotecas de importación en 3D y crear una clase de "pirámide":

java.awt.Color importación;
com.sun.j3d.utils.geometry.GeometryInfo importación;
com.sun.j3d.utils.geometry.NormalGenerator importación;
com.sun.j3d.utils.universe.SimpleUniverse de importación;
importar

javax.media.j3d.;
importar javax.vecmath.;

PyramidExample public class {
}

2 Crear puntos tridimensionales que representan la base y la parte superior de la pirámide:

principales argumentos (String []) {public static void
SimpleUniverse u = nueva SimpleUniverse ();
BranchGroup g = new BranchGroup ();

Point3f e = nueva Point3f (1.0f, 0.0f, 0.0f);
Point3f s = new Point3f (0.0f, 0.0f, 1.0f);
Point3f w = new Point3f (-1.0f, 0.0f, 0.0f);
Point3f n = new Point3f (0.0f, 0.0f, -1.0f);
Point3f t = new Point3f (0.0f, 0.721f, 0.0f);

3 Crear la geometría para conectar los puntos. Este código dibuja un triángulo separado para cada lado por cuatro lados, más dos creación de una base cuadrada:

TriangleArray pirámide = new TriangleArray (18,
TriangleArray.COORDINATES);
pyramidGeometry.setCoordinate (0, e);
pyramidGeometry.setCoordinate (1, t);
pyramidGeometry.setCoordinate (2, s);

pyramidGeometry.setCoordinate (3, s);
pyramidGeometry.setCoordinate (4, t);
pyramidGeometry.setCoordinate (5, w);

pyramidGeometry.setCoordinate (6, w);
pyramidGeometry.setCoordinate (7, t);
pyramidGeometry.setCoordinate (8, n);

pyramidGeometry.setCoordinate (9, n);
pyramidGeometry.setCoordinate (10, t);
pyramidGeometry.setCoordinate (11, e);

pyramidGeometry.setCoordinate (12, e);
pyramidGeometry.setCoordinate (13, s);
pyramidGeometry.setCoordinate (14, w);

pyramidGeometry.setCoordinate (15, w);
pyramidGeometry.setCoordinate (16, n);
pyramidGeometry.setCoordinate (17, e);

GeometryInfo ginfo = new GeometryInfo (pirámide);
NormalGenerator ng = new NormalGenerator ();
ng.generateNormals (ginfo);

resultado GeometryArray = ginfo.getGeometryArray ();