Wie kann ich ein Objekt auf einen bestimmten Punkt richten?

Started by ralph, December 28, 2004, 08:57:20 AM

Previous topic - Next topic

ralph

Moin.
Ich möchte ein 3D-Object auf einen bestimmten Punkten richten. Es soll aber nicht die Blickrichtung des Punktes annehmen.
Wie kann ich das schaffen?

Gruß,
Ralph

EgonOlsen

Du muesstest den (Simple-)Vector zwischen vom Mittelpunkt des Objektes (o) und dem Punkt im Raum (p) ausrechnen (also -o+p). Dann kannst du von diesem die Rotationsmatrize generieren lassen (getRotationMatrix() in SimpleVector) und diese Matrix als neue Rotationsmatrix des Objektes setzen. Das sollte es tun.

ralph

Könntest du mir vieleicht ein kleines Beispiel geben?

EgonOlsen

Naja, etwa so:

SimpleVector p=...;// Der Punkt, auf den das Objekt gerichtet werden soll
SimpleVector la=p.calcSub(obj.getTransformedCenter());
Matrix m=la.getRotationMatrix();
obj.setRotationMatrix(m);


Habe ich jetzt aber nicht getestet...