Hi Leute
hab mehr oder weniger ein kleines Problem :roll:
und zwar möchte ich einen Punkt, nach dem ich das Objekt gedreht habe, auf seinen Ausgangspunkt zurückrechnen.
die Rotation des Objekt hole ich mir mit der Matrix3f Klasse:
solange ich nun das Objekt nur im die y-Achse drehe, klappt es wunderbar und zwar mit dieser Formel:
sobald ich aber das Objekt um die x-Achse bzw. mit der Maus in irgendeine Richtung drehe, stimmen die Koordinaten nicht.
Weiß einer von euch, welche Formel ich da anwenden muss, dass ich, egal in welche Richtung das Objekt gedreht wird, auf den Ausgangspunkt zurückrechen kann?
mfg;
hab mehr oder weniger ein kleines Problem :roll:
und zwar möchte ich einen Punkt, nach dem ich das Objekt gedreht habe, auf seinen Ausgangspunkt zurückrechnen.
die Rotation des Objekt hole ich mir mit der Matrix3f Klasse:
Code:
Transform3D trans3D = new Transform3D();
CObjTG.getTransform( trans3D );
Matrix3f mat3f = new Matrix3f();
trans3D.getRotationScale(mat3f);
solange ich nun das Objekt nur im die y-Achse drehe, klappt es wunderbar und zwar mit dieser Formel:
Code:
p_ap.set(
(mat3f.m00 * p_neu.x) - (mat3f.m02 * p_neu.z),
p_neu.y,
(mat3f.m22 * p_neu.z) - (mat3f.m20 * p_neu.x)
);
sobald ich aber das Objekt um die x-Achse bzw. mit der Maus in irgendeine Richtung drehe, stimmen die Koordinaten nicht.
Weiß einer von euch, welche Formel ich da anwenden muss, dass ich, egal in welche Richtung das Objekt gedreht wird, auf den Ausgangspunkt zurückrechen kann?
mfg;