@daniil14056

Как определить видимые ребра многоугольника к точки на плоскости?

Как определить видимые грани прямоугольника на плоскости относительно точки?
То есть есть способ найти угол между вектором нормали и вектором проекции. Если он тупой то ребро видимо.
Вопрос как найти вектор нормали, а именно в какую сторону он повернут.
Уже прочел 100000 статей и 2 учебника, и всю равно не врубаюсь, каким образом при обходе полигона все нормали будут направлены наружу, То есть как определить n(x,y) и n(-x,-y)?
К примеру уравнение прямой через 2 точки A(1,1) и B(2,2) будет AB: (X-2)/(2-1)=(Y-2)/(2-1) ->
X-2=Y-2 и в зависимости от того в какую сторону я перенесу правое и левое выражение что бы получить ур. прямой Ax+By+D=0 (т.е. X-Y=0 или -X+Y=0) у меня будет 2 разных коллинеарных вектора нормали (1,-1) или (-1,1).
И как я не кручу, у меня всегда вектора нормали будут направлены в одну сторону, что ближняя сторона, что дальняя.

5e9b0a3f833ba064880099.png
  • Вопрос задан
  • 301 просмотр
Пригласить эксперта
Ответы на вопрос 1
Многоугольник — это набор вершин, заданный в определенном порядке. Вот и определите нормали исходя из этого порядка. Например, задайте себе как стандарт обход многоугольника всегда по часовой стрелке, тогда нормаль грани всегда будет под 90 градусов влево от вектора, проведенного из вершины n в вершину n+1.
В 2д движках обычно так и делают.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы