martes, 3 de enero de 2012

java 3D

El siguiente código genera un cubo en 3D, utilizando las librerías Java3D....



Aunque instalar y configurar en mi S.O. las librerías no fue nada facil, a fina de 4 horas continuas de intentos fallidos lo pude lograr.

Ahora el código del anterior cubo:

nombre: HelloJava3D.java
.......................................................................................................................................
/**
 *
 * @author alex4024
 */
import java.applet.Applet; 
import java.awt.BorderLayout; 
import java.awt.Frame; 
import java.awt.event.*; 
import com.sun.j3d.utils.applet.MainFrame; 
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.ColorCube; 
import java.awt.GraphicsConfiguration;
import javax.media.j3d.*;
import javax.vecmath.*;

public class HelloJava3D extends Applet { 
public HelloJava3D(){
setLayout(new BorderLayout()); 
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); 
Canvas3D canvas3D =new Canvas3D(config); 
add("Center",canvas3D); 

BranchGroup scene=createSceneGraph(); 
scene.compile(); 

SimpleUniverse simpleU =new SimpleUniverse(canvas3D); 

simpleU.getViewingPlatform().setNominalViewingTransform(); 

simpleU.addBranchGraph(scene); 
}

public BranchGroup createSceneGraph(){  
BranchGroup objRoot =new BranchGroup(); 
Transform3D rotate =new Transform3D(); 
 
rotate.rotX(Math.PI/4.0d); 
 
TransformGroup objRotate =new TransformGroup(rotate); 
objRotate.addChild(new ColorCube(0.4)); 
objRoot.addChild(objRotate);
 
return objRoot; 
}
public static void main(String [] args){ 
Frame frame =new MainFrame(new HelloJava3D(),256,256); 
}
}

.......................................................................................................................................

Lo que no he podido hacer es rotar el cubo, no se si es por las librerías, o por el código.....

No hay comentarios:

Publicar un comentario