Однородные координаты - Homogeneous coordinates

Рациональная кривая Безье - полиномиальная кривая, заданная в однородных координатах (синий цвет) и ее проекция на плоскость - рациональная кривая (красный цвет)

В математика, однородные координаты или же проективные координаты, представлен Август Фердинанд Мёбиус в его работе 1827 года Der barycentrische Calcul[1],[2][3] система координат, используемая в проективная геометрия, так как Декартовы координаты используются в Евклидова геометрия. Их преимущество в том, что координаты точек, включая точки на бесконечности, могут быть представлены с использованием конечных координат. Формулы с однородными координатами часто проще и симметричнее, чем их декартовы аналоги. Однородные координаты имеют ряд применений, в том числе компьютерная графика и 3D компьютерное зрение, где они позволяют аффинные преобразования и в целом проективные преобразования легко представить в виде матрицы.

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

Вступление

В реальная проективная плоскость можно рассматривать как Евклидова плоскость с добавлением дополнительных точек, которые называются указывает на бесконечность, и считаются лежащими на новой строке, линия на бесконечности. Существует точка на бесконечности, соответствующая каждому направлению (численно заданному наклоном линии), неформально определяемая как предел точки, которая движется в этом направлении от начала координат. Говорят, что параллельные прямые на евклидовой плоскости пересекаются в бесконечно удаленной точке, соответствующей их общему направлению. Учитывая точку (Икс, у) на евклидовой плоскости для любого ненулевого действительного числа Z, тройка (xZ, yZ, Z) называется набор однородных координат для точки. Согласно этому определению, умножение трех однородных координат на общий ненулевой коэффициент дает новый набор однородных координат для той же точки. Особенно, (Икс, у, 1) такая система однородных координат для точки (Икс, у). Например, декартова точка (1, 2) можно представить в однородных координатах как (1, 2, 1) или же (2, 4, 2). Исходные декартовы координаты восстанавливаются путем деления первых двух позиций на третью. Таким образом, в отличие от декартовых координат, одна точка может быть представлена ​​бесконечным числом однородных координат.

Уравнение прямой, проходящей через начало координат (0, 0) может быть написано nx + мой = 0 куда п и м не оба 0. В параметрический форма это может быть написано Икс = мт, у = −нт. Позволять Z = 1/т, поэтому координаты точки на линии можно записать (м/Z, −п/Z). В однородных координатах это становится (м, −п, Z). В пределе, поскольку т приближается к бесконечности, другими словами, когда точка удаляется от начала координат, Z стремится к 0, и однородные координаты точки становятся (м, −п, 0). Таким образом, мы определяем (м, −п, 0) как однородные координаты бесконечно удаленной точки, соответствующие направлению прямой nx + мой = 0. Поскольку любая линия евклидовой плоскости параллельна прямой, проходящей через начало координат, и поскольку параллельные прямые имеют одну и ту же точку на бесконечности, бесконечной точке на каждой прямой евклидовой плоскости даны однородные координаты.

Подвести итоги:

  • Любая точка на проективной плоскости представлена ​​тройкой (Икс, Y, Z), называется однородные координаты или же проективные координаты точки, где Икс, Y и Z не все 0.
  • Точка, представленная заданным набором однородных координат, не изменяется, если координаты умножаются на общий множитель.
  • И наоборот, два набора однородных координат представляют одну и ту же точку тогда и только тогда, когда одна получается из другой путем умножения всех координат на одну и ту же ненулевую константу.
  • Когда Z не 0 представленная точка является точкой (X / Z, Y / Z) в евклидовой плоскости.
  • Когда Z равно 0, представленная точка - это бесконечно удаленная точка.

Обратите внимание, что тройка (0, 0, 0) опущен и не представляет никакой точки. Происхождение представлено (0, 0, 1).[4]

Обозначение

Некоторые авторы используют разные обозначения для однородных координат, которые помогают отличить их от декартовых координат. Использование двоеточий вместо запятых, например (Икс:у:z) вместо (Икс, у, z), подчеркивает, что координаты следует рассматривать как отношения.[5] Квадратные скобки, как в [Икс, у, z] подчеркните, что с одной точкой связаны несколько наборов координат.[6] Некоторые авторы используют комбинацию двоеточий и квадратных скобок, как в [Икс:у:z].[7]

Другие размеры

Обсуждение в предыдущем разделе аналогично применимо к проективным пространствам, отличным от плоскости. Итак, точки на проективная линия могут быть представлены парами координат (Икс, у), а не оба нуля. В этом случае бесконечно удаленная точка (1, 0). Аналогично точки проективного п-пространство представлено (п + 1) -наборы.[8]

Другие проективные пространства

