движение против или по часовой стрелке

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

движение против или по часовой стрелке

Сообщение d3drm » 20.09.2005 (Вт) 20:37

нужно опредилить, против или по часовой стрелке двигается курсор. Есть координаты нуля системы и координаты двигающегося курсора... Следовательно есть треугольник, который получается, если взять две точки движения курсора и точка начала координат. Так как известно где все точки находятся - известны и три стороны треугольника, а следовательно и все углы. Так вот надо определить, в какую сторону движется точка... Как?
ХЎ

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.09.2005 (Вт) 21:06

1. Два угла известны
2. Считаешь их разность, если больше пи по модулю - нормализуешь
3. Смотришь на знак

Какой пункт пояснить?
Изображение

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 20.09.2005 (Вт) 21:11

1. какие именно углы? которые прилегают к стороне, лежащей напротив начала координат?
2. нормализировать углы?
3. тут ясно )
ХЎ

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.09.2005 (Вт) 22:01

1. Аргументы тех двух точек относительно начала координат (треугольник тут вообще не нужен)
2. Прибавить/вычесть 2*пи
3. :cool:
Изображение

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 20.09.2005 (Вт) 23:03

спасибо, справился )
ХЎ

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 20.09.2005 (Вт) 23:32

Альтернативное решение (поменьше кода, да и выполняться должно побыстрее): пускай x1,y1 - координаты курсора в превый момент времени; x2,y2 - во второй. Тогда величина x1*y2-x2*y1 будет положительна, если поворот происходит по часовой стрелке, и отрицательна - если против.
Листинги не горят!


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 95

    TopList