Java 3D API lar programmerere å lage tredimensjonale figurer i Java. Den gjør dette ved å presentere kode representasjoner av tre- dimensjonale rommet som inkluderer hvordan brukerne ser på objektet og hvordan belysningen påvirker objektet . Bruke Java 3D-verktøyene , kan du lage enkle former som pyramider ved å definere visse punkter på pyramiden og fargelegging med de medfølgende fargelegging metoder. Du trenger
Java Development Kit
Java 3D Biblioteker
Vis flere instruksjoner
en
importere 3D biblioteker og lage en " pyramide "-klassen :
import java.awt.Color , import com.sun.j3d.utils.geometry.GeometryInfo , import com.sun.j3d.utils.geometry.NormalGenerator , import com.sun.j3d.utils.universe.SimpleUniverse ; importere javax.media.j3d * ; . import javax.vecmath * ; .
public class PyramidExample { }
2
Lag tredimensjonale punkter som representerer bunnen og toppen av pyramiden : en
public static void main ( String [] args ) { SimpleUniverse u = new SimpleUniverse (); BranchGroup g = new BranchGroup ();
Point3f e = new Point3f ( 1.0f , 0.0 f, 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
Lag geometrien til å koble disse punktene. Denne koden trekker en egen trekant på hver side for fire sider , pluss to skaper en firkantet base : en
TriangleArray pyramide = 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 , m );
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 , m );
pyramidGeometry.setCoordinate ( 15 , w) ; pyramidGeometry.setCoordinate ( 16 , n ) ; pyramidGeometry.setCoordinate ( 17 , e ) ;
GeometryInfo ginfo = new GeometryInfo ( pyramiden ) ; NormalGenerator ng = new NormalGenerator (); ng.generateNormals ( ginfo ) ;
GeometryArray resultat = ginfo.getGeometryArray ();