Пример 1. Средняя точка прямой
Рассмотрим отрезок АВ на рис. 4.2. Положение векторов конечных точек такое: [А] = [0 1], [В] = [2 3]. Преобразование осуществляется перемещение вектора на линию А*В*:
Средняя точка А*В* будет иметь координаты
.
Координаты средней точки линии АВ
Преобразуем среднюю точку и получим
что полностью эквивалентно предыдущему результату.
Применением этих результатов в машинной графике любая прямая может быть преобразована в любую другую путем простого преобразования ее конечных точек и восстановления линии между ними.
Преобразование параллельных и пересекающихся прямых
Результатом преобразования двух параллельных линий с помощью (2´2)-матрицы снова будут две параллельные линии. Это можно увидеть, рассмотрев линию между точками [А] = [х1 у1], [В] = [х2 у2] и параллельную ей линию, проходящую между точками E и F. Покажем, что для этих линий любое преобразование сохраняет параллельность. Так как AB,EF и A*B* и E*F* параллельны, то угол наклона линии AB и EF определяется следующим образом:
(4.16)
Преобразуем конечные точки АВ, воспользовавшись матрицей общего преобразования размером (2´2):
. (4.17)
наклон прямой А*В* определяется следующим образом:
или
(4.18)
Так как наклон m* не зависит от x1, x2, y1, y2, а m, a, b, c и d одинаковы для EF и AB, то m* одинаково для A*B* и E*F*. Таким образом, параллельные линии сохраняют параллельность и после преобразования. Это означает, что при преобразовании (2´2) параллелограмм преобразуется в другой параллелограмм. Эти тривиальные выводы демонстрируют большие возможности использования матрицы преобразования для создания графических эффектов.
|
|
Результатом преобразования с помощью (2´2)-матрицы пары пересекающихся прямых линий также будет пара пересекающихся линий. Проиллюстрируем этот факт на примере двух прямых, изображенных на
рис. 4.3 штриховой линией и заданных уравнениями
y = m1x + b1
y = m2x + b2.
|
В матричном представлении эти уравнения будут иметь вид:
.
или [X] [M] = [B]. (4.19)
Если существует решение этой системы уравнений, то линии пересекаются, в противном случае они параллельны. Решение можно найти путем инверсии матрицы. В частности,
[Хj] = [xj yj] = [B] [M]-1. (4.20)
Матрица, обратная [М], имеет следующий вид:
(4.21)
так как [М] [М]-1= [I], где [I] – единичная матрица. Поэтому координаты точки пересечения двух линий можно найти следующим образом:
|
|
(4.22)
Если обе линии преобразования с помощью (2´2)-матрицы общего преобразования вида
,
то их уравнения будут иметь вид
,
.
Соответственно можно показать, что
(4.23)
и
, где j = 1,2. (4.24)
Точка пересечения линий преобразования отыскивается таким же образом, как и в случае исходных линий:
.
Воспользовавшись выражениями (4.23) и (4.24), получим
. (4.25)
Возвращаясь теперь к точке пересечения [хj yj] исходных линий и применяя уже полученную матрицу преобразования, имеем
(4.26)
Сравнение уравнений (4.25) и (4.26) показывает, что они одинаковы. Итак, точка пересечения преобразуется точно в другую точку пересечения.
Дата добавления: 2018-04-04; просмотров: 449; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!