Пример 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.

Рис. 4.3

 

В матричном представлении эти уравнения будут иметь вид:

.

 

или                                           [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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!