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);

}

}

[3900 byte] By [CaptainMorgan08a] at [2007-10-2 22:05:52]
# 1
You might want to look at the MoleculeViewer and WireFrame applets that are part of the demo program that (hopefully) you installed when you installed the JDK. (You could also look for them on the net.)
ChuckBinga at 2007-7-14 1:22:27 > top of Java-index,Java Essentials,Java Programming...