Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ALL

.pdf
Скачиваний:
223
Добавлен:
12.02.2018
Размер:
15.74 Mб
Скачать

Повернуть фигуру вокруг оси P1P2 на угол σ (сигма)

Последовательность действий:

 

 

 

 

1

 

0

 

 

0

0

 

 

cos

0

sin

0

 

cos

sin

0

0

 

 

 

 

 

0

 

1

 

 

0

0

 

0

1

0

0

sin

cos

0

0

 

объект

*

0

 

0

 

 

1

0

* sin

0

cos

0

*

0

0

1

0

*

 

 

 

xP

yP

 

zP

1

 

0

0

0

1

 

0

0

0

1

 

 

 

 

 

 

1

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перенос начала

 

 

 

поворот фигуры

 

 

 

поворот фигуры

 

 

 

 

 

координат в точку Р1

 

 

вокруг оси ‘y’

 

 

 

вокруг оси ‘z’

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

0

cos

 

sin

 

0

*T *T *Tсмещения xP

, yP

, zP

 

 

 

 

 

 

0

sin

 

cos

0

 

 

 

 

 

 

1

1

 

 

1

 

 

 

 

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

отрабатываем обратно все

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

основная операция

 

 

подготовительные операции

 

 

 

 

 

 

 

 

Повернуть фигуру вокруг оси P1P2 на угол σ (сигма)

 

 

 

 

 

 

 

 

 

 

 

 

x Px2

Px1

1

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

1

 

 

 

 

y Py

 

Py

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P2

 

2

1

 

 

 

 

 

 

 

 

 

 

 

 

z P

 

P

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

z2

z1

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

y*

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

 

 

 

P1

α

x*

 

 

 

 

 

 

 

 

о*

 

γ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∆x, ∆y

 

 

 

 

 

z*

 

 

 

 

 

 

 

 

 

Проекция оси P1P2

 

 

 

 

 

 

на плоскость z*о*x*

 

 

 

Ось повернуть так, что бы x прошла через

точку (Δx, Δy)

2

y* (y**)

P2

z**

P1

γ

x*

 

 

 

 

z*

 

 

x**

P1P2 оказалась в плоскости x** 0* у**

Далее, оси y** совмещаем с P2, либо x** совмещаем с P2

Повернуть фигуру вокруг оси P1P2 на угол σ (сигма)

Поворот фигуры вокруг оси ‘z’ на угол ‘α’

y* (y**)

3

P2

После поворота получилось:

 

y*( y**)

x***

4

P1

α

x*

z**

 

 

 

o

z* x**

y***

P2

z**

x*

( z***) P1 z*

Теперь поворот вокруг прямой P1P2 т.е. оси x*** на угол сигма

ТРЕХМЕРНОЕ ОТРАЖЕНИЕ

В трехмерном пространстве отражение происходит относительно плоскости.

По аналогии с двумерным отражением, трехмерное отражение относительно плоскости эквивалентно вращению вокруг оси в трехмерном пространстве в четырехмерное пространство и обратно в исходное трехмерное пространство.

Для чистого отражения детерминант матрицы равен -1.

При отражении относительно плоскости xy изменяются значения z- координаты координатного вектора объекта (знак).

Матрица преобразования для отражения относительно плоскости ху равна

 

 

1

0

 

0

0

 

 

 

 

 

 

T 0

1

 

0

0

 

0

0

 

1

0

 

0

0

 

0

1

 

 

 

 

 

 

 

Относительно yz

 

1

 

0

0

0

 

T 0

 

1

0

0

 

 

0

 

0

1

0

 

 

0

 

0

0

1

 

 

 

 

 

 

 

 

Относительно xz

 

 

 

 

 

1

0

0

0

 

T 0

1 0

0

0

0

1

0

0

0

0

1

 

 

 

 

 

Трехмерное отражение относительно плоскости ху

ОТРАЖЕНИЕ ОТНОСИТЕЛЬНО ПРОИЗВОЛЬНОЙ ПЛОСКОСТИ

Преобразования, заданные в уравнениях, осуществляют отражение относительно координатных плоскостей х = 0, у = 0, z = 0 соответственно. отразить объект относительно произвольной плоскости можно с помощью процедуры, объединяющей простые преобразования.

Один из возможных методов состоит в следующем:

1.перенести точку Р, принадлежащую плоскости отражения, в начало системы координат;

