1.13. Точки бесконечности
Однородные координаты предоставляют удобный и эффективный способ нанесения точек из одной системы координат в соответствующие точки альтернативной координатной системы. Бесконечная область в одной координатной системе часто преобразуется в конечную область в альтернативной системе. При некорректном выборе переноса параллельность прямых может не сохраняться. Однако точки пересечения после преобразования оказываются снова в точках пересечения. Данное свойство используется для определения однородных координат представления точек бесконечности.
Рассмотрим пару пересекающихся прямых, заданных уравнениями
x + y = 1
2x - 3y = 0
Прямые пересекаются в точке с координатами x = 3/5, y = 2/5. Запишем уравнение в виде х + y - 1 = 0, 2x - 3y = 0 и представим их в матричной форме
[x y 1] = |
|
1 2 1 -3 -1 0 |
= [0 0] | ||
или
[X][M'] = [R]
Если матрица [М'] квадратная, то пересечение может быть получено путем обращения матрицы. Изменим систему исходных уравнений следующим образом:
x + y - 1 = 0 2x - 3y = 0 1 = 1 |
или в матричной форме
[X][M] = [R]
т.е.
[x y 1] = | 1 2 0 1 -3 0 -1 0 1 |
= [0 0 1] | ||
Квадратная матрица, обратная данной, имеет следующий вид:
[M]-1 = | 3/5 2/5 0 1/5 -1/5 0 3/5 2/5 1 |
= | 1 5 |
3 2 0 1 -1 0 3 2 1 |
|||||
Умножая обе части уравнения на [M]-1 и учитывая, что [М][М]-1 = [I] является тождественной матрицей, получим
[x y 1] = | 1 5 |
[0 0 1] | 1 2 0 1 -3 0 -1 0 1 |
= [3/5 2/5 1] | ||
Таким образом, точка пересечения опять имеет координаты х = 3/5, y = 2/5.
Рассмотрим теперь две параллельные прямые, заданные следующим образом:
х + y = 1
х + y = 0.
По определению геометрии Евклида, точка пересечения двух параллельных прямых расположена в бесконечности. Продолжая предыдущие рассуждения, вычислим точку пересечения этих прямых, заданных в матричной форме,
[x y 1] = | 1 1 0 1 1 0 -1 0 1 |
= [0 0 1] | ||
Однако несмотря на то что матрица квадратная, она не имеет обратной, так как две ее строки тождественны. Такая матрица называется сингулярной. Возможна иная формулировка с обратимой матрицей. Получим ее, переписывая систему уравнений следующим образом:
x + y - 1 = 0 x + y = 0 x = x |
или в матричной форме
[x y 1] = | 1 1 1 1 1 0 -1 0 0 |
= [0 0 x] | ||
В данном случае матрица не является сингулярной и существует обратная ей
[M]-1 = | 0 0 -1 0 1 1 1 -1 0 |
||
Умножая обе части выражения на обратную матрицу, получаем
[x y 1] = [0 0 x] | 0 1 -1 0 1 1 1 -1 0 |
= [x -x 0] = x[1 -1 0] | ||
Результирующие однородные координаты [1 -1 0] определяют точку пересечения двух параллельных прямых, т.е. точку бесконечности. В частности, они представляют данную точку в направлении [1 -1] двумерного пространства. В общем виде двумерный координатный вектор [а b 0] представляет точку бесконечности прямой аy - bx = 0. Приведем несколько примеров:
[1 0 0] - точка на положительной оси х, [-1 0 0] - точка на отрицательной оси х, [0 1 0] - точка на положительной оси у, [0 -1 0] - точка на отрицательной оси у, [1 1 0] - вдоль прямой y = х в направлении [1 1]. |
Вектор с однородной компонентой h = 0 действительно представляет точку бесконечности и может быть также интерпретирован как движение к пределу (табл. 1).
h | x* | y* | X | Y |
1 | 4 | 3 | 4 | 3 |
1/2 | 8 | 6 | 4 | 3 |
1/3 | 12 | 9 | 4 | 3 |
....... | ||||
1/10 | 40 | 30 | 4 | 3 |
....... | ||||
1/100 | 400 | 300 | 4 | 3 |
....... |
Таблица 1. Однородные координаты для точки [4 3].
Рассмотрим прямую y* = (3/4)x* и точку [X Y h] = [4 3 1]. Напомним, что в однородных координатах не существует единственного представления координатного вектора (табл. 1). Точка [4 3 1] представлена в однородных координатах по всем направлениям. Заметим, что в этой таблице при h => 0 отношение x*y* остается равным 3/4, как и требуется для сохранения уравнения. Кроме этого, обратим внимание на то, что следующая пара (x*y*), все точки которой располагаются на линии y* = (3/4)x*, быстро приближается к бесконечности. Таким образом, предел при h => 0 и есть точка бесконечности, заданная в однородных координатах как [X Y h] = [4 3 0].