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].

 

Назад
Компьютерная графика © 2014 ОСУ ИК Вход