Come fare una piramide pentagonale in Java

September 23

L'API Java 3D consente ai programmatori di creare forme tridimensionali in Java. Lo fa con la presentazione di rappresentazioni codice dello spazio tridimensionale che comprende come gli utenti guardano l'oggetto e come l'illuminazione colpisce l'oggetto. Utilizzando gli strumenti di Java 3D, è possibile creare forme semplici, come le piramidi definendo alcuni punti sulla piramide e colorare con i metodi di colorazione inclusi.

istruzione

1 librerie di importazione 3D e creare una classe "Piramide":

import java.awt.Color;
import com.sun.j3d.utils.geometry.GeometryInfo;
import com.sun.j3d.utils.geometry.NormalGenerator;
importazione com.sun.j3d.utils.universe.SimpleUniverse;
importare

javax.media.j3d.;
importare javax.vecmath.;

public class PyramidExample {
}

2 Creare punti tridimensionali che rappresentano la base e la parte superiore della piramide:

Main (string [] args) {public static void
SimpleUniverse u = new SimpleUniverse ();
BranchGroup g = new BranchGroup ();

Point3f e = new 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 Creare la geometria per collegare questi punti. Questo codice disegna un triangolo separato per ogni lato per quattro lati, oltre a due creando una base quadrata:

TriangleArray piramide = 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 (piramide);
NormalGenerator ng = new NormalGenerator ();
ng.generateNormals (ginfo);

risultato = GeometryArray ginfo.getGeometryArray ();