General > German corner

Wie kann ich ein Objekt auf einen bestimmten Punkt richten?

(1/1)

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:


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


Habe ich jetzt aber nicht getestet...

ralph:
Danke, es hat geklappt.
Ralph.

Navigation

[0] Message Index

Go to full version