Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Метод EulerAngles




Преобразование вращением

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

Как и для изменения положения и масштаба, для вращения объектов в MAXScript предусмотрены два способа.

• Установка свойства.rotation объекта явным образом

• Применение метода rotate

При изменении положения и масштаба значения по каждой из осей X, Y и Z всегда выражаются одним числом, например 1, 0 или 34,5. А вращение на опре


Глава 5

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

• EulerAngles

• Кватернионы

• AngleAxis

 

Метод EulerAngles является, вероятно, самым понятным и лучше всего соответствующим тем операциям вращения, которые можно выполнять и наблюдать в интерфейсе 3dsMax.

Конструктор класса EulerAngles воспринимает три аргумента, выражаемые в градусах (по одному для каждой из осей). Эти значения используются в данном методе для вращения объекта на указанное число градусов вокруг заданной оси в системе мировых координат:

b.rotation = eulerAngles 0 45 0

В приведенной выше строке кода объект поворачивается на 45° вокруг оси Y в системе мировых координат. Вращение по методу eulerAngles проще всего понять, поскольку оно соответствует вращению объектов, наблюдаемому в видовых окнах.

Результат вращения по методу eulerAngles можно присвоить переменной,

чтобы затем использовать в другом объекте:

ang = eulerAngles 0 45 0

b.rotation = ang

Переменная ang в действительности представляет собой объект MAXScript, имеющий тип данных вращения.

Углы вращения вокруг нескольких осей указываются следующим образом:

ang = eulerAngles 30 20 44

При установке ключевых кадров анимации с помощью метода eulerAngles изменение вращения между двумя последовательными ключевыми кадрами ограничивается углом 180°, поскольку в методе eulerAngles используется кратчайший путь перехода от одного ключевого кадра к другому.

Для того чтобы повернуть объект методом eulerAngles, выполните следующее упражнение.

1. Введите в приемнике команд следующий фрагмент кода, чтобы создать цилиндр и переменную euAngle:

c = cylinder height: 50
euAngle = eulerAngles 0 45 0

В итоге значение угла поворота типа eulerAngles присваивается переменной euAngle.

2. Введите следующую строку кода, чтобы повернуть цилиндр:

rotate c euAngle


Преобразования и анимация

 

 


Когда объект поворачивается подобным методом, сначала происходит его вращение вокруг оси X, затем вокруг оси Y и наконец, вокруг оси Z. Это обстоятельство очень важно иметь в виду, потому что от перестановки порядка вращения меняется результат. Иными словами, вращение вокруг оси Y после вращения вокруг оси X дает иной результат, чем вращение вокруг оси X после вращения вокруг оси Y.




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


Дата добавления: 2014-10-15; Просмотров: 623; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.036 сек.