Тема: Векторы
Показать сообщение отдельно
Старый 05.03.2010, 23:11   #4
Alex.D.
Оператор ЭВМ
 
Регистрация: 02.11.2008
Сообщений: 27
Написано 12 полезных сообщений
(для 24 пользователей)
Ответ: Векторы

Сообщение от FireOwl Посмотреть сообщение
Т.е. "слева" или "справа" от вертора она лежит.
1) Берешь вектор AB и вычисляешь его перпендикуляр.
2) По знаку скалярного произведения вектора BC с перпендикуляром к AB определяешь с какой стороны лежит точка C

; вектор AB
ABx = Bx - Ax
ABy = By - Ay

; перепендикуляр к AB
ABNx = -ABy
ABNy =  ABx

; вектор BC
BCx = Cx - Bx
BCy = Cy - By

; скалярное произведение
dot = ABNx * BCx + ABNy * BCy
скалярное произведение - аркосинус угла между векторами (для его корректного получения необходимо вектора нормализовать, но для этой задачи важен только знак)
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Alex.D. за это полезное сообщение:
FireOwl (06.03.2010), Harter (09.03.2010)