Hallo,
der folgende Code ist Teil eines aus Primitven zusammengesetzten Objekts. Das Objekt soll mit einem Timer animiert werden. Die Methode des ActionListener sieht so aus:
Das Problem sind rotY und rotZ. Sieht der Code aus wie oben, wird die Grafik wie gewünscht dargestellt, aber es rotiert nix. Wenn ich die beiden Zeilen vertausche, rotiert das Objekt, aber die 90°-Rotation zur Z-Achse fällt weg.
Was mache ich falsch? Ich will beide Rotationen haben, aber ich komme nicht drauf.
der folgende Code ist Teil eines aus Primitven zusammengesetzten Objekts. Das Objekt soll mit einem Timer animiert werden. Die Methode des ActionListener sieht so aus:
Code:
public void actionPerformed(ActionEvent e) {
angle++;
if(angle==360){
angle = 0;
}
Transform3D temp = new Transform3D();
tg3.getTransform(temp);
temp.rotY(angle);
temp.rotZ((float)Math.toRadians(90));
temp.setTranslation(new Vector3f(.35f,0f,0.4f));
t3d3.mul(temp);
tg3.setTransform(temp);
}
Das Problem sind rotY und rotZ. Sieht der Code aus wie oben, wird die Grafik wie gewünscht dargestellt, aber es rotiert nix. Wenn ich die beiden Zeilen vertausche, rotiert das Objekt, aber die 90°-Rotation zur Z-Achse fällt weg.
Was mache ich falsch? Ich will beide Rotationen haben, aber ich komme nicht drauf.