Введение
Система координат, используемая в проективной геометрии
В математике однородные координаты, или проективные координаты, введенные Августом Фердинандом Мёбиусом в его работе 1827 года «Der barycentrische Calcul», являются системой координат, используемой в проективной геометрии, подобно тому, как декартовы координаты используются в евклидовой геометрии. Их преимущество заключается в том, что координаты точек, включая точки на бесконечности, могут быть представлены конечными координатами. Формулы, использующие однородные координаты, часто проще и симметричнее, чем соответствующие декартовы формулы. Однородные координаты имеют широкий спектр применений, включая компьютерную графику и 3D-компьютерное зрение, где они позволяют легко представлять аффинные и, в общем случае, проективные преобразования в виде матрицы. Они также используются в фундаментальных алгоритмах криптографии на эллиптических кривых. Если однородные координаты точки умножаются на ненулевой скаляр, то результирующие координаты представляют ту же точку. Поскольку однородные координаты также определены для точек на бесконечности, число координат, необходимых для такого расширения, на единицу больше размерности рассматриваемого проективного пространства. Например, для задания точки на проективной прямой требуются две однородные координаты, а для задания точки в проективной плоскости – три однородные координаты.
Введение
Реальная проективная плоскость может рассматриваться как евклидова плоскость с добавлением дополнительных точек, называемых точками на бесконечности, которые считаются лежащими на новой прямой – прямой на бесконечности. Каждому направлению (числово заданному углом наклона прямой) соответствует точка на бесконечности, неформально определяемая как предел точки, движущейся в этом направлении от начала координат. Параллельные линии в евклидовой плоскости считаются пересекающимися в точке на бесконечности, соответствующей их общему направлению. Для точки (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 не равны нулю одновременно. В параметрической форме это можно записать как 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 не равны нулю одновременно. Точка, представленная заданным набором однородных координат, не изменяется при умножении координат на общий множитель. И наоборот, два набора однородных координат представляют одну и ту же точку, если и только если один из них получен из другого умножением всех координат на одну и ту же ненулевую константу. Если Z не равно нулю, то представленная точка – это точка (X/Z, Y/Z) в евклидовой плоскости. Если Z равно нулю, то представленная точка – это точка на бесконечности. Тройка (0, 0, 0) исключена и не представляет никакой точки. Начало координат евклидовой плоскости представляется как (0, 0, 1).
Any point in the projective plane is represented by a triple (X, Y, Z), called homogeneous coordinates or projective coordinates of the point, where X, Y and Z are not all 0. The point represented by a given set of homogeneous coordinates is unchanged if the coordinates are multiplied by a common factor. Conversely, two sets of homogeneous coordinates represent the same point if and only if one is obtained from the other by multiplying all the coordinates by the same non zero constant. When Z is not 0 the point represented is the point (X/Z, Y/Z) in the Euclidean plane. When Z is 0 the point represented is a point at infinity. The triple (0, 0, 0) is omitted and does not represent any point. The origin of the Euclidean plane is represented by (0, 0, 1).
Обозначение
Некоторые авторы используют различные обозначения для однородных координат, чтобы отличать их от декартовых координат. Например, использование двоеточия вместо запятой (x:y:z) вместо (x, y, z) подчеркивает, что координаты следует рассматривать как отношения. Квадратные скобки, такие как [x, y, z], подчеркивают, что одной точке соответствуют множественные наборы координат. Некоторые авторы используют комбинацию двоеточия и квадратных скобок, например, [x:y:z].
Другие размеры
Обсуждение в предыдущем разделе аналогично применимо к проективным пространствам, отличным от плоскости. Таким образом, точки на проективной прямой могут быть представлены парами координат (x, y), причем не обе равны нулю. В этом случае точка на бесконечности — (1, 0). Аналогично, точки в проективном n-мерном пространстве представляются (n + 1)-кортежами.
Прочие проекционные пространства
Использование вещественных чисел дает однородные координаты точек в классическом случае вещественных проективных пространств, однако может быть использовано любое поле, в частности, комплексные числа для комплексного проективного пространства. Например, комплексная проективная прямая использует две однородные комплексные координаты и известна как сфера Римана. Могут использоваться и другие поля, включая конечные. Однородные координаты для проективных пространств также могут быть построены с использованием элементов из кольца с делением (косого поля). Однако в этом случае необходимо учитывать, что умножение может быть некоммутативным. Для произвольного кольца A проективная прямая над A может быть определена с однородными множителями, действующими слева, и проективной линейной группой, действующей справа.
Альтернативное определение
Другое определение вещественной проективной плоскости может быть дано в терминах классов эквивалентности. Для ненулевых элементов R3 определим (x1, y1, z1) ~ (x2, y2, z2) как наличие ненулевого λ, такого что 1=(x1, y1, z1) = (λx2, λy2, λz2). Тогда ~ является отношением эквивалентности, а проективная плоскость может быть определена как классы эквивалентности R3 \ {0}. Если (x, y, z) является одним из элементов класса эквивалентности p, то они принимаются за однородные координаты p. Прямые в этом пространстве определяются как множества решений уравнений вида 1=ax + by + cz = 0, где не все a, b и c равны нулю. Выполнение условия 1=ax + by + cz = 0 зависит только от класса эквивалентности (x, y, z), поэтому уравнение определяет множество точек в проективной плоскости. Отображение (x, y) → (x, y, 1) определяет включение из евклидовой плоскости в проективную плоскость, а дополнение образа является множеством точек, для которых 1=z=0. Уравнение 1=z=0 является уравнением прямой в проективной плоскости (см. определение прямой в проективной плоскости) и называется линией на бесконечности. Классы эквивалентности, p, – это прямые, проходящие через начало координат, из которых исключена сама точка начала координат. Начало координат не играет существенной роли в предыдущем обсуждении, поэтому его можно добавить обратно, не изменяя свойств проективной плоскости. Это приводит к варианту определения, а именно проективная плоскость определяется как множество прямых в R3, проходящих через начало координат, а координаты ненулевого элемента (x, y, z) прямой принимаются за однородные координаты этой прямой. Эти прямые теперь интерпретируются как точки в проективной плоскости. Аналогично, это обсуждение применимо и к другим размерностям. Таким образом, проективное пространство размерности n может быть определено как множество прямых, проходящих через начало координат в Rn+1.
Lines in this space are defined to be sets of solutions of equations of the form 1=ax + by + cz = 0 where not all of a, b and c are zero. Satisfaction of the condition 1=ax + by + cz = 0 depends only on the equivalence class of (x, y, z), so the equation defines a set of points in the projective plane. The mapping (x, y) → (x, y, 1) defines an inclusion from the Euclidean plane to the projective plane and the complement of the image is the set of points with 1=z = 0. The equation 1=z = 0 is an equation of a line in the projective plane (see definition of a line in the projective plane), and is called the line at infinity. The equivalence classes, p, are the lines through the origin with the origin removed. The origin does not really play an essential part in the previous discussion so it can be added back in without changing the properties of the projective plane. This produces a variation on the definition, namely the projective plane is defined as the set of lines in R3 that pass through the origin and the coordinates of a non zero element (x, y, z) of a line are taken to be homogeneous coordinates of the line. These lines are now interpreted as points in the projective plane. Again, this discussion applies analogously to other dimensions. So the projective space of dimension n can be defined as the set of lines through the origin in Rn+1.
Координаты линии и двойственность
Уравнение прямой в проективной плоскости может быть задано как 1 = 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), и может быть интерпретировано как уравнение точки в координатах прямых. Аналогично, плоскостям в трехмерном пространстве можно задать наборы из четырех однородных координат, и так далее для более высоких размерностей. Одно и то же соотношение, 1 = sx + ty + uz = 0, можно рассматривать как уравнение прямой или уравнение точки. В общем случае, нет никакой разницы, ни алгебраической, ни логической, между однородными координатами точек и прямых. Следовательно, планиметрия с точками в качестве основных элементов и планиметрия с прямыми в качестве основных элементов эквивалентны, за исключением интерпретации. Это приводит к понятию двойственности в проективной геометрии, принципу, согласно которому роли точек и прямых можно поменять местами в теореме проективной геометрии, и результатом также будет теорема. Аналогично, теория точек в проективном трехмерном пространстве двойственна теории плоскостей в проективном трехмерном пространстве, и так далее для более высоких размерностей.
Координаты Плюкера
Присвоение координат прямым в проективном 3-мерном пространстве более сложно, поскольку, кажется, требуется в общей сложности 8 координат – либо координаты двух точек, лежащих на прямой, либо двух плоскостей, пересечением которых является эта прямая. Полезный метод, предложенный Юлиусом Плюкером, создает набор из шести координат, определяемых как определители 1=xiyj − xjyi (1 ≤ i < j ≤ 4), вычисленные из однородных координат двух точек (x1, x2, x3, x4) и (y1, y2, y3, y4), лежащих на прямой. Вложение Плюкера – это обобщение этого метода для создания однородных координат элементов любой размерности m в проективном пространстве размерности n.
Круглые точки
Однородная форма уравнения окружности в вещественной или комплексной проективной плоскости имеет вид 1 = x² + y² + 2axz + 2byz + cz² = 0. Пересечение этой кривой с линией на бесконечности можно найти, полагая z = 0. Это приводит к уравнению x² + y² = 0, которое имеет два решения в комплексных числах, давая точки с однородными координатами (1, i, 0) и (1, −i, 0) в комплексной проективной плоскости. Эти точки называются круговыми точками на бесконечности и могут рассматриваться как общие точки пересечения всех окружностей. Это можно обобщить на кривые более высокого порядка, называемые круговыми алгебраическими кривыми.
Барицентрические координаты
Оригинальная формулировка однородных координат Мёбиуса определяла положение точки как центр масс (или барицентр) системы из трех точечных масс, размещенных в вершинах фиксированного треугольника. Точки внутри треугольника представляются положительными массами, а точки вне треугольника – отрицательными массами. Умножение всех масс в системе на скаляр не изменяет положение центра масс, поэтому это частный случай системы однородных координат.
Трилинейные координаты
Пусть l, m, n – три прямые на плоскости. Определим координаты X, Y и Z точки p как знаковые расстояния от p до этих трех прямых. Эти координаты называются трилинейными координатами точки p относительно треугольника, вершины которого являются точками попарного пересечения прямых l, m и n. Строго говоря, эти координаты не являются однородными, поскольку значения X, Y и Z определяются точно, а не с точностью до пропорциональности. Однако между ними существует линейное соотношение, поэтому эти координаты можно привести к однородному виду, допустив, чтобы кратные (X, Y, Z) представляли одну и ту же точку. В более общем случае, X, Y и Z могут быть определены как константы p, r и q, умноженные на расстояния до прямых l, m и n, что приводит к другой системе однородных координат с тем же треугольником отсчета. Фактически, это наиболее общий тип системы однородных координат для точек на плоскости, при условии, что ни одна из прямых не является линией на бесконечности.
Использование в компьютерной графике и компьютерном зрении
Гомогенные координаты широко используются в компьютерной графике, поскольку позволяют представить общие векторные операции, такие как сдвиг, вращение, масштабирование и перспективная проекция, в виде матрицы, на которую умножается вектор. В силу правила цепочки, любая последовательность таких операций может быть сведена к одной матрице, обеспечивая простую и эффективную обработку. В отличие от этого, при использовании декартовых координат сдвиги и перспективная проекция не могут быть выражены в виде матричных умножений, хотя другие операции могут быть выражены таким образом. Современные графические карты OpenGL и Direct3D используют гомогенные координаты для эффективной реализации вершинных шейдеров с использованием векторных процессоров с 4-элементными регистрами. Например, при перспективной проекции положение в пространстве связано с линией, идущей от него к фиксированной точке, называемой центром проекции. Затем точка отображается на плоскость путем нахождения точки пересечения этой линии и плоскости. Это обеспечивает точное представление того, как трехмерный объект выглядит для наблюдателя. В простейшем случае центр проекции находится в начале координат, а точки отображаются на плоскость 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), поэтому проекцию можно представить в матричной форме, поскольку матрицы, представляющие другие геометрические преобразования, могут быть объединены с этой и друг с другом посредством матричного умножения. В результате любая перспективная проекция пространства может быть представлена одной матрицей.
Matrices representing other geometric transformations can be combined with this and each other by matrix multiplication. As a result, any perspective projection of space can be represented as a single matrix.