# Java3D Rotationsproblem bei einem 3D-Maennchen



## javanewb (18. Apr 2008)

Hallo an erstmal,

ich habe da ein Problem. Ich habe ein 3D-Maennchen erstellt. Dieses soll mit einem Bein einen Fußball schießen. Hab dies so realisiert, dass es für dieses Bein einen Oberschenkel in Form eines Zylinders, ein Kniegelenk in Form einer Kugel und ein Unterbein wiederum als Zylinder, gibt. Nun hab ich das Problem bei der Rotationsbewegung des Unterbeins. Ich habe gedacht, dass ich das Kniegelenk und das Unterbein in eine Transformationsgruppe packe und dann mit Hilfe eines Rotationinterpolator eine Drehbewegung anwende. Allerdings müsste die Drehbewegung dann auf das Knie (also die Kugel) angewendet werden. Ich weiß allerdings nicht, wie ich diese Rotation nur auf die Kugel innerhalb der Transformationsgruppe, bestehend aus dem Knie und dem Unterbein anwenden kann. Ich weiß nur, dass es möglich ist die Rotation mit dem Rotationinterpolator auf die gesamte Transformationsgruppe anzuwenden. Hat jemand eine Idee, wie man dies Realisieren könnte? Anbei füge ich ein Foto ein, welches mein Männchen zeigt.

Vielen Dank im Voraus


----------



## Illuvatar (18. Apr 2008)

Äh... hä? Du gibst dir die Antwort doch selber: Eine TransformGroup, in die das Knie und das Unterbei reinkommen, und ein RotationInterpolator, der das Ganze dreht.


----------



## javanewb (18. Apr 2008)

Ja das Problem ist aber, dass ich nur die ganze Transformationsgruppe dann um eine Achse drehen kann und sich dann das ganze aber nicht im Kniebereich dreht, dadurch sieht es aber unnatürlich aus. Und ich weiß halt nicht, wie ich die Rotation nur auf das Knie anwende, an dem das Unterbein hängt, sodass es auch wirklich natürlich aussieht.


----------



## Marco13 (19. Apr 2008)

Wie die Drehung aussieht hängt nur davon ab, wie du den Szenegraphen zusammenbaust. Ich weiß grad' nicht auswendig, wo der Cylinder liegt, aber ... der War doch im Ursrpung, entlang der positiven Z-Achse, oder ???:L  Also, wenn du eine TransformGroup für das Knie hast, und da dann "irgendwas" dranhängst, was bewirkt, dass der Zylinder richtig liegt, dann sollte ein Drehen der TransformGroup den gewünschten Effekt liefern. (Dieses "irgendwas" wäre dann vmtl. wieder eine TransformGroup, die den Zylinder um 180° dreht oder Verschiebt, aber an DER sollte man für die Drehung nichts ändern müssen)


----------

