Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Vektordistanz Fadenkreuz zu Spieler (2D) berechnen

  Alt 13. Aug 2011, 04:38
Das ist effektiv das selbe wie mein Vorschlag Nur, dass man mit den Kugelkoordinaten vermutlich billiger davon kommt, da man pro Gegner nur zwei trigonometrische Funktionen und 4 einfache Fallunterscheidungen machen muss*, und schon hast du "delta yaw + pitch". Wichtig ist dabei eben, dass die Distanz weg fällt, da so ein Projektil ja mit unendlicher Geschwindigkeit recht gut angenähert ist

Wenn man die beiden Winkel hat, kann man wieder recht einfach mittels "sqrt(yaw²+pitch²)" den gesamten Abstand berechnen, da die Projektion auf die Kugel im Grunde wieder ein 2D-Raum ist. Allerdings kein euklidscher, man müsste diesen Abstand dann für ein paar Fälle anpassen, da man zwischen -180° und 180° so eine doofe Stelle hat - es beschreibt ja beides die selbe Richtung, ist aber in Zahlen gesprochen recht weit weg voneinander. Man müsste also hier und da mal ein Pi addieren bzw. abziehen, aber für wann und wo genau ist mir das jetzt auch zu spät

*) Und natürlich insgesamt ein Mal (pro Frame / Testdurchgang) für einen Punkt in Blickrichtung mit etwas Abstand zum Spieler.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (13. Aug 2011 um 04:51 Uhr)
  Mit Zitat antworten Zitat