- //Wink ist die Rotation deines Objektes!! Dieser Winkel wird nun im Bereich 0-360 gehalten!
- uses math;
- while wink < 0 do
- wink := wink + 360;
- while wink >= 360 do
- wink := wink - 360;
- //Richtungsvektor anhand des Winkels berechnen. Je nachdem in welchem Kreisviertel sich der Winkel befindet gelten andere Rechenregeln. Die Variablen c und a sind dann nichts weiteres als die fertigen x und y Koordinaten des Richtugnsvektors
- if wink = 0 then
- begin
- c := 0;
- a := 1;
- end
- else if wink < 90 then
- begin
- a := cos(degtorad(wink));
- c := Sqrt(1 - (a * a));
- end
- else if wink = 90 then
- begin
- c := 1;
- a := 0;
- end
- else if wink < 180 then
- begin
- c := cos(degtorad(wink - 90));
- a := -Sqrt(1 - (c * c));
- end
- else if wink = 180 then
- begin
- c := 0;
- a := -1;
- end
- else if wink < 270 then
- begin
- a := -cos(degtorad(wink - 180));
- c := Sqrt(1 - (a * a));
- c := -c;
- end
- else if wink = 270 then
- begin
- c := -1;
- a := 0;
- end
- else
- begin
- c := cos(degtorad(wink - 270));
- a := Sqrt(1 - (c * c));
- c := -c;
- end;