Учебное пособие / Метематические основы машинной графики / exilim / 1.13.asp-ThemeID=1
.htmДвумерные преобразования - 1.13. Точки бесконечности A.l:link { text-decoration: none; font-size: 8pt; color: 666666; } A.l:hover { text-decoration: none; font-size: 8pt; color: 666666; } A.l:active { text-decoration: none; font-size: 8pt; color: 666666; } A.l:visited { text-decoration: none; font-size: 8pt; color: 666666; } A.std:link { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:hover { text-decoration: none; font-size: 11pt; font-weight: bold; color: 7F0000; } A.std:active { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.std:visited { text-decoration: none; font-size: 11pt; font-weight: bold; color: 8E5717; } A.li:link { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:hover { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:active { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.li:visited { text-decoration: none; font-size: 10pt; font-weight: bold; color: 666666; } A.lil:link { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:hover { text-decoration: none; font-size: 11pt; color: 7F0000; } A.lil:active { text-decoration: none; font-size: 11pt; color: 666666; } A.lil:visited { text-decoration: none; font-size: 11pt; color: 666666; } Алгоритмические
основы Математические
основы Flash 5 CorelDraw 10 3D Studio Max3 [программа] [тесты] [лабораторные] [вопросы] [литература]
1. Двумерные преобразования
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). hx*y*XY 14343 1/28643 1/312943 ....... 1/10403043 ....... 1/10040030043 ....... Таблица 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]. назад | содержание | вперед © ОСУ АВТФ