Использование действительные числа дает однородные координаты точек в классическом случае вещественных проективных пространств, однако любые поле может использоваться, в частности, сложные числа может использоваться для сложное проективное пространство. Например, сложная проективная линия использует две однородные комплексные координаты и называется Сфера Римана. Другие поля, в том числе конечные поля, может быть использован.

Однородные координаты для проективных пространств также могут быть созданы с элементами из делительное кольцо (телескоп). Однако в этом случае необходимо учитывать тот факт, что умножение не может быть коммутативный.[9]

Для общего звенеть А, а проективная прямая над A можно определить с помощью однородных факторов, действующих слева, а проективная линейная группа действует справа.

Альтернативное определение

Другое определение реальной проективной плоскости можно дать в терминах классы эквивалентности. Для ненулевых элементов р3, определять (Икс1, у1, z1) ~ (Икс2, у2, z2) означать, что есть ненулевой λ так что (Икс1, у1, z1) = (λx2, λy2, λz2). Тогда ~ - отношение эквивалентности а проективную плоскость можно определить как классы эквивалентности р3 ∖ {0}. Если (Икс, у, z) является одним из элементов класса эквивалентности п то они считаются однородными координатами п.

Линии в этом пространстве определяются как наборы решений уравнений вида топор + к + cz = 0 где не все а, б и c равны нулю. Условие топор + к + cz = 0 зависит только от класса эквивалентности (Икс, у, z) таким образом, уравнение определяет набор точек на проективной плоскости. Отображение (Икс, у) → (Икс, у, 1) определяет включение из евклидовой плоскости в проективную плоскость, а дополнение изображения - это множество точек с z = 0. Это уравнение прямой согласно определению, а дополнение называется линия на бесконечности.

Классы эквивалентности, п, - линии, проходящие через начало координат с удаленным началом. Источник на самом деле не играет существенной роли в предыдущем обсуждении, поэтому его можно добавить обратно, не изменяя свойств проективной плоскости. Это приводит к изменению определения, а именно, проективная плоскость определяется как набор прямых в р3 которые проходят через начало координат и координаты ненулевого элемента (Икс, у, z) линии считаются однородными координатами линии. Эти прямые теперь интерпретируются как точки на проективной плоскости.

Опять же, это обсуждение аналогично применимо к другим измерениям. Итак, проективное пространство размерности п можно определить как набор линий, проходящих через начало координат в рп+1.[10]

Однородность

Однородные координаты не определяются точкой однозначно, поэтому функция, определенная на координатах, скажем, ж(Икс, у, z), не определяет функцию, определенную в точках, как в декартовых координатах. Но условие ж(Икс, у, z) = 0 заданный в координатах, который может использоваться для описания кривой, определяет условие для точек, если функция однородный. В частности, предположим, что существует k такой, что

Если набор координат представляет ту же точку, что и (Икс, у, z) тогда это можно написать Икс, λу, λz) для некоторого ненулевого значения λ. потом

А многочлен грамм(Икс, у) степени k можно превратить в однородный многочлен заменив Икс с Икс/z, у с у/z и умножение на zk, другими словами, определяя

Результирующая функция ж является многочленом, поэтому имеет смысл расширить его область определения до троек, где z = 0. Процесс можно обратить, установив z = 1, или же

Уравнение ж(Икс, у, z) = 0 можно тогда рассматривать как однородную форму грамм(Икс, у) = 0 и он определяет ту же кривую, когда ограничен евклидовой плоскостью. Например, однородная форма уравнения прямой топор + к + c = 0 является топор + к + cz = 0.[11]

Координаты линии и двойственность

Уравнение прямой на проективной плоскости можно представить в виде sx + ты + уз = 0 куда s, т и ты являются константами. Каждая тройка (s, т, ты) определяет строку, определенная линия остается неизменной, если она умножается на ненулевой скаляр, и хотя бы одно из s, т и ты должно быть ненулевым. Итак, тройка (s, т, ты) можно принять за однородные координаты прямой на проективной плоскости, т. е. координаты линии в отличие от координат точки. Если в sx + ты + уз = 0 буквы s, т и ты принимаются в качестве переменных и Икс, у и z приняты как константы, тогда уравнение становится уравнением набора прямых в пространстве всех прямых на плоскости. Геометрически он представляет собой набор линий, проходящих через точку (Икс, у, z) и может интерпретироваться как уравнение точки в линейных координатах. Таким же образом, плоскости в 3-м пространстве могут иметь наборы из четырех однородных координат, и так далее для более высоких измерений.[12]

