Folgendes Prob:
Muss für eine Simulation einen Roboter animieren mit 2 "Gelenke" und 2 "Arme". Nun ha ich die TransformGroups glaub ich mir richtig angeordnet und ein kleines Behavior hinzugefügt.
Ich dachte ich könnte die Arme, auf Grund der hierarchie einfach mir rotX.(°) drehen, jedoch ist dies nur für den vorderen Teil des Armes so.
Prinzipiell ist es wie ein menschlicher Arm: Schulter-Gelenk verbunden mit Oberarm verbunden mit ellbogen verbunden mit Unterarm.
Wenn ich den Ellbogen "drehe" funktioniert dies mit rotX. Falls ich jedoch den Ganzen Arm bewegen will, rotiert sich alles um den Ellbogen...
Ich muss die "Schulter" wie folgt drehen:
Da der Code nicht meiner ist, würd ich gern wissen was er hier tut, und warum. Ich denke er berechnet den Punkt und transfomiert den Arm dort hin wo er hin gehört..
Muss für eine Simulation einen Roboter animieren mit 2 "Gelenke" und 2 "Arme". Nun ha ich die TransformGroups glaub ich mir richtig angeordnet und ein kleines Behavior hinzugefügt.
Ich dachte ich könnte die Arme, auf Grund der hierarchie einfach mir rotX.(°) drehen, jedoch ist dies nur für den vorderen Teil des Armes so.
Prinzipiell ist es wie ein menschlicher Arm: Schulter-Gelenk verbunden mit Oberarm verbunden mit ellbogen verbunden mit Unterarm.
Wenn ich den Ellbogen "drehe" funktioniert dies mit rotX. Falls ich jedoch den Ganzen Arm bewegen will, rotiert sich alles um den Ellbogen...
Ich muss die "Schulter" wie folgt drehen:
Code:
angle_u -= 0.1;
rotation.rotZ(angle_u);
// Stellungsmatrix des Unterams
// herausfinden
tg_temp =(TransformGroup)targetTG.getChild(0);
tg_temp.getTransform(t3d_punkt);
t3d_temp.invert(t3d_punkt);
rotation.mul(t3d_temp);
t3d_punkt.mul(rotation);
targetTG.setTransform(t3d_punkt);