Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Как найти угол поворота?   Найти похожие ветки 

 
PanPascal ©   (2002-08-17 14:24) [0]

Как найти угол поворота между координаиами мыши и BitMap"ом (8 углов: 0, 45, 90, ... 360) Если можно, то напишите пример


 
Ev_genus ©   (2002-08-17 16:42) [1]

Пишеш такую функцию

function arctg(x,y:Real):Real;
begin
if(x>0) and (y=0) then arctg:=0 else
if(x<0) and (y=0) then arctg:=pi else
if (x= 0) and(y>0) then arctg:=0.5*pi else
if (x= 0) and(y<0) then arctg:=1.5*pi else
if (x>0) and(y>0) then arctg:=arctan(abs(y/x)) else
if (x<0) and(y>0) then arctg:=pi-arctan(abs(y/x)) else
if (x<0) and(y<0) then arctg:=pi+arctan(abs(y/x)) else
if (x>0) and(y<0) then arctg:=2*pi-arctan(abs(y/x));
end;

Затем пусть S(sx,sy) - координаты спрайта, а M(mx, my) - координаты мыши. Как я понял нужен угол между горизонтальной прямой и прямой SM. Тогда угол равен
a:=round(arctg(sx-mx, sy-my)/pi*4)*45;



Страницы: 1 вся ветка

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.024 c
1-15647
Dms
2003-01-29 14:41
2003.02.06
Как убрать оптимизацию кода компилятором ?


14-15822
Anatoly Podgoretsky
2003-01-22 07:38
2003.02.06
Именинники 22 января


1-15697
Альф
2003-01-27 16:03
2003.02.06
Привет Мастаки :) Нужно КРАСИВОЕ решение ??? Код прилагается.


6-15806
Atreides
2002-12-15 14:36
2003.02.06
Simple POP/SMTP server


4-16003
grifon
2002-12-19 20:08
2003.02.06
Как быстро забить комп?