stringtranslate.com

Ориентация кривой

В математике ориентация кривой — это выбор одного из двух возможных направлений движения по кривой. Например, для декартовых координат ось x традиционно направлена ​​вправо, а ось y — вверх .

В случае плоской простой замкнутой кривой (то есть кривой на плоскости, начальная точка которой является также конечной точкой и которая не имеет других самопересечений), кривая называется положительно ориентированной или ориентированной против часовой стрелки , если при движении по ней внутренняя часть кривой всегда находится слева (и, следовательно, внешняя часть кривой — справа). В противном случае, то есть если левое и правое поменять местами, кривая является отрицательно ориентированной или ориентированной по часовой стрелке . Это определение основано на том факте, что каждая простая замкнутая кривая допускает хорошо определенную внутреннюю часть, что следует из теоремы Жордана о кривой .

Внутренняя петля кольцевой дороги в стране, где люди ездят по правой стороне дороги, является примером отрицательно ориентированной ( по часовой стрелке ) кривой. В тригонометрии единичная окружность традиционно ориентирована против часовой стрелки .

Понятие ориентации кривой является лишь частным случаем понятия ориентации многообразия (то есть, помимо ориентации кривой, можно говорить также об ориентации поверхности , гиперповерхности и т . д.).

Ориентация кривой связана с параметризацией ее точек действительной переменной. Кривая может иметь эквивалентные параметризации, когда есть непрерывная возрастающая монотонная функция, связывающая параметр одной кривой с параметром другой. Когда есть убывающая непрерывная функция, связывающая параметры, то параметрические представления противоположны и ориентация кривой меняется на обратную. [1] [2]

Ориентация простого многоугольника

Выбор опорных точек.

В двух измерениях, если задан упорядоченный набор из трех или более соединенных вершин (точек) (например, в connect-the-dots ), который образует простой многоугольник , ориентация полученного многоугольника напрямую связана со знаком угла в любой вершине выпуклой оболочки многоугольника, например, угла ABC на рисунке. В вычислениях знак меньшего угла, образованного парой векторов, обычно определяется знаком векторного произведения векторов. Последний может быть вычислен как знак определителя их матрицы ориентации. В частном случае, когда два вектора определяются двумя отрезками с общей конечной точкой, такими как стороны BA и BC угла ABC в нашем примере, матрица ориентации может быть определена следующим образом:

Формулу для ее определителя можно получить, например, с помощью метода разложения сомножителей :

Если определитель отрицательный, то многоугольник ориентирован по часовой стрелке. Если определитель положительный, то многоугольник ориентирован против часовой стрелки. Определитель не равен нулю, если точки A, B и C не лежат на одной прямой . В приведенном выше примере с точками, упорядоченными как A, B, C и т. д., определитель отрицательный, и, следовательно, многоугольник ориентирован по часовой стрелке.

Практические соображения

В практических приложениях обычно принимаются во внимание следующие соображения.

Не нужно строить выпуклую оболочку многоугольника, чтобы найти подходящую вершину. Обычным выбором является вершина многоугольника с наименьшей координатой X. Если их несколько, выбирается вершина с наименьшей координатой Y. Она гарантированно будет вершиной выпуклой оболочки многоугольника. В качестве альтернативы подойдет вершина с наименьшей координатой Y среди вершин с наибольшими координатами X или вершина с наименьшей координатой X среди вершин с наибольшими координатами Y (или любая другая из 8 комбинаций «наименьшая, наибольшая» X/Y). После выбора вершины выпуклой оболочки можно применить формулу, используя предыдущую и следующую вершины, даже если они не находятся на выпуклой оболочке, так как на этой вершине не может быть локальной вогнутости.

Если требуется определить ориентацию выпуклого многоугольника , то, конечно, можно выбрать любую вершину.

По числовым причинам обычно используется следующая эквивалентная формула для определителя:

Последняя формула имеет на четыре умножения меньше. Что еще более важно в компьютерных вычислениях, используемых в большинстве практических приложений, таких как компьютерная графика или САПР , абсолютные значения множителей обычно меньше (например, когда A, B, C находятся в одном квадранте ) , что дает меньшую числовую ошибку или, в крайних случаях, позволяет избежать арифметического переполнения .

Когда заранее неизвестно, что последовательность точек определяет простой многоугольник, необходимо иметь в виду следующее.

Для самопересекающегося многоугольника ( сложного многоугольника ) (или для любой самопересекающейся кривой) нет естественного понятия "внутренней части", поэтому ориентация не определена. В то же время в геометрии и компьютерной графике существует ряд понятий, заменяющих понятие "внутренней части" для замкнутых непростых кривых; см., например, " заливка " и " число витков ".

В «мягких» случаях самопересечения с вырожденными вершинами, когда трем последовательным точкам разрешено находиться на одной прямой и образовывать нулевой угол, концепция «внутренней» все еще имеет смысл, но необходимо проявлять особую осторожность при выборе проверяемого угла. В приведенном примере представьте, что точка A лежит на отрезке BC. В этой ситуации угол ABC и его определитель будут равны 0, следовательно, бесполезны. Решение состоит в том, чтобы проверять последовательные углы вдоль многоугольника (BCD, DEF,...), пока не будет найден ненулевой определитель (если только все точки не лежат на одной прямой ). (Обратите внимание, что точки C, D, E находятся на одной прямой и образуют 180-градусный угол с нулевым определителем.)

Локальная вогнутость

Как только ориентация многоугольника, образованного из упорядоченного набора вершин, известна, вогнутость локальной области многоугольника может быть определена с помощью второй матрицы ориентации. Эта матрица состоит из трех последовательных вершин, которые исследуются на вогнутость. Например, в многоугольнике, изображенном выше, если мы хотим узнать, является ли последовательность точек FGH вогнутой , выпуклой или коллинеарной (плоской), мы строим матрицу

Если определитель этой матрицы равен 0, то последовательность коллинеарна — ни вогнутая, ни выпуклая. Если определитель имеет тот же знак, что и матрица ориентации для всего многоугольника, то последовательность выпуклая. Если знаки различаются, то последовательность вогнутая. В этом примере многоугольник отрицательно ориентирован, но определитель для точек FGH положительный, и поэтому последовательность FGH вогнутая.

В следующей таблице приведены правила определения того, является ли последовательность точек выпуклой, вогнутой или плоской:

Смотрите также

Ссылки

  1. ^ Авраам Гетц (1970) Введение в дифференциальную геометрию , стр. 28, Эддисон Уэсли
  2. ^ Чуан-Чжи Сюн (1981) Первый курс дифференциальной геометрии , стр. 84, John Wiley & Sons

Внешние ссылки