Hallo zusammen!
Ich hab mal eine Verständnisfrage:
in meiner ViewPlatform hab ich doch ein Koordinatensystem, das für mein 3D-Objekt (z.B. den ColorCube) den Bezugspunkt darstellt oder? Wenn ich meinen Würfel jetzt verschieb scheint das Koordinatensystem in der alten Position zu bleiben, richtig? Ich habe nämlich das Problem, dass sich mein Würfel noch um die alte Achsenposition dreht, wenn ich ihn erst verschieb und anschließend drehe.
Hier mal Ausschnitte aus meinen 2 Behavior-Klassen:
Ich hab mal eine Verständnisfrage:
in meiner ViewPlatform hab ich doch ein Koordinatensystem, das für mein 3D-Objekt (z.B. den ColorCube) den Bezugspunkt darstellt oder? Wenn ich meinen Würfel jetzt verschieb scheint das Koordinatensystem in der alten Position zu bleiben, richtig? Ich habe nämlich das Problem, dass sich mein Würfel noch um die alte Achsenposition dreht, wenn ich ihn erst verschieb und anschließend drehe.
Hier mal Ausschnitte aus meinen 2 Behavior-Klassen:
Code:
private class MyMovement extends Behavior {
private TransformGroup targetTG;
private Transform3D trans = new Transform3D();
private double move = 0.0;
@Override
public void initialize() { ...}
private void moveLeft() {
move += 0.1;
trans.setTranslation(new Vector3d(move, 0, 0));
targetTG.setTransform(trans);
}
[...]
Code:
privateclass MyRotation extends Behavior {
private TransformGroup targetTG;
private Transform3D trans = new Transform3D();
private Transform3D transTemp = new Transform3D();
private double angle = 0.0;
@Override
public void initialize() {...}
private void rotateY() {
angle += 0.01;
trans.rotY(angle);
trans.mul(transTemp);
targetTG.setTransform(trans);
}