Punkt P um Distanz d im Winkel a verschieben

Hallo,
ich versuchen ein grafisches Objekt, welches aus einer Reihe von Punkten aufgebaut ist, auf dem Bildschirm zu bewegen.
Das heißt jeder Punkt muss um eine bestimmte Distanz in einem bestimmten Winkel bewegt werden.

Den Algorithmus habe ich schoneinmal gesehen bzw angewendet, besitze aber die zugehörigen Projekte nicht mehr.

Bei Wikipedia und Co habe ich sehr komplexe Formeln gesehn, die ich z.T. aber nicht so ganz verstanden habe. Kann mir jemand eine einfache Formel nennen, mit der ich das o.g. realisieren kann?

Guten Morgen,

ist es ein 2D oder 3D Objekt?

Worum möchtest du denn rotieren? Um eine Achse? Oder soll das Objekt an der aktuellen Position gedreht werden?

Grüße

powerblue

Hi,

für 2D Punkte:
Pseudocode:

public static point verschieben(point alt, float winkel, float distance){

if(Winkel>360){throw keinsinnvollerwertexception;}
if(distance90 && Winkel

Vorzeichenfehler
Hi,

ich wurde per E-Mail darauf aufmerksam gemacht, dass es durch negative sin und cos Werte zu Vorzeichenfehler kommt. Hier die korrigierte Version:

Hi,

für 2D Punkte:
Pseudocode:

//Der Winkel wird in Grad erwartet wobei 0° rechts vom Mittelpunkt liegt. Es wird gegen den Uhrzeigersinn gezählt.

public static point verschieben(point alt, float winkel, float
distance){

if(Winkel360){throw keinsinnvollerwertexception;}
if(distance90 && Winkel

Es geht um eine Implementierung des Asteroidspieles. Im Grunde soll dass Schiff bei seiner Bewegung nur um seinen eigenen Mittelpunkt gedreht werden.

Hallo,

schau mal hier:

http://www-lehre.inf.uos.de/~cg/2008/PDF/kap-06.pdf

Ab Kapital 6.3 sollte es das sein, was du sucht. Ist dort ganz gut beschrieben.

Grüße

powerblue