Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двумерные геометрические (аффинные) преобразования






К геометрическим преобразованиям плоских объектов относятся сдвиг, поворот, масштабирование и отражение в плоскости экрана.

Точку на плоскости можно перенести в новые позиции путем добавления к координатам этих точек констант переноса.

х' = х + Dx у' = у + Dy

Определяем векторы строки Р=[х, у] Р'=[х', у'] T=[Dx, Dy]

Сдвиг точки в векторной форме[x', y']=[x, y]+[Dx, Dy] Или более кратко Р' =Р+Т

Объект можно перенести, применяя это выражение к каждой точке объекта. Однако для отрезка достаточно применить этот процесс только к его концевым точкам. Это справедливо и для масштабирования и для поворота.

Для масштабирования объекта каждую точку необходимо растянуть в Sx раз по оси х и в Sy раз по оси у.х' = х . Sx у' = у . Sy или P'=P . S Отметим, что маштабирование производится относительно начала координат.

Объект может быть повернут, ели координаты каждой его точки будут подвергнуты преобразованиюx' = х . cosθ -y . sinθ
у' = х . sinθ -y . cosθ

В матричной форме

[x' у']=[x у]
| cosθ sinθ |
| -sinθ cosθ |

или Р ' = Р . R

Положительным считаются углы, измеряемые против движения часовой стрелки от X к Y.

В случае отрицательных углов можно воспользоваться тождествами

cos(-θ)= cos(θ)
sin(-θ)=-sin(θ)

 

7. \ Геометрические (аффинные) преобразования в пространстве

Повороты в пространстве производятся вокруг осей. Рассмотрим повороты вокруг главных координатных осей. Положительными считаются повороты против часовой стрелки, если смотреть с конца положительной полуоси. Изученный нами ранее поворот относительно начала координат на плоскости XOY можно рассматривать как поворот в пространстве относительно оси Z. Для получения матриц поворота относительно других координатных осей можно использовать ту же схему рассуждений, что приводилась нами для определения поворота на плоскости XOY.

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

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

Для выполнения заданного преобразования необходимо:

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

Выполнить поворот вокруг оси X на угол , переводящий направляющий вектор в плоскость XOZ.

Выполнить поворот вокруг оси Y на угол , совмещающий направляющий вектор с положительной полуосью Z.

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

Выполнить обратные преобразования, приводящие сцену в исходное состояние.

Трехмертные операции являются простым расширением двумерных.

T(Dx, Dy, Dz) =
|         |
|         |
|         |
| Dx Dy Dz   |
 
S(Sx, Sy, Sz) =
| Sx       |
|   Sy     |
|     Sz   |
|         |
           

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

В трехмерном пространстве возможен поворот вокруг каждой оси.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.