![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Домой | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Меню:
Главная
AutoCAD
Исследования
МКЭ ANSYS
ANSYS (Басов К. А.)
Справочник AutoCAD
Взаимодействие фронтов
Проблемы охраны
Нелинейная динамика
Параметрический метод
Энерго информационная модель
Математическое моделирование
Институт теории образования
Коллапс волновой функции
Пенсионное обеспечение
Механосплавление металлов
Индуцированный распад
Фильтр
Электропроводность
Построение решения
Численное исследование
Об уравнениях
Нормирование
Фотолиз
Водородная связь
Концептуализация понятия
Термическая перегруппировка
Химическая поляризация
Многолетняя динамика
Индуцированное дефектообразование
Системы среднего
Морфология
Топологические дефекты
Правило Парето
Математическое моделирование
Метод уменьшения
Изменение
Содержание железа
Фауна
Алгоритм
Об идентификации
табличная модель
вероятности по частотам
Структурирование
Расчет
Анализ
Оценка
Частота
Закономерности
Клонируемые компьютеры
радионуклиды
манипуляция
Программная система
Тенденции
Физическая модель
|
[стр.-0] Реализация методов манипуляции объектами в интерактивных системах визуализации А. С. Тотмаков А. С. (totmakov@mail.ru) OOO «Luxoft» Рассматриваются методы манипуляции объектами в трехмерном пространстве, используемые при построении интерактивных систем визуализации реального времени Под манипуляцией, подразумевается выполнение действий или приемов, направленных на изменение позиции, ориентации, формы, анимация объектов, источников освещения и виртуальных камер. Манипуляция объектом осуществляется посредством применения к нему одной или нескольких базовых трансформаций. Под базовыми трансформациями подразумеваются перемещение, вращение, масштабирование, сдвиг, соединение трансформаций, трансформации твердого тела и нормалей и обратная трансформация. представляющих собой перемещение, вращение, масштабирование, сдвиг. Трансформация является базовым инструментом для манипулирования геометрией. К большинству графических программных интерфейсов (graphic API) относятся функции для обработки матриц, с помощью которых реализуются множество трансформаций. Матрицы, выполняющие перемещение, вращение, масштабирование, отражение и сдвиг, являются аффинными, т. е. такими, при которых параллельные линии после преобразования остаются параллельными. Однородные координаты Точка представляет собой некоторую позицию в пространстве, тогда как вектор -это направление, не имеющее позиции. Используя матрицы размерностью 3х3 (для трехмерного пространства), возможно выполнять такие линейные трансформации, как вращение, масштабирование и сдвиг координат. Однако при этом невозможно выполнить перемещение. Это не относится к векторам, так как перемещение для них не имеет смысла, но для точек имеет важное значение. Для преобразования как точек, так и векторов вводятся однородные координаты (homogeneous coordinates), в которых матрицы 3х3 дополняются до размера 4х4, а трехмерные точки и векторы обзаводятся еще одним элементом. Таким образом, однородный вектор p будет представлен как p=(pxpypzpw) [1]. Для векторов pw=0, а для точек pw =1. При проецировании могут использоваться различные значения pw. В случае, если pw не равняется нулю или единице, для получения однородных координат необходимо произвести деление всех компонентов на pw. Тогда однородные координаты будут иметь вид (pxpw, pypw, pzpw, 1). Матрица M3x3 дополняется до однородной матрицы размерностью 4х4 следующим образом: M4 x 4 = m, 00 m, 01 m,, m 20 m m 0 0 m02 m12 m22 0 0 0 0 1 Вместо матрицы М могут быть матрицы вращения, масштабирования или сдвига, которые будут преобразовывать как точки, так и векторы [2]. Для перемещения используются дополнительные элементы расширенной матрицы. Типичная матрица перемещающая точку на вектор t, будет иметь вид T (1 0 0 0 0 1 0 0 0 0 1 0 1 В Легко проверить, что вектор v=(vx,vy,vz,0) не изменяется после преобразования Tv. то же время точка p=(px,py,pz,1) после преобразования Tp будет иметь вид (px+t,py+t,pz+t,1), т.е. будет перемещена на вектор t. Далее будет рассмотрено несколько однородных преобразований. Перемещение Матрица перемещения Т позволяет изменить позицию объекта, который перемещается на вектор t = (tx, ty, tz) (рис. 1). T(t) = T(tx, ty, tz)
![]() Рис. 1. Преобразование матрицы перемещения T(5,2,0) t x t y t z Вращение Несколько более сложный набор трансформаций представляется матрицами вращения Rx(<f>), Ry(#>), Rz(<p), которые используются для вращения объекта на ф радиан относительно оси x, y, z в следующем порядке [3]:
Все матрицы вращения ортогональны, т.е. R = R . Это свойство также сохраняется для комбинации любого числа таких матриц. Обратную матрицу, Ri~1(() = Ri(-() возможно найти вращением в обратную сторону вокруг той же оси. Определитель матрицы вращения всегда равен единице. Предположим, что нам необходимо повернуть объект на ф радиан вокруг оси z, с центром вращения в точке p (рис. 2). ![]() Рис. 2. Вращение объекта вокруг заданной точки Поскольку вращение вокруг точки характеризуется тем, что сама точка не преобразуется вращением, трансформация начинается с перемещения объекта так, чтобы точка p совпала с началом координат. Это перемещение описывается как T(-p). Далее следует собственно вращение Rz((p). Затем объект перемещается обратно: T(p). Тогда преобразование Х будет иметь вид X = T(p) Rz(q>) T(-p) [4]. Масштабирование Матрица масштабирования S(s) = S(sx, sy, sz) используется для масштабирования объекта с коэффициентами sx, sy, sz вдоль осей x, y, z соответственно. Это означает, что масштабирование может применяться для уменьшения или увеличения объекта.
Операция масштабирования будет однородная, если sx=sy=sz, и неоднородная в противном случае. Обратная матрица S-1(s) = S(1/sx, 1/sy, 1/sz). |
Меню:
Стандартизация
Математика
Сапромат
Факторизация
Компьютерное моделирование
Обеспечение отказоустойчивости
Оптимизация доступа
Аномальный сдвиг
Экологические аспекты
Методические подходы
Возмущение ионосферы
основы
Инструментальное средство
Погрешность
Результаты
Изучение дефектов
Зависимость эндотелийзависимости
теплоперенос
Квантование
О дроблении
Экспериментальное изучение
Сравнительная оценка
пластинчатый теплообменник
экосистема
Моделирование
Многоэлектронные эффекты
Синтез
Распространение
Анализ видов
государство
Плотность состояний
Исследование
Квазитрехмерная модель
самшитовый биогеоценоз
временной ряд
вихревое поле
Эндотелийзависмый механизм
Теоретическое описание
коронирующий провод
построение модели
электрическое поле
формализм
Отклонения
Инновационное замещение
Динамика численности
сегрегация
среда обитания
специальный подход
инновационная деятельность
температура
Фоновая неоднородность
Цифровая обработка
Потенциалы
Связанность
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||