Rotation
Does anyone know how I could rotate a cube in Java 3D using the keyboard. This is what I have tried so far. I am VERY new to Java 3D.
import java.awt.BorderLayout;
import java.awt.Frame;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.mouse.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class rotationtestextends JPanel
{
public BranchGroup createSceneGraph()
{
BranchGroup objRoot =new BranchGroup();
objRoot.addChild(new ColorCube(0.4));
Transform3D rotate =new Transform3D();
rotate.rotX(Math.PI/4.0d);
TransformGroup transformGroup =new TransformGroup(rotate);
objRoot.addChild(transformGroup);
return objRoot;
}
public rotationtest()
{
setLayout(new BorderLayout());
Canvas3D canvas3D =new Canvas3D(null);
add("Center", canvas3D);
BranchGroup scene = createSceneGraph();
SimpleUniverse simpleU =new SimpleUniverse(canvas3D);
simpleU.getViewingPlatform().setNominalViewingTransform();
simpleU.addBranchGraph(scene);
addKeyListener(new Listener());
}
publicclass Listenerimplements KeyListener
{
publicvoid keyTyped(KeyEvent e){}
publicvoid keyReleased(KeyEvent e){}
publicvoid keyPressed(KeyEvent e)
{
System.out.println("Working");
}
}
}
publicclass rotation
{
publicstaticvoid main(String[] args)
{
JFrame frame =new JFrame("3D Rotation Test");
frame.setSize(500, 500);
frame.setLocation(50, 50);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new rotationtest());
frame.setVisible(true);
}
}

