В математике однородные координаты или проективные координаты , введенные Августом Фердинандом Мёбиусом в его работе 1827 года Der barycentrische Calcul , [1] [2] [3] представляют собой систему координат, используемую в проективной геометрии , так же как декартовы координаты используются в евклидовой геометрии . Они имеют то преимущество, что координаты точек, включая точки на бесконечности , могут быть представлены с использованием конечных координат. Формулы, включающие однородные координаты, часто проще и симметричнее, чем их декартовы аналоги. Однородные координаты имеют ряд приложений, включая компьютерную графику и трехмерное компьютерное зрение , где они позволяют легко представлять аффинные преобразования и, в общем, проективные преобразования с помощью матрицы . Они также используются в фундаментальных алгоритмах криптографии эллиптических кривых . [4]
Если однородные координаты точки умножаются на ненулевой скаляр , то полученные координаты представляют одну и ту же точку. Поскольку однородные координаты также задаются точкам на бесконечности, количество координат, требуемых для разрешения этого расширения, на единицу больше, чем размерность рассматриваемого проективного пространства . Например, для указания точки на проективной прямой требуются две однородные координаты, а для указания точки на проективной плоскости требуются три однородные координаты.
Действительную проективную плоскость можно рассматривать как евклидову плоскость с добавленными дополнительными точками, которые называются точками на бесконечности и считаются лежащими на новой прямой, прямой на бесконечности . Каждому направлению соответствует точка на бесконечности (численно заданная наклоном прямой), неформально определяемая как предел точки, которая движется в этом направлении от начала координат. Говорят, что параллельные прямые на евклидовой плоскости пересекаются в точке на бесконечности, соответствующей их общему направлению. Если задана точка на евклидовой плоскости, для любого ненулевого действительного числа тройка называется набором однородных координат для этой точки. Согласно этому определению, умножение трех однородных координат на общий, ненулевой множитель дает новый набор однородных координат для той же точки. В частности, является такой системой однородных координат для точки . Например, декартова точка может быть представлена в однородных координатах как или . Исходные декартовы координаты восстанавливаются путем деления первых двух позиций на третью. Таким образом, в отличие от декартовых координат, одна точка может быть представлена бесконечным числом однородных координат.
Уравнение прямой, проходящей через начало координат, можно записать , где и не являются одновременно . В параметрической форме это можно записать . Пусть , поэтому координаты точки на прямой можно записать . В однородных координатах это становится . В пределе, по мере того как приближается к бесконечности, другими словами, по мере того как точка удаляется от начала координат, приближается и однородные координаты точки становятся . Таким образом, мы определяем как однородные координаты точки на бесконечности, соответствующие направлению прямой . Поскольку любая прямая евклидовой плоскости параллельна прямой, проходящей через начало координат, и поскольку параллельные прямые имеют одну и ту же точку на бесконечности, бесконечной точке на каждой прямой евклидовой плоскости были заданы однородные координаты.
Подводя итог:
Тройка опущена и не представляет никакой точки. Начало координат евклидовой плоскости представлено как . [5]
Некоторые авторы используют разные обозначения для однородных координат, которые помогают отличить их от декартовых координат. Использование двоеточий вместо запятых, например вместо , подчеркивает, что координаты следует считать отношениями. [6] Квадратные скобки, как в , подчеркивают, что несколько наборов координат связаны с одной точкой. [7] Некоторые авторы используют комбинацию двоеточий и квадратных скобок, как в . [8]
Обсуждение в предыдущем разделе аналогично применимо к проективным пространствам, отличным от плоскости. Таким образом, точки на проективной прямой могут быть представлены парами координат , а не обе нулевые. В этом случае точка на бесконечности — это . Аналогично точки в проективном -пространстве представлены -кортежами. [9]
Использование действительных чисел дает однородные координаты точек в классическом случае действительных проективных пространств, однако может быть использовано любое поле , в частности, комплексные числа могут быть использованы для комплексного проективного пространства . Например, комплексная проективная прямая использует две однородные комплексные координаты и известна как сфера Римана . Могут быть использованы и другие поля, включая конечные поля .
Однородные координаты для проективных пространств также могут быть созданы с элементами из деления кольца (тела). Однако в этом случае необходимо принять во внимание тот факт, что умножение может не быть коммутативным . [10]
Для общего кольца A проективную прямую над A можно определить с однородными множителями, действующими слева, и проективной линейной группой, действующей справа.
Другое определение действительной проективной плоскости можно дать в терминах классов эквивалентности . Для ненулевых элементов из , определение означает, что существует ненулевой такой, что . Тогда — отношение эквивалентности , и проективную плоскость можно определить как классы эквивалентности Если — один из элементов класса эквивалентности , то они считаются однородными координатами .
Прямые в этом пространстве определяются как множества решений уравнений вида , где не все из , и равны нулю. Удовлетворение условия зависит только от класса эквивалентности , поэтому уравнение определяет множество точек в проективной плоскости. Отображение определяет включение из евклидовой плоскости в проективную плоскость, а дополнением изображения является множество точек с . Уравнение является уравнением прямой в проективной плоскости (см. определение прямой в проективной плоскости) и называется прямой на бесконечности.
Классы эквивалентности, , являются прямыми, проходящими через начало координат с удаленным началом координат. Начало координат на самом деле не играет существенной роли в предыдущем обсуждении, поэтому его можно добавить обратно, не меняя свойств проективной плоскости. Это приводит к изменению определения, а именно проективная плоскость определяется как множество прямых, проходящих через начало координат, а координаты ненулевого элемента прямой принимаются за однородные координаты прямой. Эти прямые теперь интерпретируются как точки в проективной плоскости.
Опять же, это обсуждение применимо аналогично к другим измерениям. Таким образом, проективное пространство размерности n можно определить как множество линий, проходящих через начало координат в . [11]
Однородные координаты не определяются однозначно точкой, поэтому функция, определенная на координатах, скажем , не определяет функцию, определенную на точках, как в декартовых координатах. Но условие, определенное на координатах, которое может быть использовано для описания кривой, определяет условие на точках, если функция однородна . В частности, предположим, что существует такое, что
Если набор координат представляет ту же точку, что и , то его можно записать для некоторого ненулевого значения . Тогда
Многочлен степени можно превратить в однородный многочлен , заменив на , на и умножив на , другими словами, определив
Результирующая функция является полиномом, поэтому имеет смысл расширить ее область определения до троек, где . Процесс можно обратить, установив , или
Уравнение тогда можно рассматривать как однородную форму и оно определяет ту же кривую, когда ограничено евклидовой плоскостью. Например, однородная форма уравнения прямой [ 12]
Уравнение прямой в проективной плоскости может быть задано как , где , и являются константами. Каждая тройка определяет прямую, определяемая прямая не изменяется, если она умножается на ненулевой скаляр, и по крайней мере один из , и должен быть ненулевым. Таким образом, тройка может быть принята за однородные координаты прямой в проективной плоскости, то есть координаты прямой в отличие от координат точки. Если в буквах , и взяты как переменные, а , и взяты как константы, то уравнение становится уравнением набора прямых в пространстве всех прямых в плоскости. Геометрически оно представляет набор прямых, которые проходят через точку , и может быть интерпретировано как уравнение точки в координатах прямой. Таким же образом, плоскости в 3-пространстве могут быть заданы наборами из четырех однородных координат, и так далее для более высоких измерений. [13]
Одно и то же отношение, , можно рассматривать как уравнение прямой или уравнение точки. В общем, нет никакой разницы ни алгебраически, ни логически между однородными координатами точек и прямых. Таким образом, плоская геометрия с точками в качестве основных элементов и плоская геометрия с прямыми в качестве основных элементов эквивалентны, за исключением интерпретации. Это приводит к концепции двойственности в проективной геометрии, принципу, согласно которому роли точек и прямых можно поменять местами в теореме в проективной геометрии, и результатом также будет теорема. Аналогично, теория точек в проективном 3-пространстве двойственна теории плоскостей в проективном 3-пространстве и так далее для более высоких измерений. [14]
Назначение координат линиям в проективном 3-пространстве сложнее, поскольку, по-видимому, требуется всего 8 координат, либо координаты двух точек, лежащих на линии, либо двух плоскостей, пересечение которых является линией. Полезный метод, предложенный Юлиусом Плюккером , создает набор из шести координат как определителей из однородных координат двух точек и на линии. Вложение Плюккера является обобщением этого для создания однородных координат элементов любой размерности в проективном пространстве размерности . [15] [16]
Однородная форма для уравнения окружности в действительной или комплексной проективной плоскости — . Пересечение этой кривой с линией на бесконечности можно найти, установив . Это дает уравнение , которое имеет два решения над комплексными числами, что приводит к точкам с однородными координатами и в комплексной проективной плоскости. Эти точки называются круговыми точками на бесконечности и могут рассматриваться как общие точки пересечения всех окружностей. Это можно обобщить на кривые более высокого порядка как круговые алгебраические кривые . [17]
Так же, как выбор осей в декартовой системе координат несколько произволен, выбор единой системы однородных координат из всех возможных систем несколько произволен. Поэтому полезно знать, как различные системы связаны друг с другом.
Пусть ) — однородные координаты точки в проективной плоскости. Фиксированная матрица с ненулевым определителем , определяет новую систему координат уравнением Умножение на скаляр приводит к умножению на тот же скаляр, и , и не могут быть всеми, если только , и все равны нулю, так как является невырожденной. Так же являются новой системой однородных координат для той же точки проективной плоскости.
Первоначальная формулировка однородных координат Мёбиуса определяла положение точки как центра масс (или барицентра) системы из трех точечных масс, размещенных в вершинах фиксированного треугольника. Точки внутри треугольника представлены положительными массами, а точки вне треугольника представлены допускающими отрицательными массами. Умножение масс в системе на скаляр не влияет на центр масс, поэтому это особый случай системы однородных координат.
Пусть , и будут тремя прямыми на плоскости и определят набор координат , и точки как знаковые расстояния от до этих трех прямых. Они называются трилинейными координатами относительно треугольника, вершины которого являются попарными пересечениями прямых. Строго говоря, они не являются однородными, поскольку значения , и определяются точно, а не только с точностью до пропорциональности. Однако между ними существует линейная связь, поэтому эти координаты можно сделать однородными, разрешив кратным представлять одну и ту же точку. В более общем смысле, , и могут быть определены как константы , и умножены на расстояния до , и , что приводит к другой системе однородных координат с тем же треугольником отсчета. Это, по сути, наиболее общий тип системы однородных координат для точек на плоскости, если ни одна из прямых не является линией на бесконечности. [18]
Однородные координаты повсеместно распространены в компьютерной графике, поскольку они позволяют представлять общие векторные операции, такие как перемещение , вращение , масштабирование и перспективную проекцию, в виде матрицы, на которую умножается вектор. По правилу цепочки любая последовательность таких операций может быть умножена на одну матрицу, что позволяет выполнять простую и эффективную обработку. Напротив, использование декартовых координат, перемещение и перспективная проекция не могут быть выражены как умножение матриц, хотя другие операции могут. Современные графические карты OpenGL и Direct3D используют преимущества однородных координат для эффективной реализации вершинного шейдера с использованием векторных процессоров с 4-элементными регистрами. [19] [20]
Например, в перспективной проекции положение в пространстве связано с линией от нее до фиксированной точки, называемой центром проекции . Затем точка отображается на плоскость путем нахождения точки пересечения этой плоскости и линии. Это дает точное представление о том, как трехмерный объект выглядит для глаза. В простейшей ситуации центр проекции является началом координат, а точки отображаются на плоскость , работая на данный момент в декартовых координатах. Для заданной точки в пространстве, , точка пересечения линии и плоскости равна . Отбрасывая теперь уже лишнюю координату, это становится . В однородных координатах точка представлена как , а точка, в которую она отображается на плоскости, представлена как , поэтому проекцию можно представить в матричной форме как Матрицы, представляющие другие геометрические преобразования, могут быть объединены с ней и друг с другом путем умножения матриц. В результате любая перспективная проекция пространства может быть представлена как одна матрица. [21] [22]