Показать сообщение отдельно
Старый 09.12.2010, 18:09
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
я бы каждую проверку сделал так:

1. новый ноль — угол базового объекта. для этого вычитаем его angle из каждого нового угла в цикле
2. каждый угол приводим к диапазону [-180, 180] (angle += angle > 180 ? -360 : 360)
3. каждый новый угол сравниваем с текущими соседями в соответствующей песочнице (больше ноля — с левым, меньше — с правым)

другое дело, что в п.3 углы соседей тоже надо будет привести к пп.1,2
для этого наверное стоит хранить эти углы в некоторых angleLeft и angleRight
__________________
Поймай яблоко 2!