Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Контексты




МетодAngleAxis

Если объект нужно повернуть на угол более 360°, в таком случае можно воспользоваться объектами класса AngleAxis. Такие объекты реализуются подобно кватернионам следующим образом:

ang = angleaxis 30 [1, 0, 0]

ang = angleaxis 30 x_axis

Оба приведенных выше выражения равнозначны, поскольку в обоих случаях создается объект ang, который обеспечивает вращение на 30° вокруг оси X. Для вращения объекта по методу AngleAxis выполните следующее упражнение.

1. Установите 3dsMax в исходное состояние.

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

b = box()

3. Включите режим Auto Key и переместите ползунок временной шкалы анимации к кадру 10. Введите в приемнике команд следующую строку кода:

b.rotation.x_rotation = 720

4. Воспроизведите анимацию. Объект не вращается.

5. Переместите ползунок временной шкалы анимации к кадру 10. Если режим Auto Key все еще включен, введите в приемнике команд следующий фрагмент кода:

ang = angleaxis 720 [1, 0, 0]

rotate b ang

6. Выключите режим Auto Key и воспроизведите анимацию. Объект совершит два полных оборота.

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

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

1. Создайте любой объект.

2. Перейдите к панели команд Hierarchy.

3. Если объект выделен, активизируйте кнопку Affect Pivot Only (Оказывать влияние только на точку опоры).

Точка опоры перемещается и вращается, когда выполняются преобразования перемещением и вращением. На приведенном ниже рисунке показана


Глава 5

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

 

 


Для изменения точки опоры объекта в MAXScript воспользуйтесь свойст­вом.pivot, чтобы установить или переместить точку опоры, например:

object.pivot = [0, 0, 10.0]

или

object.pivot.z = 10.0

Любые последующие преобразования объекта будут происходить относи­тельно нового центра преобразования.

Для преобразования точки опоры средствами MAXScript выполните следующее упражнение.

1. Создайте параллелепипед. Введите следующую строку кода и нажмите кла­вишу <Enter>:

b = box()

2. Переместите точку опоры данного объекта. Введите следующую строку ко­да и нажмите клавишу <Enter>:

b.pivot.z = 40.0

3. Перейдите к панели команд Hierarchy.Активизируйте кнопку Affect Pivot Only.

Убедитесь в том, что параллелепипед выделен. Как видите, точка опоры параллелепипеда смещена по оси Z.


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

 

 


4. Установите точку опоры в центре параллелепипеда с помощью свойства. center. Введите следующую строку кода и нажмите клавишу <Enter>:

b.pivot = b.center

Как видите, точка опоры перемещается в центр параллелепипеда.

 

 

 

 


Если выполняется вращение, в 3dsMax предполагается, что это делается в системе мировых координат относительно точки опоры. Преобразования можно выполнять и относительно других точек объекта или же в иной системе координат. Это делается с помощью контекстов, где указывается ссылка на выполняемую операцию. К наиболее важным контекстам относятся coordsys и about.

• coordsys указывает систему координат для операции.

• about указывает точку опоры (или центр преобразования) для операции. Контекст about применяется к операциям вращения и преобразования.


Глава 5

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

1. Создайте два цилиндра на сцене. Для этого введите следующие строки кода, нажав после каждой из них клавишу <Enter>:

cl = cylinder height:50

c2 = cylinder pos:[40, 0, 0]

 

 

 


Далее попробуйте выполнить два разных вращения цилиндра c1.

2. Введите следующую строку кода и нажмите клавишу <Enter>:

rotate c1 (quat 45 y_axis)

 

 


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

3. Щелкните правой кнопкой мыши в любом видовом окне и нажмите комбинацию клавиш <Ctrl+Z>, чтобы отменить только что выполненное вращение.

4. Введите в приемнике команд следующую строку кода и нажмите клавишу <Enter>:

about c2 rotate c1 (quat 45 y_axis)


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

Теперь результат вращения будет иным, поскольку на этот раз центр

преобразования находится в точке опоры цилиндра c2.

 

 


Префикс контекста about указывается в начале, а не в конце выражения, как можно было бы ожидть. В 3dsMax операторы интерпретируются слева направо, поэтому контекст следует применять до операции вращения. Если поместить префикс контекста about в конце выражения, он будет применен к следующей вводимой операции.

Ниже приведены другие примеры применения контекста about:

• about [x, y, z] — выполняет вращение определенной точки;

• aboutselection — выполняет вращение вокруг центра выделенных в данный момент объектов.




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


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


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



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




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