Einzelnen Beitrag anzeigen

Medium

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

Re: Direct3D: relative 2D Koordinaten bestimmen (für Radar)

  Alt 6. Dez 2009, 23:39
Du hast also bereits deine Position in "Weltkoordinaten" (P0) und den Winkel zwischen der Blickrichtung und der "Welt-Z-Achse" (alpha), richtig?

Seien die Weltkoordinaten der anderen Spieler mal Pn, dann bekommst du deren Position relativ zu deiner einfach mit Pn-P0=Vp. Wenn die 2D-Koordinate C das Zentrum deiner Map ist, sind die anderen Spieler bei C+(Vp*z)=Sn einzuzeichnen, wobei z ein beliebiger Zoomfaktor wäre. Die Y-Koordinate von Vp ignorierst du einfach, und setzt an diese Stelle die Z-Koordinate ein, die (ungedreht) quasi der Y-Koordinate in 2D entspricht. Jetzt musst du nur noch alle Sn um Alpha um das Zentrum C drehen, und hast die Blickrichtung des Spielers dabei.
Das hat mit DirectX jetzt auch herzlich wenig zu tun, und ist erstmal einfach nur lineare Algebra
"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)
  Mit Zitat antworten Zitat