Точка внутри правильного шестиугольника

Я ищу совета, как лучше действовать. Я пытаюсь определить, находится ли данная точка A: (a, b) внутри правильного шестиугольника, определенного с центром O: (x, y) и диаметром описывающего круга.

Кажется излишним использовать Ray-casting или Winding-number для определения этого в таком простом случае, и в настоящее время я рассматриваю вариант определения угла (от горизонтали) линии OA, и "нормализующий" (вероятно, неправильное слово) поместите его в один из 6 равносторонних треугольников и посмотрите, находится ли эта новая точка внутри этого треугольника.

У меня такое чувство, что я упускаю что-то простое, и есть простой способ (или если я ' m действительно повезло, Java API), чтобы сделать это просто и эффективно.

Спасибо за вашу помощь.

Правка : Шестиугольник ориентирован так, что одна из сторон плоская с горизонтальной.

11
задан Adam 4 March 2011 в 12:20
поделиться