Однородные координаты
В математике , однородные координаты или проективные координаты введенные Августом Фердинандом Мёбиусом в его работе 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 . Поскольку любая линия евклидовой плоскости параллельна линии, проходящей через начало координат, и поскольку параллельные линии имеют одну и ту же точку в бесконечности, бесконечной точке на каждой линии евклидовой плоскости присвоены однородные координаты.
Подводя итог:
- Любая точка проективной плоскости представлена тройкой ( X , Y , Z ) , называемой однородными координатами или проективными координатами точки, где X , Y и Z не все равны 0.
- Точка, представленная заданным набором однородных координат, не изменится, если координаты умножить на общий коэффициент.
- И наоборот, два набора однородных координат представляют одну и ту же точку тогда и только тогда, когда один получен из другого путем умножения всех координат на одну и ту же ненулевую константу.
- Когда Z не равно 0, представленной точкой является точка ( X/Z , Y/Z ) на евклидовой плоскости.
- Когда Z равно 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 ) . Тогда ~ — отношение эквивалентности , и проективную плоскость можно определить как классы эквивалентности R 3 ∖ {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. п +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 и умножив на z. к другими словами, определив
Результирующая функция 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 j − x 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 + и 2 + 2 axz + 2 byz + c z 2 = 0 . Пересечение этой кривой с линией на бесконечности можно найти, установив z = 0 . Это дает уравнение x 2 + и 2 = 0, которое имеет два решения над комплексными числами, что приводит к появлению точек с однородными координатами (1, i , 0) и (1, − i , 0) на комплексной проективной плоскости. Эти точки называются круговыми точками на бесконечности и могут рассматриваться как общие точки пересечения всех окружностей. Это можно обобщить на кривые более высокого порядка как круговые алгебраические кривые . [17]
Изменение систем координат
[ редактировать ]Как выбор осей в декартовой системе координат несколько произволен, так и выбор одной системы однородных координат из всех возможных систем несколько произволен. Поэтому полезно знать, как различные системы связаны друг с другом.
Пусть ( x , y , z ) — однородные координаты точки на проективной плоскости. Фиксированная матрица с ненулевым определителем определяет новую систему координат ( X , Y , Z ) уравнением Умножение ( x , y , z ) на скаляр приводит к умножению ( X , Y , Z ) на тот же скаляр, а X , Y и Z не могут быть все 0, если только x , y и z не равны нулю, поскольку A является неособым. Итак ( 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]
Примечания
[ редактировать ]- ^ Август Фердинанд Мёбиус: Барицентрическое исчисление , Verlag фон Иоганна Амброзиуса Барта, Лейпциг, 1827.
- ^ О'Коннор, Джон Дж.; Робертсон, Эдмунд Ф. , «Август Фердинанд Мёбиус» , Архив истории математики MacTutor , Университет Сент-Эндрюс
- ^ Смит, Дэвид Юджин (1906). История современной математики . Дж. Уайли и сыновья. п. 53 .
- ^ Иго, Кевин; МакГрю, Дэвид; Солтер, Маргарет (февраль 2011 г.). «Фундаментальные алгоритмы криптографии эллиптических кривых» .
- ^ Для раздела: Джонс 1912 , стр. 120–122.
- ^ Вудс 1922 г.
- ^ Гарнер 1981
- ^ Миранда 1995
- ^ Боше 1907 , стр. 13–14.
- ^ Гарнер 1981 , стр. 32–33.
- ^ Для раздела: Кокс, Литтл и О'Ши, 2007 , стр. 360–362.
- ^ Для раздела: Миранда 1995 , с. 14 и Джонс 1912 , с. 120
- ^ Bôcher 1907 , стр. 107–108 (адаптировано к плоскости согласно сноске на стр. 108)
- ^ Вудс 1922 , стр. 2, 40.
- ^ Вильчинский 1906 , с. 50
- ^ Боше 1907 , с. 110
- ^ Джонс 1912 , с. 204
- ^ Джонс 1912 , стр. 452 и далее.
- ^ «Видовые окна и обрезка (Direct3D 9) (Windows)» . msdn.microsoft.com . Проверено 10 апреля 2018 г.
- ^ Шрейнер, Дэйв; Ух ты, Мейсон; Нейдер, Джеки; Дэвис, Том; «Руководство по программированию OpenGL», 4-е издание, ISBN 978-0-321-17348-5 , опубликовано в декабре 2004 г. Страница 38 и Приложение F (стр. 697-702) Обсудите, как OpenGL использует однородные координаты в своем конвейере рендеринга. На странице 2 указано, что OpenGL — это программный интерфейс для графического оборудования .
- ^ Мортенсон, Майкл Э. (1999). Математика для приложений компьютерной графики . Industrial Press Inc. с. 318 . ISBN 0-8311-3111-Х .
- ^ МакКоннелл, Джеффри Дж. (2006). Компьютерная графика: теория на практике . Джонс и Бартлетт Обучение. п. 120 . ISBN 0-7637-2250-2 .
Ссылки
[ редактировать ]- Боше, Максим (1907). Введение в высшую алгебру . Макмиллан. стр. 11 и далее.
- Брио, Чарльз; Буке, Жан Клод (1896). Элементы аналитической геометрии двух измерений . пер. Дж. Х. Бойд. Компания школьных книг «Вернер». п. 380 .
- Кокс, Дэвид А.; Литтл, Джон Б.; О'Ши, Донал (2007). Идеалы, разновидности и алгоритмы . Спрингер. п. 357. ИСБН 978-0-387-35650-1 .
- Гарнер, Линн Э. (1981), Очерк проективной геометрии , Северная Голландия, ISBN 0-444-00423-8
- Джонс, Альфред Клемент (1912). Введение в алгебраическую геометрию . Кларендон.
- Миранда, Рик (1995). Алгебраические кривые и римановы поверхности . Книжный магазин АМС. п. 13. ISBN 0-8218-0268-2 .
- Вильчинский, Эрнест Юлиус (1906). Проективная дифференциальная геометрия кривых и линейчатых поверхностей . Б. Г. Тойбнер.
- Вудс, Фредерик С. (1922). Высшая геометрия . Джинн и Ко, стр. 27 и далее.
Дальнейшее чтение
[ редактировать ]- Стиллвелл, Джон (2002). Математика и ее история . Спрингер. стр. 134 и далее. ISBN 0-387-95336-1 .
- Роджерс, Дэвид Ф. (1976). Математические элементы компьютерной графики . МакГроу Хилл. ISBN 0070535272 .
Внешние ссылки
[ редактировать ]- Жюль Блументаль и Джон Рокн, Однородные координаты [1]. Архивировано 26 февраля 2021 г. в Wayback Machine.
- Чинг-Куанг Шене, Однородные координаты [2]
- Вольфрам Математический Мир