Author Topic: Wie kann ich ein Objekt auf einen bestimmten Punkt richten?  (Read 7307 times)

Offline ralph

  • byte
  • *
  • Posts: 5
    • View Profile
Wie kann ich ein Objekt auf einen bestimmten Punkt richten?
« on: December 28, 2004, 08:57:20 am »
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

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
Wie kann ich ein Objekt auf einen bestimmten Punkt richten?
« Reply #1 on: December 28, 2004, 11:17:12 am »
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.

Offline ralph

  • byte
  • *
  • Posts: 5
    • View Profile
Wie kann ich ein Objekt auf einen bestimmten Punkt richten?
« Reply #2 on: December 29, 2004, 09:12:15 pm »
Könntest du mir vieleicht ein kleines Beispiel geben?

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 12295
    • View Profile
    • http://www.jpct.net
Wie kann ich ein Objekt auf einen bestimmten Punkt richten?
« Reply #3 on: December 30, 2004, 12:56:26 pm »
Naja, etwa so:

Code: [Select]
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...

Offline ralph

  • byte
  • *
  • Posts: 5
    • View Profile
Wie kann ich ein Objekt auf einen bestimmten Punkt richten?
« Reply #4 on: December 31, 2004, 09:06:04 am »
Danke, es hat geklappt.
Ralph.