Java 3D API tillåter programmerare att skapa tredimensionella former i Java . Det gör detta genom att presentera kodrepresentationer av tre - dimensionell rymd som inkluderar hur användarna ser på föremålet och hur ljuset påverkar objektet . Använda Java 3D- verktygen kan du skapa enkla former såsom pyramider genom att definiera vissa punkter på pyramiden och färg med de medföljande färg metoder . Saker du behöver Review, Java Development Kit Review, Java 3D bibliotek
Visa fler instruktioner
1
Importera 3D bibliotek och skapa ett " Pyramid " klass :
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 ; importera javax.media.j3d *; . import javax.vecmath *; .
public class PyramidExample { }
2
skapa tredimensionella punkter representerar basen och toppen av pyramiden :
public static void main ( String [] args ) { SimpleUniverse u = ny SimpleUniverse ( ) ; BranchGroup g = new BranchGroup ( ) ;
Point3f e = ny Point3f ( 1.0f , 0.0 f , 0.0f ) ; Point3f s = ny Point3f ( 0.0f , 0.0f , 1.0f ) ; Point3f w = ny Point3f ( - 1.0f , 0.0f , 0.0f ) ; Point3f n = ny Point3f ( 0.0f , 0.0f , - 1.0f ) ; Point3f t = ny Point3f ( 0.0f , 0.721f , 0.0f ) ;
3
Skapa geometrin för att ansluta dessa punkter . Denna kod ritar ett separat triangel för varje sida i fyra sidor, plus två skapar en kvadratisk bas :
TriangleArray pyramid = ny 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 = ny GeometryInfo ( pyramid ) , NormalGenerator ng = ny NormalGenerator ( ) ; ng.generateNormals ( ginfo ) ;
GeometryArray resultat = ginfo.getGeometryArray ( ) ;