Скачиваний:
13
Добавлен:
05.04.2013
Размер:
27.15 Кб
Скачать

Двумерные преобразования - 1.3. Преобразование пересекающихся прямых 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.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 Сравнение уравнений точек пересечения исходных линий и преобразованных показывает, что они одинаковы. Итак, точка пересечения преобразуется точно в другую точку пересечения. назад | содержание | вперед © ОСУ АВТФ

Соседние файлы в папке exilim