# Bewegen von Objekten



## Gast (20. Sep 2004)

Ok, ich bin Java 3D Anfänger und muß für die Arbeit ein Programm erstellen, mit dem ich einen Roboter durch eine 3D-Welt steuern kann.
Die Drehung des Roboters funktioniert auch problemlos mit:            

```
Transform3D trans=new Transform3D();
            Transform3D trans2=this.roboter_trans;
            trans.rotY((float)Math.toRadians(winkel));
            winkel_y=winkel_y+winkel;
            trans.mul(trans2);
            this.roboter_TransformGroup.setTransform(trans);
```

Wenn ich den Roboter jetzt jedoch in eine richtung bewege:

```
Transform3D trans=new Transform3D();
            Transform3D trans2=this.roboter_trans;
            trans.setTranslation(new Vector3d(0,0,weite));
            trans.mul(trans2);
            this.roboter_TransformGroup.setTransform(trans);
            this.roboter_trans=trans;
```

und ihn danach wieder drehen will, dreht der Roboter sich immernoch um den alten Mittelpunkt.
Hier nun meine Frage:
Wie kann ich den Mittelpunkt der TransformGroup verändern?


----------



## Oxygenic (21. Sep 2004)

Ganz einfach: mit noch einer TransformGroup ;-)


----------



## Gast (22. Sep 2004)

Schuldigung, aber das verstehe ich nicht.
Wie muß die denn aussehen. außerdem wird doch dann der Roboter auch wieder mitverschoben


----------



## Illuvatar (22. Sep 2004)

Zwei TransformGroups "hintereinandergehängt".
Eine für Drehung eine für Verschiebung. Die für Drehung ist Child von der für Verschiebung.


----------



## Gast (23. Sep 2004)

Super hat funktioniert! Danke


----------

