Реферат: Задачи графических преобразований в приложениях моделирования с использованием ЭВМ

X

Рис. 10

Решение сформулированной задачи разбивается на несколько шагов. Опишем последовательно каждый из них.

1-й шаг. Перенос на вектор –А (-a, -b, -c) при помощи матрицы


1 0 0 0

[ T ] =
(4.9)
0 1 0 0

0 0 1 0

-a -b -c 1

В результате этого преноса мы добиваемся того, чтобы прямая L проходила через начало координат.

2-й шаг. Совмещение оси аппликатс прямой L двумя поворотами вокруг оси абсцисс и оси ординат.

1-й поворот – вокруг оси абсцисс на угол y (подлежащий определению). Чтобы найти этот угол, рассмотрим ортогональную проекцию L’ исходной прямой L на плоскость X = 0 (рис. 11).

Z
X
L? L q

Y

Y


0


Рис. 11

Направляющий вектор прямой L’ определяется просто – он равен

(0, m, n).

Отсюда сразу же вытекает, что

cos y = n / d, sin y = m / d, (4.10)

где

d = m2 + n2 (4.11)

Соответствующая матрица вращения имеет следующий вид:


1 0 0 0

(4.12)
[ Rx ] =
0 n/d m/d 0

0 -m/d n/d 0

0 0 0 1

Под действием преобразования, описываемого этой матрицей, координаты вектора (l, m, n) изменятся. Подсчитав их, в результате получим

(l, m, n, 1)[ Rx ] = (l , 0, d, 1). (4.13)

2-й поворот вокруг оси оси ординат на угол q, определяемый соотношениями

сos q = l, sin q = -d (4.14)

Cоответствующая матрица вращения записывается в следующем виде:

l 0 d 0

[ Ry ] =
(4.15)
0 1 0 0

-d 0 l 0

0 0 0 1

3-й шаг. Вращение вокруг прямой L на заданный угол j.

Так ка теперь прямая L совпадает с осью аппликат, то соответствующая матрица имеет следующий вид:


[ Rz ] =

cos j sin j 0 0

-sin

(4.16)
j cos j 0 0

0 0 1 0

0 0 0 1

4-й шаг. Поворот вокруг оси ординат на угол -q.

5-й шаг. Поворот вокруг оси абсцисс на угол -y.

Однако вращение в пространстве некоммутативно. Поэтому порядок, в котором проводятся вращения, является весьма существенным.

К-во Просмотров: 282
Бесплатно скачать Реферат: Задачи графических преобразований в приложениях моделирования с использованием ЭВМ