stringtranslate.com

Однородные координаты

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

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

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

Введение

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

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

Обобщить:

Тройка (0, 0, 0) опускается и не представляет никакой точки. Начало евклидовой плоскости обозначается (0, 0, 1) . [5]

Обозначения

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

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

Обсуждение предыдущего раздела аналогично применимо и к проективным пространствам, отличным от плоскости. Таким образом, точки на проективной прямой могут быть представлены парами координат ( x , y ) , а не обоими нулями. В этом случае точка на бесконечности — это (1, 0) . Аналогично точки в проективном n -пространстве представляются ( n  + 1)-кортежами. [9]

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

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

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

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

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

Другое определение вещественной проективной плоскости можно дать в терминах классов эквивалентности . Для ненулевых элементов R 3 определите ( x 1 , y 1 , z 1 ) ~ ( x 2 , y 2 , z 2 ) , чтобы указать, что существует ненулевой λ, так что ( x 1 , y 1 , z 1 ) знак равно ( λx 2 , λy 2 , λz 2 ) . Тогда ~ является отношением эквивалентности и проективную плоскость можно определить как классы эквивалентности R3 {0}. Если ( x , y , z ) является одним из элементов класса эквивалентности p, то они считаются однородными координатами p .

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

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

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

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

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

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

Многочлен g ( x , y ) степени k можно превратить в однородный многочлен , заменив x на x / z , y на y / z и умножив на zk , другими словами, определив

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

Тогда уравнение f ( x , y , z ) = 0 можно рассматривать как однородную форму g ( x , y ) = 0 , и оно определяет ту же кривую, если ограничиться евклидовой плоскостью. Например, однородная форма уравнения прямой ax + by + c = 0 равна ax + by + cz = 0. [12]

Линейные координаты и двойственность

Уравнение прямой на проективной плоскости может быть задано как sx + ty + uz = 0 , где s , t и u — константы. Каждая тройка ( s , t , u ) определяет линию, определенная линия остается неизменной, если ее умножить на ненулевой скаляр, и хотя бы один из s , t и u должен быть ненулевым. Таким образом, тройку ( s , t , u ) можно рассматривать как однородные координаты линии на проективной плоскости, то есть координаты линии , а не координаты точки. Если в sx  +  ty  +  uz  = 0 буквы s , t и u взять переменные, а x , y и z — константы, то уравнение становится уравнением набора прямых в пространстве всех прямых на плоскости. . Геометрически он представляет собой набор линий, проходящих через точку ( x , y , z ), и может быть интерпретирован как уравнение точки в линейных координатах. Точно так же плоскостям в трехмерном пространстве можно задать наборы из четырех однородных координат и так далее для более высоких измерений. [13]

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

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

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

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

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

Изменение систем координат

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

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

определителем( X , Y , Z )
( x , y , z )( X , Y , Z )XYZxyzA( X , Y , Z )

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

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

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

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

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

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

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

[21] [22]

Примечания

  1. ^ Август Фердинанд Мёбиус: Der barycentrische Calcul , Verlag von Иоганн Амброзиус Барт, Лейпциг, 1827.
  2. ^ О'Коннор, Джон Дж.; Робертсон, Эдмунд Ф. , «Август Фердинанд Мёбиус», Архив истории математики MacTutor , Университет Сент-Эндрюс
  3. ^ Смит, Дэвид Юджин (1906). История современной математики. Дж. Уайли и сыновья. п. 53.
  4. ^ Иго, Кевин; МакГрю, Дэвид; Солтер, Маргарет (февраль 2011 г.). «Фундаментальные алгоритмы криптографии эллиптических кривых».
  5. ^ Для раздела: Джонс 1912, стр. 120–122.
  6. ^ Вудс 1922 г.
  7. ^ Гарнер 1981
  8. ^ Миранда 1995
  9. ^ Боше 1907, стр. 13–14.
  10. ^ Гарнер 1981, стр. 32–33.
  11. ^ Для раздела: Кокс, Литтл и О'Ши, 2007, стр. 360–362.
  12. ^ Для раздела: Миранда 1995, с. 14 и Джонс 1912, с. 120
  13. ^ Bôcher 1907, стр. 107–108 (адаптировано к плоскости согласно сноске на стр. 108)
  14. ^ Вудс 1922, стр. 2, 40.
  15. ^ Вильчинский 1906, с. 50
  16. ^ Боше 1907, с. 110
  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. ИСБН 0-8311-3111-Х.
  22. ^ МакКоннелл, Джеффри Дж. (2006). Компьютерная графика: теория на практике. Джонс и Бартлетт Обучение. п. 120. ИСБН 0-7637-2250-2.

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

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

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