Такое же отношение, sx + ты + уз = 0, можно рассматривать либо как уравнение прямой, либо как уравнение точки. В общем, нет никакой разницы ни алгебраически, ни логически между однородными координатами точек и прямых. Таким образом, плоская геометрия с точками в качестве основных элементов и плоская геометрия с линиями в качестве основных элементов эквивалентны, за исключением интерпретации. Это приводит к концепции двойственность в проективной геометрии принцип, согласно которому роли точек и прямых можно менять местами в теореме проективной геометрии, и результат также будет теоремой. Аналогично, теория точек в проективном 3-пространстве двойственна теории плоскостей в проективном 3-пространстве и так далее для более высоких измерений.[13]

Координаты Плюккера

Присвоение координат линиям в проективном 3-м пространстве сложнее, так как может показаться, что требуется всего 8 координат: либо координаты двух точек, лежащих на прямой, либо двух плоскостей, пересекающихся с прямой. Полезный метод благодаря Юлиус Плюкер, создает набор из шести координат в качестве определителей ИксяуjИксjуя (1 ≤ я < j ≤ 4) из однородных координат двух точек (Икс1, Икс2, Икс3, Икс4) и (у1, у2, у3, у4) на линии. В Плюккеровское вложение является обобщением этого для создания однородных координат элементов любого измерения м в проективном пространстве размерности п.[14][15]

Приложение к теореме Безу

Теорема Безу предсказывает, что количество точек пересечения двух кривых равно произведению их степеней (в предположении алгебраически замкнутого поля и с некоторыми соглашениями, которые следуют для подсчета кратностей пересечений). Теорема Безу предсказывает, что существует одна точка пересечения двух прямых, и в целом это верно, но когда прямые параллельны, точка пересечения бесконечна. В этом случае для определения точки пересечения используются однородные координаты. Точно так же теорема Безу предсказывает, что линия будет пересекать конику в двух точках, но в некоторых случаях одна или обе точки бесконечны, и для их определения необходимо использовать однородные координаты. Например, у = Икс2 и Икс = 0 имеют только одну точку пересечения в конечной (аффинной) плоскости. Чтобы найти другую точку пересечения, преобразуйте уравнения в однородную форму, yz = Икс2 и Икс = 0. Это производит Икс = yz = 0 и, если предположить, что не все Икс, у и z равны 0, решения Икс = у = 0, z ≠ 0 и Икс = z = 0, у ≠ 0. Это первое решение - суть (0, 0) в декартовых координатах - конечная точка пересечения. Второе решение дает однородные координаты (0, 1, 0) что соответствует направлению у-ось. Для уравнений ху = 1 и Икс = 0 нет конечных точек пересечения. Преобразование уравнений в однородную форму дает ху = z2 и Икс = 0. Решение дает уравнение z2 = 0 который имеет двойной корень в z = 0. Из исходного уравнения Икс = 0, так у ≠ 0 так как хотя бы одна координата должна быть ненулевой. Следовательно, (0, 1, 0) - точка пересечения, отсчитываемая с кратностью 2 в соответствии с теоремой.[16]

Круговые точки

Однородная форма уравнения окружности в вещественной или комплексной проективной плоскости имеет вид Икс2 + у2 + 2Axz + 2Byz + cz2 = 0. Пересечение этой кривой с линией на бесконечности можно найти, задав z = 0. Это дает уравнение Икс2 + у2 = 0 который имеет два решения над комплексными числами, дающие точки с однородными координатами (1, я, 0) и (1, −я, 0) в комплексной проективной плоскости. Эти точки называются круговые точки на бесконечности и могут рассматриваться как общие точки пересечения всех окружностей. Это можно обобщить на кривые более высокого порядка как круговые алгебраические кривые.[17]

Смена систем координат

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

Позволять (Икс, у, z) - однородные координаты точки на проективной плоскости. Фиксированная матрица

с ненулевым детерминант, определяет новую систему координат (Икс, Y, Z) по уравнению

Умножение (Икс, у, z) на скаляр приводит к умножению (Икс, Y, Z) тем же скаляром, и Икс, Y и Z не может быть все 0, если Икс, у и z все равны нулю, так как А неособое. Так (Икс, Y, Z) представляют собой новую систему однородных координат для одной и той же точки проективной плоскости.

Барицентрические координаты

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

Трилинейные координаты

Позволять л, м, п быть тремя линиями на плоскости и определить набор координат Икс, Y и Z точки п как подписанные расстояния от п к этим трем строкам. Их называют трилинейные координаты из п относительно треугольника, вершинами которого являются попарные пересечения прямых. Строго говоря, они не однородны, так как значения Икс, Y и Z определены точно, а не только с точностью до пропорциональности. Однако между ними существует линейная взаимосвязь, поэтому эти координаты можно сделать однородными, допустив несколько (Икс, Y, Z) представлять ту же точку. В более общем смысле, Икс, Y и Z можно определить как константы п, р и q раз расстояния до л, м и п, что приводит к другой системе однородных координат с тем же опорным треугольником. По сути, это наиболее общий тип системы однородных координат для точек на плоскости, если ни одна из прямых не является линией на бесконечности.[18]