2.повернуть вектор нормали к плоскости отражения в начале координат до совпадения с осью +z, теперь плоскость отражения будет совпадать с координатной плоскостью z = 0;

3.применяя уже известные преобразования, отразить объект относительно координатной плоскости z = 0;

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

ОТРАЖЕНИЕ ОТНОСИТЕЛЬНО ПРОИЗВОЛЬНОЙ ПЛОСКОСТИ

Тогда общее преобразование описывается матрицей

 

[М] = [Т] [R ] [R ] [Rflt ] [R ]-1 [Rx]-1 [T]-1

 

 

 

1

 

0

 

 

0

 

0

 

 

 

 

T

0

 

1

 

 

0

 

0

 

 

 

 

x

 

 

y

z

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• где матрицы [Т], [Rx], [Ry] задаются уравнениями,

 

0

 

0

 

 

1

 

0

 

x

y

 

 

z

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

cos

 

sin

 

 

 

 

 

 

 

 

 

 

 

0

0

0

 

1

0

0

0

 

0

0

 

d

 

0

cx

0

 

1

 

0

cx / d

cy / d 0

 

 

 

 

 

 

 

 

 

 

 

 

 

Rx

0

cos

sin

0

 

0

1

0

0

 

0

 

1

0

0

0

 

 

0

 

0

sin

cos

0

cy / d

cx / d

Ry sin

0

cos

0

c

x

0

d

0

 

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

0 0 1

• Rfltz — матрица отражения относительно плоскости z = 0,

• (x0,y0,z0) = (Рх, Ру, Pz) — координаты точки Р на плоскости отражения;

• а (сх, су, cz) есть вектор нормали к плоскости отражения.

• Если известно уравнение плоскости отражения, ах + by + cz + d = 0, то

единичный вектор нормали к плоскости равен

nˆ cx cy

cz

 

a b

c

 

 

 

 

 

a2 b2

c2

 

 

 

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

прямой математический подход

Пространственные преобразования и проекции

(2)

АФФИННАЯ И ПЕРСПЕКТИВНАЯ (НАЧЕРТАТЕЛЬНАЯ) ГЕОМЕТРИЯ

Теоремы аффинной геометрии идентичны теоремам геометрии Евклида. И в той и в другой науках важным понятием является параллелизм.

В перспективной геометрии прямые в общем случае не параллельны.

Аффинное преобразование есть комбинация линейных преобразований, например поворота и последующего переноса.

Для аффинного преобразования последний столбец в обобщенной 4 х 4- матрице равен [0 0 0 1]T.

В противном случае преобразованная однородная координата h не равна единице и нет взаимно однозначного соответствия между аффинным преобразованием и 4 х 4-матричным оператором.

Аффинные преобразования образуют полезное подмножество билинейных преобразований, так как произведение двух аффинных преобразований также аффинно.

Это свойство позволяет скомбинировать общее преобразование множества точек относительно произвольной системы координат при сохранении значения единицы для однородной координаты h.

Иерархия плоских геометрических проекций

Плоские геометрические проекции

 

 

параллельная

 

 

 

 

 

 

перспективная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ортографи

аксонометрическ

 

косоугольн

одното

двуточ

трехто

ческая

ая

 

ая

 

чечная

ечная

чечная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

триметрическая

кавалье

кабине

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

диметрическ

 

 

 

 

 

 

 

 

 

 

 

 

ая

 

 

 

 

 

 

 

 

 

 

Рис. 1

изометрическая

И аффинные, и перспективные преобразования 3-хмерны - преобразования одного 3- хмерного пространства в другое.

Для наблюдения результатов на двумерной поверхности требуется проецирование из 3D в 2D. Результат этого проецирования называется плоской геометрической проекцией. Матрица проецирования из 3D пространства в 2D всегда содержит столбец из нулей, следовательно, детерминант этого преобразования всегда равен нулю.

Плоские геометрические проекции

Плоские геометрические проекции объектов образуются пересечением прямых, называемых проекторами, с плоскостью, называемой плоскостью проекции.

Проекторы —прямые, проходящие через произвольную точку, называемую Центром проекции, и каждую точку объекта.

Если центр проекции расположен в Конечной точке трехмерного пространства, получается перспективная проекция.

Если центр расположен в бесконечности, то все проекторы параллельны и результат является параллельной проекцией.

Соседние файлы в предмете Компьютерная Графика