Просмотр полной версии : атан2
supernewbie
30.10.2010, 14:45
выложите функцию атан2 под фс) а то там тока первый
supernewbie, а чем первый не устраивает?)
supernewbie
30.10.2010, 17:39
так ведь там y и x, все такое)
supernewbie
31.10.2010, 12:20
не знаю уже блин) никак не получается рассчитать угол поворта перса при движении его
Добавлено через 15 часов 32 минуты
нашел :)
атан2:
function sgn (a : real) : real;
begin
if a < 0 then result := -1
else result := 1;
end;
function atan2(y, x : real) : real;
begin
if x > 0 then result := arctan (y/x)
else if x < 0 then result := arctan (y/x) + pi
else result := pi/2 * sgn (y);
end;
а вот функция которая вернет ваш угол поворота в л2 по начальным и конечным координатам движения:
function GetDegreeFromMoveToLolation(x1,y1,x2,y2:integer) : real;
var
x,y:integer;
begin
x:=x1-x2;
y:=y1-y2;
result:=atan2(y,x);
result:=result+(pi/2);
result:=(result/pi)*180+90;
if result>360 then result:=result-360;
if result<0 then result:=result+360;
end;
vBulletin® v3.6.11, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot