Ola a todos.
Tenho o seguinte código que irá funcionar como Applet:
import java.applet.Applet;
import java.awt.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.Box;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
@SuppressWarnings("serial")
public class Dezena extends Applet{
private SimpleUniverse universe = null;
public Dezena(){
}
public void init(){
setLayout(new BorderLayout());
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas = new Canvas3D(config);
add("Center", canvas);
universe = new SimpleUniverse(canvas);
// Cria sub-grafos de conteúdo
BranchGroup cena1 = criaGrafoDeCena(0.9,0.0,0.0,0.0,Math.toRadians(15),Math.toRadians(-30),0.0);
// O código abaixo faz com que a ViewPlatform seja movida
// um pouco para trás, para que os objetos possam ser
// visualizados.
universe.getViewingPlatform().setNominalViewingTransform();
// Anexa os sub-grafos de conteúdo no universo virtual
universe.addBranchGraph(cena1);
}
public void destroy() {
universe.cleanup();
}
// Método responsável pela criação do grafo de cena (ou sub-grafo)
public BranchGroup criaGrafoDeCena(double e, double tx, double ty, double tz, double rx, double ry, double rz){
// Cria o nodo raiz
BranchGroup objRaiz = new BranchGroup();
Transform3D trans3d1 = new Transform3D();
trans3d1.setTranslation(new Vector3f(0.20f, 0.0f, 0.0f));
TransformGroup transGroup1 = new TransformGroup(trans3d1);
Color3f cor = new Color3f(Color.BLUE);
ColoringAttributes ca = new ColoringAttributes(cor, ColoringAttributes.NICEST);
Appearance ap = new Appearance();
ap.setColoringAttributes(ca);
transGroup1.addChild(new Box(0.1f, 0.5f, 0.1f, ap));
TransformGroup trans = new TransformGroup();
trans.addChild(transGroup1);
objRaiz.addChild(trans);
// Cria um novo objeto que irá aplicar as transformações
// geométricas sobre a barra e a adicina no grafo.
Transform3D trans1 = new Transform3D();
Transform3D t1 = new Transform3D();
Transform3D t2 = new Transform3D();
// Aplica rotação
t1.rotX(rx);
t2.rotY(ry);
trans1.rotZ(rz);
trans1.mul(t1);
trans1.mul(t2);
// Aplica escala
trans1.setScale(e);
// Aplica translação
trans1.setTranslation(new Vector3d(tx,ty,tz));
trans.setTransform(trans1);
objRaiz.compile();
return objRaiz;
}
public static void main(String[] args)
{
new MainFrame(new Dezena(), 250, 250);
}
}
Esse código gera uma barra maciça e a idéia é gerar uma barra como na figura: 
Alguém sabe como posso fazer isso? :?: Obrigado