Однородные координаты и их особенности

Однородные координаты и геометрические преобразования

При решении задачи нахождения точки пересечения с плоскостью мы использовали запись типа (или для двухмерного случая). Наша цель – более четкое понимание этих обозначений и тех преимуществ, которые возникают в связи с этим. Запись типа , т.е. вектор строка, может рассматриваться как частный случай записи , где числа x, y, w называются однородными координатами. Эти три числа однородных координат применяются для обозначения точки в двухмерном пространстве. Эти координаты применяются в проективной геометрии, о которой мы говорили как о расширении евклидовой геометрии, и очень широко – в компьютерной графике.

Рассмотрим для простоты восприятия одномерный случай. Любая точка задается парой координат (x, w). Любая точка P(x, w), не лежащая на оси x имеет свою центральную проекцию P’(X, 1), определяющую как точка пересечения прямой OP с прямой l, описываемой уравнением w=1. Точка начала координат является центром проекции.

Для точек Q(0, w) и Q’(0, 1) имеем два подобных треугольника OPQ и OP’Q’, так что .

Все точки (x, w) со свойством x=wX лежат на линии OP и имеют одну и ту же проекцию P’. Если будем интересоваться только проекциями на прямую линию l, а не фактическими значениями x и w, то имеет значение только их отношение. Вполне естественно использовать одну координату X вместо пары (X, 1), если учитывать только точки на прямой l. Если же все-таки требуется использовать координатную пару, то подойдет любая пара чисел (x, w), удовлетворяющая условию x/w=X. В геометрическом смысле координатная пара (wX, w) любой точки P, отличной от 0, на прямой линии OP’ может служить обозначением точки P’.

В общем случая любая точка (x1, x2, …, xn) в n-мерном пространстве записывается как точка (wx1, wx2, …, wxn, w) в (n+1) мерном пространстве, где w-любое ненулевое вещественное число. Эта группа из n+1 чисел определяет однородные координаты исходной точки в n-мерном пространстве. Однородные координаты возникают из-за необходимости операции обратной проецированию (где из (n+1)-мерного пространства мы получаем n-мерное), т.е. из-за обратного преобразования n-мерного пространства в (n+1)-мерное.

Так точка (3,4) в двухмерном пространстве может быть записана как (6,8,2) или (300,400,100) и т.д. Хотя все операции относятся к двумерному пространству, эти тройки можно принимать за точки в трехмерном пространстве. Очевидно, что обозначение (X,Y) представляет собой обычную запись точки в двухмерном пространстве для точки (x,y,1) в трехмерном пространстве. Точка P’ является центральной проекцией точки (x,y,w). Если x/w=X и y/w=Y, как и ранее, точка начала координат O, будет центром проекции, а все точки проецируются на плоскость w=1.

Для определения термина однородные координаты воспользуемся уравнением , описывающим прямую линию в двухмерном пространстве. Заменим X и Y на x/w и y/w, получаем или

(1)

Уравнение (1) обычно принято называть однородным, поскольку оно имеет одинаковую структуру в терминах ax, by, cw, отсюда числа x, y, w закономерно называть однородными координатами точки (x, y). Если же опять принять, что двухмерное пространство располагается в плоскость w=1 в координатной системе x, y, w, то уравнение (1) описывает плоскость, проходящую через начало координат и заданную прямую линию.

Если считать, что запись (x, y, w) используется как иная форма записи для (X/w,Y/w), то необходимо будет потребовать, чтобы значение w не было равно нулю. Однако, при этом однородные координаты едва ли имели какие-либо преимущества перед обычными координатами.

Рассмотрим систему из двух линейных уравнений, каждое из которых описывает прямую линию в двухмерном пространстве:

(2)

Если две линии параллельны, то они не пересекаются и не существует пары чисел (X,Y), удовлетворяющих системе (2). Таким образом, появляется противоречие, о котором мы говорили ранее, о том, что любые две прямые пересекаются.

При замене координат X и Y на однородные координаты x, y, w система несколько изменится:

(3)

Уравнения из системы (3) можно интерпретировать как плоскости, проходящие через точку начала координат О. Эта система имеет по, крайне мере, одно тривиальное решение x=y=w=0.

Для геометрической интерпретации зададим для коэффициентов некоторые значения

- это две параллельные прямые.

Тогда (3) можно заменить на

(4)

Эта система эквивалентна системе

, так что решение состоит из всех троек (3k, -2k, 0), где k – любое вещественное число.

В трехмерном пространстве эти точки образуют прямую линию, проходящую через точки О и (3, -2, 0), причем эта прямая представляет собой линию пересечения двух плоскостей, заданных уравнениями (4). Возвращаясь к двумерному пространству плоскости w=1 получим, что каждая точка (X, Y) ассоциируется с прямой линией (wX, wY, w) в трехмерном пространстве. Для ненулевых значений w эта ассоциация тривиальна. Теперь станет понятной очень важная причина применения однородных координат.

Для каждой прямой линии в двухмерном пространстве добавим один объект, называемый бесконечно удаленной точкой. Эта бесконечно удаленная точка не может быть однозначна в обычной системе координат, а в системе однородных координат – может. Например, бесконечно удаленная точка на прямой, описываемой первым уравнением системы (4) записывается как (3, -2, 0) или в виде любой тройки (3k, -2k, 0) для ненулевого k. Поскольку эти тройки являются решением системы уравнений (4), то бесконечно удаленную точку можно считать точкой пересечения двух параллельных линий. Считается, что бесконечно удаленная точка находится в двухмерном пространстве, но мы знаем, каждая точка в двухмерном пространстве ассоциируется с прямой линией в трехмерном пространстве, поэтому выясним, с какой прямой линией ассоциируется бесконечно удаленная точка (3, -2, 0). Поскольку эта линия должна проходить через точку начала координат O(0, 0, 0), то искомая линия должна быть линией, проходящей через точки О и (3, -2, 0), то есть лежащей в плоскости w=0.

Вполне резонно назвать точку (3, -2, 0) бесконечно удаленной точкой, поскольку ее логично рассматривать как предельную точку (3, -2, w) при w, стремящемся к 0, а эта тройка в однородных координатах эквивалентна точке (3/w, -2/w,1), которая при малых значения w очень далеко. Введение бесконечно удаленной точки позволяет утверждать, что любые две различные прямые пересекаются. Аналогично, в проективной геометрии можно утверждать, что две любые различные плоскости имеют линию пересечения. Если плоскости параллельны, то все точки этой линии пересечения в однородных координатах записываются в виде (x, y, z, 0).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: