1.3. Преобразование пересекающихся прямых
Результатом преобразования с помощью (2х2)-матрицы пары пересекающихся прямых линий также будет пара пересекающихся линий. Проиллюстрируем это на примере двух прямых, заданных уравнениями:
y = m1x + b1
y = m2x + b2
В матричном представлении эти уравнения будут иметь вид:
[X][T] = [x y] | -m1 -m2 1 1 |
= [b1 b2] | ||
или
[X][M] = [B]
Если существует решение этой системы уравнений, то линии пересекаются, в противном случае они параллельны. Решение можно найти путем инверсии матрицы. В частности,
[Xi] = [xi yi] = [B][M] -1
Матрица, обратная [М], имеет следующий вид:
1 m2 - m1 -1 m2 - m1 |
m2 m2 - m1 -m1 m2 - m1 |
|||||
так как [M][M] -1 = [E], где [E] - единичная матрица. Поэтому координаты точки пересечения двух линий можно найти следующим образом:
[Xi] = [xi yi] = [b1 b2] | 1 m2 - m1 -1 m2 - m1 |
m2 m2 - m1 -m1 m2 - m1 |
||||
[Xi] = [xi yi] = | b1 - b2 m2 - m1 |
b1m2 - b2m1 m2 - m1 |
||||
Если обе линии преобразовать с помощью (2х2)-матрицы общего преобразования вида:
[T] = | a b c d |
||
то их уравнения будут иметь вид
y* = m1*x* + b1*
y* = m2*x* + b2*
Соответственно можно показать, что
mi* = | b + dmi a + cmi |
и
bi* = bi(d - cmi*) = bi | ad - bc a + cmi |
где i = 1, 2. |
Точка пересечения линий после преобразования отыскивается таким же образом, что и в случае исходных линий:
[Xi*] = [xi* yi*] = | b1* - b2* m2* - m1* |
b1*m2* - b2*m1* m2* - m1* |
||||
Воспользовавшись тремя предыдущими выражениями, получим:
[Xi*] = [xi* yi*] = | a(b1 - b2) + c(b1m2 - b2m1) m2 - m1 |
b(b1 - b2) + d(b1m2 - b2m1) m2 - m1 |
||||
Возврашаясь теперь к точке пересечения [xi yi] исходных линий и применяя уже полученную матрицу преобразования, имеем
[xi* yi*] = [xi yi][T] = | b1 - b2 m2 - m1 |
b1m2 - b2m1 m2 - m1 |
a b c d |
= | |||||||
= | a(b1 - b2) + c(b1m2 - b2m1) m2 - m1 |
b(b1 - b2) + d(b1m2 - b2m1) m2 - m1 |
||||
Сравнение уравнений точек пересечения исходных линий и преобразованных показывает, что они одинаковы. Итак, точка пересечения преобразуется точно в другую точку пересечения.