Java 3D API tillader programmører at skabe tredimensionelle figurer i Java. Det gør den ved at præsentere kode repræsentationer af tre- dimensionelle rum , der omfatter , hvordan brugerne ser på objektet , og hvordan belysningen påvirker objektet. Brug af Java 3D-værktøjer , kan du oprette enkle former, såsom pyramider ved at definere bestemte punkter på pyramiden og farve med de medfølgende farve metoder. Ting du skal
Java Development Kit
Java 3D Biblioteker
Vis flere instruktioner
1
Import 3D biblioteker og skabe en " Pyramiden" klasse: < br >
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
Opret tredimensionelle punkter, der repræsenterer bunden og toppen af pyramiden : Hej
public static void main ( String [] args ) { SimpleUniverse u = ny 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 = nye Point3f ( - 1.0F , 0.0f , 0.0f ) Point3f n = new Point3f ( 0.0f , 0.0f , - 1.0F ), Point3f t = ny Point3f ( 0.0f , 0.721f , 0.0f ),
3
Opret geometri til at forbinde disse punkter. Denne kode tegner en særskilt trekant for hver side i fire sider , plus to skaber en kvadratisk base : Hej
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 , w) ; < br >
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) ; < br >
pyramidGeometry.setCoordinate (15 , w ), pyramidGeometry.setCoordinate (16 , n ), pyramidGeometry.setCoordinate (17, e)
GeometryInfo ginfo = new GeometryInfo ( pyramide ), NormalGenerator ng = new NormalGenerator (); ng.generateNormals ( ginfo )
GeometryArray result = ginfo.getGeometryArray ();