Методы создания и трансформации трёхмерных объектов
Курсовая работа
Хабаровск
2007
Содержание
Введение 3
1. Методы трансформации объектов 4
1.1. Перемещение 4
1.2. Вращение 4
1.3. Оси и центры вращения 6
1.4. Масштабирование 8
1.5. Зеркальное отображение 9
1.6. Выравнивание 9
2. Деформация объектов 10
2.1. Искривление объекта 11
2.2. Коническое сведение 11
2.3. Перекос объекта 11
2.4. Скручивание объекта 12
2.5. Размягчение и растяжение объекта 12
3. Дублирование каркасной сетки 12
3.1. Клонирование и копирование 13
3.2. Массивы 14
4. Использование трансформаций и координатных систем 14
4.1. Использование менеджеров трансформации 15
4.2. Выбор координатной системы трансформации 16
4.3. Выбор центра трансформации 17
4.4. Ограниченные трансформации 17
4.5. Зеркальное отображение объектов 18
4.6. Массивы моментальных снимков 20
Заключение 22
Список литературы 23
Введение
Все ниже описанные трансформации реализуются в DirectX и ненужно ничего изобретать. Но это только часть возможных преобразований. Существует много вариаций и несколько совершенно новых типов – деформация, искривление и т.п. Об этом будет описано в работе.
Изученные в этой работе функции, относящиеся к созданию трехмерных объектов, являются основой практически любого моделирования.
Наиболее легкодоступными источниками информации об объектах реального мира являются их фотоизображения. В связи с этим в последние 15 лет большое внимание уделялось разработке систем и алгоритмов построения цифровых моделей реальных объектов по их фотоизображениям. Однако доведенные до коммерческого уровня компьютерные системы построения трехмерных образов реальных объектов, например, Canoma, ImageModeler, PhotoModeler, требовали точного выделения на фотоизображениях этих объектов специфических элементов, таких, как вершины, ребра, границы и т.д., и сопоставления этих специфических элементов (вершин, ребер и границ) с их аналогами выбранной цифровой модели. Этот процесс трудоемок, что существенно снижало привлекательность самих методов, и подобного рода компьютерные системы не получили широкого распространения.
Целью данной работы является изучение методов создания трехмерных объектов и их трансформации.
Предметом исследования являются трехмерные объекты.
Объектом исследования: методы создания и трансформации объектов.
1. Методы трансформации объектов
1.1. Перемещение
Как понятно из названия, операция перемещения (move) позволяет изменять местоположение объектов, перемещая их в любую область трехмерного пространства. В большинстве случаев для этого используется мышь, хотя во многих программах есть функция для ввода числовых данных с клавиатуры для более точного размещения объектов.
На перемещение влияют только текущая система координат и блокировка осей, естественно, когда отсутствует влияние обратной кинематики. Параметры центра вращения к перемещению объекта отношения не имеют.
Для перемещения точки (x, y, z) на расстояние (dx, dy, dz) необходимо выполнить следующие операции:
x = x + dx;
y = y + dy;
z = z + dz;
Если мы хотим использовать эту матрицу, то должны представить точку в виде четырех компонентов (x, y, z, 1). Матричное умножение будет выглядеть так:
где dx, dy и dz - это перемещения по осям координат, а x', y' и z' - координаты точки после перемещения.
1.2. Вращение
Поворот (rotate) заставляет объект обращаться вокруг определенной оси. Перед вращением следует окончательно и бесповоротно убедиться в том, все ли параметры заданы так, чтобы объект поворачивался в соответствии с задуманной траекторией. Например, относительно какой оси он должен вращаться — экранной, глобальной или [локальной? Какая опорная точка при этом используется — центрированная или нет? Опорная точка/центр вращения (pivot point) объекта размещена в области пересечения его локальных осей подобно тому, как начальная точка (origin point) находится в центре трех мировых осей. Объект при развороте поворачивается вокруг заданной опорной точки. В используемой программе трехмерного моделирования, вероятно, есть определенные средства контроля для выявления множественных опорных точек и выбора той из них, которая будет использоваться для операции вращения.
Допустим, пользователю захотелось создать простейшую модель солнечной системы. Для шара, представляющего Землю, опорная точка устанавливается в центре для его более-менее правдоподобного вращения вокруг оси Y (по вертикали). (При этом не учитывается тот факт, что наклон Земли слегка смещен от оси движения.) Кроме вращения вокруг своей оси, Земля также оборачивается вокруг Солнца, что означает необходимость присутствия другого центра вращения в центре сферы, представляющего собой старое доброе Солнце.
При вращении объектов и других преобразований не забывайте включать видимый указатель оси, если таковой имеется в программе. Он покажет, где и как расположены оси. Само собой разумеется, что выбор оси существенно влияет на результат трансформации объекта.
Вращение, параллельное оси Х
Следующая матрица преобразований вращает точку (x, y, z) параллельно оси Х:
где r - угол вращения в радианах.
Вращение, параллельное оси Y
Матрица преобразования, вращающая точку параллельно оси Y:
где r - угол вращения в радианах.
Вращение, параллельное оси Z
Матрица преобразования, вращающая точку параллельно оси Z:
где r - угол вращения в радианах.
1.3. Оси и центры вращения
В анимационном процессе объект можно трансформировать вдоль какой-либо оси или в соответствии с определенным центром вращения. Центр вращения/опорная точка (pivot point), как понятно из названия, зачастую располагается в центре объекта, что зависит от планируемого метода анимации объекта. В частности, центр вращения для левой руки персонажа следует переместить в верхней части локтя руки. Чтобы объекты вращались вокруг нелокальных осей, расположенных в другом объекте или в открытом трехмерном пространстве, центр вращения также следует переместить (см. раздел "Нулевые объекты" далее в этой главе).
В большинстве случаев для переноса центра вращения объекта следует воспользоваться соответствующими командами (наподобие Pivot Point или Center of Rotation), после чего щелкните на поле обзора и выберите новое местоположение. Ось вращения, как правило, настраивается с помощью параметра общего ограничения осей (general axis constraint), комбинации клавиш или щелчка мышью для выбора нужной оси. Тем не менее, стоит обратить внимание на тот факт, что в некоторых программах не разрешается переносить центр вращения после того, как объект был анимирован. Следовательно, точки вращения желательно определять до начала процесса анимации.
Нулевые объекты
Нулевые объекты (nulls/dummies) применяются в качестве невидимых компонентов цепи (группы) или же как невидимые объекты, обеспечивающие точку вращения других объектов. При редактировании анимации подобные объекты имеют вид куба или других простых геометрических форм, которые не визуализируются и поэтому считаются невидимыми. Нулевые объекты зачастую входят в комплект инструментария по созданию объектов или же присутствуют в панели анимационных средств управления. Несмотря на свою невидимость, эти объекты можно масштабировать, поворачивать и перемещать точно так же, как и другие трехмерные объекты.
Как правило, нулевые объекты создаются достаточно большими (чтобы охватить сложные взаимосвязанные группы элементов). Они определяются в качестве родительского объекта для группы объектов, что позволяет перемещать ее в качестве единого элемента и помогает избежать ошибки, состоящей в случайном выборе дочернего объекта вместо родительского во взаимосвязанной цепи. К примеру, несущие винты вертолета состоят из нескольких небольших элементов, распределенных вокруг ведущих валов, что затрудняет выбор одного вала посредством указателя мыши. Благодаря добавлению нулевого объекта и назначения его в качестве родительского элемента ведущего вала, пользователь может просто повернуть нулевой объект — и ведущий вал повернется синхронно с ним, равно как пропеллер и другие элементы двигателя.
Еще одна сфера применения нулевого объекта относится к созданию оси вращения на некотором расстоянии от объекта, поскольку в открытом трехмерном пространстве иногда бывает сложно точно выбрать нужную область. В подобном случае нулевой объект выступает в качестве визуального маркера, обозначающего правильный центр вращения. Нулевой объект можно перемещать, тем самым постепенно изменяя сам центр вращения.
Нулевые объекты также пригодятся, чтобы отмечать основные точки маршрута или обеспечивать другие ссылки для анимации. Как отмечалось в самом начале главы, Учитель предлагал использовать временные объекты для обозначения последующих точек перемещения ног воина.
1.4. Масштабирование
Операция масштабирования (scale) используется для изменения общего размера объекта. Как и в других преобразованиях, результат масштабирования может варьироваться в зависимости от системы координат, ограничений осей и выбора центра вращения. Например, если доступна ось X, масштабирование вытянет объект только по горизонтали. Если активны все три оси, масштабирование изменит размер объекта по всем направлениям.
Если для операции масштабирования используется опорная точка, расположенная не в центре, то масштабирование трансформирует объект по направлению к этой точке или от нее. Например, если опорная точка размещена в левой грани куба, то при масштабировании левая грань останется в том же положении, а остальные грани будут трансформированы в направлении от левой грани.
Следующая операция трансформации, которую должны уметь выполнять, это масштабирование. Изменение размеров трехмерного объекта похоже на двухмерное масштабирование. Здесь показано масштабирование точки (x, y, z) с коэффициентом S:
x = x * S;
y = y * S;
z = z * S;
Все очень просто. Только кажется, что трехмерная графика сложна для понимания. Для описания преобразований с помощью матриц, мы опять должны представить точку в виде (x, y, z, 1):
Если Вы решите масштабировать каждый из компонентов по-разному, то Вам потребуются разные коэффициенты для каждого измерения:
Это приведет к неоднородному масштабированию.
1.5. Зеркальное отображение
При выполнении зеркального отображения (mirror) объект переворачивается на "зеркальный" манер, или же перевернутая версия объекта копируется в направлении выбранной оси. В некоторых программах можно выбирать сразу несколько осей отображения. На зеркальное отображение также влияет система координат и блокировка осей.
Кроме создания копий целых объектов, операция зеркального отображения используется для работы со сложными симметричными объектами, например, лицами людей. Можно создать только правую или левую половину лица и не беспокоиться понапрасну о дополнительных вершинах. По окончании работы останется сделать зеркальную копию недостающей половины лица.
1.6. Выравнивание
Выравнивание (align) позволяет устанавливать поверхности объектов на одном уровне друг с другом или центрировать несколько объектов по отношению к одной или нескольким осям. Это преобразование очень удобно для расположения объектов по одной оси, она позволяет избежать утомительных изменений масштаба изображения и многочисленных перестановок. Кроме того, выравнивание помогает быстро перенести объект в необходимую область сцены, если он был случайно создан или импортирован в удаленную точку трехмерного пространства. На это преобразование может оказывать влияние блокировка осей.
Существует довольно много различных режимов выравнивания, функции которых зависят от программного обеспечения. Основные из них — это выравнивание по центру, по левому краю и по правому краю, назначение которых понятно из названия. Выравнивание может проходить по одной или нескольким осям, а в некоторых программах — по отношению к любому объекту, грани, ребру или вершине.
2. Деформация объектов
Научившись перемещать, масштабировать и вращать объекты, рассмотрим то, каким образом можно их перекручивать. Такие типы деформации, как искривление (bend), скручивание (twist), перекос (skew) и т.п. облегчают изменение примитивов и других объектов, начиная от незначительных изменений и заканчивая грандиозными преобразованиями.
Если для деформации не используется параметрическое моделирование или объект планируется разрушить до редактируемой каркасной сетки, то перед операцией искривления или скручивания следует сохранить исходный вариант объекта. Результат проведения подобных деформаций (при возникновении в этом необходимости) будет практически необратимым.
На деформацию, равно как и на трансформацию, оказывают влияние параметры осевой блокировки, текущей система координат и центра вращения. Кроме того, характер деформации зависит от разрешения объекта. Если объект, подвергающийся деформации, не имеет достаточного числа шагов или сегментов, результат будет весьма неудовлетворительным. Это означает, что уже в процессе создания объекта не мешает подумать о том, как объект будет изменяться в последующем, чтобы его деформация не стала неприятным сюрпризом. Несомненно, одной из причин популярности сплайнового и параметрического моделирования является то, что они позволяют корректировать разрешение объекта практически в любой момент времени (и на любом этапе моделирования).
2.1. Искривление объекта
При операции искривления (bend) объект равномерно сгибается вдоль выбранной оси. Как и студенту, который упоминался в начале главы, пользователю для проведения искривления потребуется предварительное планирование, особенно в том случае, если тот же объект будет повергаться другим деформациям. Это связано с тем, что при искривлении объект уже не соответствует оси (или осям), которая может потребоваться для дальнейших деформаций, например, для скручивания. По этой причине искривление является зачастую одной из последних деформаций, осуществляемых над объектом перед приданием ему окончательной формы. Кроме всего прочего, на сгиб объекта может влиять система координат, осевая блокировка и положение центра вращения.
2.2. Коническое сведение
Коническое сведение (taper) позволяет сжимать или расширять объект вдоль выбранной оси. Результат сведения может зависеть от параметров координат и осевой блокировки, а также от положения центра вращения объекта, поскольку центр используется в качестве своего рода точки опоры для этой операции.
2.3. Перекос объекта
При перекосе (skew) одна из сторон объекта смещается по направлению вдоль выбранной оси, а другая — в противоположном. Ее действие подобно такому эффекту: прижав руки к лицу, потяните правую щеку вверх и одновременно левую вниз. На перекос объекта, как и на другие виды деформации, оказывает влияние система координат, выбранные оси и положение опорной точки.
Едва ли перекос станет одной из наиболее часто используемых операций. Этот вид деформации делает свое дело, хотя аналогичных результатов часто можно достичь и другими средствами.
2.4. Скручивание объекта
При скручивании (twist) объект закручивается вокруг оси, подобно спиралевидным полосам на шесте Деда Мороза. На скручивание влияют координаты, блокировка осей и опорная точка. Подобная деформация оказывает серьезное влияние на задействованные грани объекта, поэтому важно установить подходящее разрешение.
2.5. Размягчение и растяжение объекта
Размягчение (squash) и растяжение (stretch) объекта являются модифицированными операциями масштабирования, в которых объект рассматривается в качестве мягкого сосуда, наполненного жидкостью.
Вместо простого растяжения или сокращения объекта в заданной степени, эти деформации заставляют вести его так, как если бы объект был сделан из жевательной резинки. Размягчение объекта расширяет по окружности его края, а растяжение делает более тонким посередине. На размягчение и растяжение влияют параметры координат, осевая блокировка и опорная точка.
3. Дублирование каркасной сетки
В
процессе моделирования формы и объекты
часто приходится дублировать, что можно
сделать несколькими способами. Многие
программы позволяют дублировать формы
и объекты во время операций преобразования
путем нажатия клавиши модификации,
например
3.1. Клонирование и копирование
Операции тонирования (clone) или копирования (сору) для создания идентичных дубликатов выбранного объекта, по большей части, будут осуществляться способом, подобным уже описанному.
Тем не менее, существует несколько разновидностей клонирования. Непосредственные клоны — простые копии оригинала — становятся объектами со всеми своими правами так, как если бы они были созданы "с нуля". Каждый из клонов можно изменять независимо от каркасных собратьев. Само собой, это пригодится для создания различных вариантов одного объекта.
С другой стороны, иногда необходимо иметь возможность сразу единообразно изменить большое количество объектов, не обрабатывая каждый из них по отдельности. В этом случае желательно создавать эталонные объекты (instanced objects), которые выглядят как копии, но, фактически, являются одним и тем же объектом, видимым с разных точек пространства. Это очень похоже на попадание в зеркальный дом — человек находится там один, но ему кажется, что вокруг — целая армия злобных клонов. Кроме того, для эталонных объектов требуется совсем немного памяти, и, следовательно, система будет обрабатывать и отображать их быстрее, чем непосредственные клоны.
Эталонные объекты действительно помогают сэкономить время при работе со сценами, на которых задействовано много одинаковых объектов, подобно структуре, построенной из одинаковых колонн. В случае необходимости внести изменения в форму колонны потребуется откорректировать только одну из них, а остальные изменятся автоматически. Однако одно предостережение — в некоторых программах или при определенных установках параметров такие трансформации, как масштабирование и вращение могут не оказывать влияния на эталонные копии.
3.2. Массивы
Массивы (array) являются удобным способом создания последовательностей клонов, экземпляров объектов и так далее. С помощью массивов на основе выбранного объекта создается матрица или шаблон объектов.
Линейный массив (linear array) представляет собой последовательность копий, расположенных на одной линии вдоль выбранной оси. Для создания линейного массива необходимо выбрать объект, затем определить ось, расстояние и количество копий. Эти копии могут быть либо просто смещенными, идентичными оригиналу, либо будут подвергаться таким дополнительным преобразованиям, как, например, вращению или масштабированию.
Массивы бывают не только линейными. Они могут основываться и на вращении, в результате чего получается радиальный массив (radial array). Создаются они аналогично линейным, за исключением того, что сперва задается ось вращения, после этого указывается количество копий, а затем размер угла в градусах, на который нужно развернуть каждый объект.
4. Использование трансформаций и координатных систем
Термин трансформация относится к основным операциям Move (переместить), Rotate (вращать) и Scale (масштабировать). Функциональность этих команд можно расширить путем выбора различных координатных систем трансформации, центров трансформации и ограничений для осей трансформации. Такие расширения называются менеджерами трансформации. Кнопки трансформации и менеджеры трансформации расположены вблизи от середины линейки инструментов.
Трансформации применяются в конце потоковой схемы после всех модификаторов в стеке модификаторов. Некоторые объекты отменяют свои трансформации, когда используются в определенных целях. Например, объекты формы отменяют трансформации в случае их использования в качестве формы пути или поперечного сечения в объекте Loft. Объекты Mesh также отбрасывают свои трансформации, если применяются как цели в объекте Morph.
Это можно выразить по-другому, если понять, что модификаторы изменяют геометрию внутри объекта, а трансформации - только положение объекта в пространстве. Это правильно. Выражаясь технически, можно сказать, что трансформация масштаба не изменяет геометрию внутри объекта. Масштаб изменяет место расположения объекта за счет изменения его размера даже в том случае, если масштаб неоднородно преобразует размер вдоль каждой из трех локальных осей. Применяйте трансформации к самому объекту, ему требуется присвоить размеры, вращать или перемещать его в какое-то положение без изменения самого объекта. Для изменения геометрии объекта предсказуемым и полупостоянным образом применяйте трансформации на уровне подобъектов или используйте модификатор XForm.
В последующих подразделах описываются способы применения трансформации к объектам и использования различных менеджеров трансформации.
4.1. Использование менеджеров трансформации
Менеджеры трансформации устанавливаются для ограничения команд трансформации. Эти менеджеры управляют тремя свойствами трансформаций:
* Координатные системы трансформации. Управляют тем, какой метод используется
* Центр трансформации. Устанавливает центр трансформаций вращения и масштаба
* Ограничение по осям трансформации. Блокирует трансформацию на одной оси или на любой паре осей
4.2. Выбор координатной системы трансформации
Объект нельзя перемещать или вращать в произвольном направлении. Все трансформации в 3DS МАХ применяются вдоль осей координат X, Y, Z. Это стало бы серьезным ограничением, если бы не возможность выбора произвольной системы координат X, Y, Z.
Имея опыт работы с CAD, можно уметь задавать произвольную ось вращения или произвольную зеркальную ось как часть команды трансформации. Подобная функциональность входит в 3DS МАХ, но сначала устанавливаются оси за счет выбора системы координат. Затем вы переходите к трансформации.
Необходимо помнить, что активная сетка (или Home Grid или объект сетки) оказывает влияние только там, где имеются созданные объекты и в месте проекций точек фиксации. Координатная система трансформации влияет на способ помещения объектов на сцену после их создания. Система координат трансформации может использовать активную сетку, но не может ее иметь.
Можно выбрать из семи координатных систем, перечисленных в выпадающем списке линейки инструментов 3DS МАХ.
Из всех координатных систем Pick, вероятно, является самой привлекательной. Посредством Pick локальную систему координат можно использовать в качестве координатной системы трансформации для любого другого объекта. Сначала это может показаться достаточно странным, но учтите, что систему координат Pick можно применять с объектами Helper (вспомогательный объект).
Объект рулетки можно применять для определения линии отвеса между любыми двумя точками. Посредством координатной системы Pick можно перемещать и вращать объекты вокруг линии отвеса, например, выдрать в качестве своей системы координат объект рулетки, помещенный между двумя электродами. Затем электроны перемещаются вдоль рулетки за счет ограничения движения по оси Z рулетки. Для использования координатной системы трансформации Pick следует выполнить ряд шагов:
1. Расположите или выровняйте объект, который необходимо использовать в качестве системы координат.
2. Выберите Pick из списка Reference Coordinate System.
3. Щелкните на объекте, который хотите использовать в качестве координатной системы.
4. Продолжайте трансформацию других объектов.
4.3. Выбор центра трансформации
Для определения центра трансформации используется трехкнопочная выпадающая группа в правой части списка координатных систем. Центр используется только при трансформациях вращения и масштаба. При перемещении объекта используемый центр не имеет значения, объект просто перемещается.
* Центр-точка вращения. В качестве центра вращения и масштаба используется локальная точка вращения каждого выбранного объекта. Каждый объект вращается или масштабируется на равное значение от точки вращения.
* Центр выборки. В качестве центра вращения и масштабирования используется геометрический центр ограничивающей рамки, которая окружает все выбранные объекты. Выбранные объекты вращаются и масштабируются как один модуль, что во многом похоже на помещение объектов в группу.
* Центр координатной системы. Использует центр системы координат трансформации в качестве центра вращения и масштаба. Такой выбор очень полезен при использовании координатных систем Pick и Parent. В этих ситуациях центром вращения и масштаба является либо точка вращения предков выбранного объекта, либо точка вращения объекта Pick.
4.4. Ограниченные трансформации
Ограничители осей являются заключительным набором менеджеров трансформации. Можно выбирать из трех ограничителей по одиночным осям или из свитка с тремя ограничителями по двум осям (планарными ограничителями. Активное ограничение оси трансформации блокирует влияние трансформации на эту ось или плоскость. Например, если активно ограничение оси X, можно перемещаться только вдоль этой оси. Для выбора ограничений по осям используются следующие горячие клавиши:
* ' (ударение). Циклически выбирает по четырем кнопкам ограничений по осям X, Y, Z и текущей двойной оси.
* ~ (тильда). Циклирует проходит по опциям двойной оси без выбора кнопки. • F5. Выбирает ограничение по оси Х
* F6. Выбирает ограничение по оси Y
* F7. Выбирает ограничение по оси Z
* F8. Выбирает ограничение по двум осям. Если двойная ось уже выбрана, F8 циклически проходит по опциям двойных осей.
4.5. Зеркальное отображение объектов
Зеркальное отображение объекта представляет собой трансформацию масштаба со значением -100%. Зеркальные объекты можно создавать при помощи опций диалога Mirror. Имеется возможность интерактивно установить опции для оси и смещения зеркального отображения, а также для метода клонирования.
Диалог Mirror отображает текущую систему координат трансформации в своем заголовке. Перед щелчком на Mirror следует убедиться в том, что установлена необходимая система координат. Если вы щелкните на Mirror и затем поймете, что нужно изменить координатную систему, необходимо отменить Mirror, изменить координатную систему и снова щелкнуть на Mirror. Для зеркальных отображений объекта следует решить три проблемы:
* Зеркальная ось. Выполните одну из шести опций для зеркального отображения объекта по одной или двум осям из области Mirror Axis диалога. Зеркальная ось проходит через центральную точку текущей трансформации, а ось ориентации устанавливается посредством текущей системы координат.
* Зеркальное смещение. Если зеркальный объект не должен оставаться на своем месте по умолчанию, в области диалога Mirror Axis задается дистанция смещения. Смещение перемещает объект на дополнительную дистанцию вдоль зеркальной оси от места расположения по умолчанию. Дистанция либо вводится в поле, либо перетаскивается счетчик для просмотра перемещения зеркального объекта.
* Метод клонироваиия. Обычно зеркальное отображение объекта выполняется с целью получения зеркального клона исходного объекта. Подобное используется при моделировании симметричных объектов. При этом моделируется одна половина симметричного объекта, а вторая половина получается за счет зеркального отображения. Для создания нового зеркального объекта из оригинала выполните Сору (скопировать). Instance (экземпляр) или Reference (ссылка) из области Clone Selection (выборка клона). Выбор No Clone (нет клона) выполняет зеркальное отображение исходного объекта.
Большинство считает, что выполнение зеркального отображения объекта является инструментом моделирования, способом полного переключения геометрии. Поскольку выполнение зеркального отображения является трансформацией, это в большей степени инструмент позиционирования, нежели моделирования. Выполнение зеркального отображения объекта иногда может привести к неожиданным результатам, если использовать объект с другими характеристиками. Ниже приведены примеры проблем, возникающих при выполнении зеркального отображения:
* Объекты лофтинга. При выборе формы для использования в объекте лофтинга трансформации формы отбрасываются, в том числе и зеркальное отображение.
* Объекты морфинга. При выборе объекта в качестве цели морфинга трансформации объекта отбрасываются. Это касается и зеркального отображения.
* Инверсная кинематика. Отрицательное значение масштаба, создающее зеркальное отображение, может вызвать проблемы при расчете суставов, если зеркальный объект используется в цепочке инверс-кой кинематики.
Такого рода проблемы можно решать с помощью различных методов, но основным решением является получение зеркального (масштабного) эффекта из матрицы трансформации объекта. Это выполняется вручную за счет применения отрицательных значений масштаба на уровне подобъектов. К сожалению, Mirror работает только на уровне объекта даже в том случае, если активным является режим подобъекта. Зеркальное отображение чего-то на уровне подобъекта производится при помощи использования диалога Scale Transform Type-In (ввод значений трансформации масштабирования).
4.6. Массивы моментальных снимков
Последний тип массива использует кнопку Snapshot в выпадающем списке Array. Моментальный снимок - это тип временного массива, который создает клоны на основе изменений объекта во времени. Моментальный снимок является единственным методом организации массива, при помощи которого можно захватить и заморозить изменения модификатора.
При любом использовании Snapshot вначале следует выполнить анимацию трансформаций или модифи-каторов объекта. После этого используйте опции в диалоге Snapshot для указания количества клонов, которые нужно создать с течением времени. После этого Snapshot создает клоны через регулярные временные интервалы.
Опции в диалоге Snapshot делятся на две группы: Snapshot и Clone Method (метод клонирования). Посредством опции Snapshot выбираются временные параметры для создания моментальных снимков. Выберите Single (одиночный) для создания клона во время, установленное через Time Slider (ползунок времени); выберите Range (диапазон) для указания диапазона времени и количества клонов, создаваемых в этом диапазоне. Тип создаваемого клона задается при помощи опции Clone Method. Имеется выбор из трех стандартных опций Copy, Instance и Reference или специальной опции Mesh.
Опция Mesh разрушает стек модификаторов для замораживания модифицированных форм объекта в каждом интервале времени. Этот процесс уничтожает все модификаторы и базовые параметры, преобразуя объект в простую сетку. Информация о разрушении стека Modifier приводится в главе 8, "Моделирование на уровне объектов".
Как упоминалось ранее, создание плоского спирального массива возможно посредством моментального снимка. Сначала создается плоская спиральная форма и выполняется анимация объекта, после чего в качестве пути движения выбирается спираль. После анимации объекта для размещения копий объекта вокруг спирали можно использовать моментальный снимок.
Заключение
Итак, главное что нужно знать в теме: Трансформация — это набор операций, изменяющих местоположение, размер или ориентацию объектов. Такие базовые преобразования, как перемещение (move), масштабирование (scale) и поворот (rotate) являются неотъемлемым элементом любого моделирования, поскольку для создания сцены необходимо иметь возможность изменять местоположение и ориентацию отдельных объектов.
Каждая программа имеет свой интерфейс для управления трансформацией, однако в большинстве из них присутствуют определенного вида приспособления, возникающие внутри или вокруг трехмерного объекта. Сюда входят видимые индикаторы осей, отображающие локальные оси объекта и его опорную точку, а также определенные манипуляторы, которые можно перемещать мышью, выполняя, тем самым, задуманное преобразование.
На преобразования могут влиять осевая блокировка/ограничение (axis block/constraint) — средства управления, позволяющие блокировать перемещение объекта вдоль осей X, Y, Z или любой их комбинации. Благодаря ограничению осей, трансформация объекта происходит только вдоль избранной оси, тем самым предотвращая случайные движения по другим направлениям.
На ориентацию осей влияют многие факторы, поэтому нормальная ось в j один промежуток времени может не быть ею минутой позже. Если объект упорно отказывается перемещаться, разворачиваться или подчиняться любому другому преобразованию в нужном направлении, стоит проверить, не активизированы ли ограничения осей или другие блокираторы.
Выбор текущей системы координат (экранной, глобальной, локальной) может существенно влиять на ход преобразования. Кроме того, многое зависит и от расположения центра вращения, который используется в качестве центра трансформации объекта. Эта опорная точка может находиться в центре объекта или где-то неподалеку. Обычно специальный идентификатор указывает на то, использует ли программа центр вращения объекта или же применяется разновидность автоматической центровки модели.
Список литературы
Шпак, Ю.А. 3ds Max 9. Океан из капель / Ю.А. Шпак. – Додэка XXI [М.], МК-Пресс [К.], 2007. – 368 с. + CD
Учебник по трехмерной графике и анимации. – Режим доступа: http://www.web-planets.narod.ru/webdiz/yrisov/graphiks/3dmax5/3danimation/chapter10/1.htm
www.ПЕРВЫЕ ШАГИ.ru. – Режим доступа: http://www.firststeps.ru/mfc/directx/dxhelp/r.php?57
Глава 3. Просмотр, перспектива и композиция. – Режим доступа: http://cylib.iit.nau.edu.ua/Books/Graph/Tools/3DMax/3.htm
Глава 6. Выборка, трансформации и точность. – Режим доступа: http://cylib.iit.nau.edu.ua/Books/Graph/Tools/3DMax/6.htm
Глава 7. Основы создания объектов. – Режим доступа: http://cylib.iit.nau.edu.ua/Books/Graph/Tools/3DMax/7.htm