Использование в компьютерной графике и компьютерном зрении

Однородные координаты повсеместно используются в компьютерной графике, поскольку они позволяют выполнять общие векторные операции, такие как перевод, вращение, масштабирование и перспективная проекция быть представленным в виде матрицы, на которую вектор умножается. По правилу цепочки любую последовательность таких операций можно перемножить в одну матрицу, что обеспечивает простую и эффективную обработку. Напротив, использование декартовых координат, трансляции и перспективной проекции не может быть выражено как матричное умножение, хотя другие операции могут. Современное OpenGL и Direct3D видеокарты использовать однородные координаты для реализации вершинный шейдер эффективно используя векторные процессоры с 4-элементными регистрами.[19][20]

Например, в перспективной проекции положение в пространстве связано с линией от нее до фиксированной точки, называемой центр проекции. Затем точка сопоставляется с плоскостью путем нахождения точки пересечения этой плоскости и линии. Это дает точное представление о том, как трехмерный объект кажется глазу. В простейшей ситуации центр проекции является началом координат, а точки отображаются на плоскости. z = 1, работающие на данный момент в декартовых координатах. Для данной точки в пространстве (Икс, у, z), точка пересечения прямой и плоскости равна (Икс/z, у/z, 1). Отбросив теперь лишнее z координата, это становится (Икс/z, у/z). В однородных координатах точка (Икс, у, z) представлен (xw, yw, zw, ш) и точка, которой он сопоставляется на плоскости, представлена (xw, yw, zw), поэтому проекцию можно представить в матричной форме как[требуется разъяснение ]

Матрицы, представляющие другие геометрические преобразования, могут быть объединены с этим и друг с другом путем умножения матриц. В результате любую перспективную проекцию пространства можно представить в виде единой матрицы.[21][22]

Примечания

  1. ^ Август Фердинанд Мёбиус: Der barycentrische Calcul, Verlag von Johann Ambrosius Barth, Лейпциг, 1827 г.
  2. ^ О'Коннор, Джон Дж.; Робертсон, Эдмунд Ф., "Август Фердинанд Мёбиус", Архив истории математики MacTutor, Сент-Эндрюсский университет.
  3. ^ Смит, Дэвид Юджин (1906). История современной математики. J. Wiley & Sons. п.53.
  4. ^ Для раздела: Джонс 1912, стр. 120–122
  5. ^ Вудс 1922
  6. ^ Гарнер 1981
  7. ^ Миранда 1995
  8. ^ Бохер 1907, стр. 13–14
  9. ^ Гарнер 1981, стр. 32–33
  10. ^ Для раздела: Кокс, Литтл и О'Ши 2007, стр. 360–362
  11. ^ Для раздела: Миранда 1995, п. 14 и Джонс 1912, п. 120
  12. ^ Бохер 1907, стр. 107–108 (адаптировано к самолету согласно сноске на стр. 108)
  13. ^ Вудс 1922, стр.2, 40
  14. ^ Вильчинский 1906, п. 50
  15. ^ Бохер 1907, п. 110
  16. ^ Джонс 1912, pp. 117–118, 122 с упрощенными примерами.
  17. ^ Джонс 1912, п. 204
  18. ^ Джонс 1912, стр. 452 и сл.
  19. ^ «Окна просмотра и обрезка (Direct3D 9) (Windows)». msdn.microsoft.com. Получено 10 апреля 2018.
  20. ^ Шрейнер, Дэйв; Ву, Мейсон; Нейдер, Джеки; Дэвис, Том; «Руководство по программированию OpenGL», 4-е издание, ISBN  978-0-321-17348-5, опубликовано в декабре 2004 г. Стр. 38 и Приложение F (стр. 697-702) Обсудите, как OpenGL использует однородные координаты в конвейере рендеринга. Страница 2 указывает на то, что OpenGL - это программный интерфейс для графическое оборудование.
  21. ^ Мортенсон, Майкл Э. (1999). Математика для приложений компьютерной графики. Industrial Press Inc. стр.318. ISBN  0-8311-3111-X.
  22. ^ МакКоннелл, Джеффри Дж. (2006). Компьютерная графика: теория на практике. Джонс и Бартлетт Обучение. п.120. ISBN  0-7637-2250-2.

Рекомендации

дальнейшее чтение

внешняя ссылка

  • Жюль Блументаль и Джон Рокне, Однородные координаты [1]
  • Чинг-Куанг Шене, Однородные координаты [2]
  • Вольфрам MathWorld