Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Функциональные процедуры мэппинга



Отличительной чертой 3ds Max является богатый набор штатных функциональных процедур мэппинга. Напомним, что под функциональными процедурами мэппинга (как указывалось ранее, мы рассматриваем 3d мэппинг) понимаются процедуры формирования компьютерных представлений описаний пространственных сцен, которое включает в себя описание геометрии (геометрической модели) этой сцены и описание ее графических характеристик (текстуры).

Выше было отмечено, что геометрическая модель пространственной сцены представляет собой совокупность пространственных геометрических примитивов или/и сложных геометрических объектов (являющихся результатом выполнения некоторых геометрических операций над пространственными геометрическими примитивами или другими сложными объектами). В качестве таких геометрических примитивов в 3ds Max могут использоваться:

· cфера · конус · цилиндр · параллелепипед · тор · пирамида · призма

· многогранник · отсек поверхности · NURBS-поверхность · поверхность Безье

Из этих примитивов можно формировать сложные пространственные геометрические объекты, которые, в свою очередь, могут использоваться как операнды других геометрических операций. В качестве таких геометрических операций в 3ds Max могут использоваться:

· сдвиг · поворот · масштабирование · теоретико-множественное объединение

· теоретико-множественное пересечение · теоретико-множественное вычитание

· лофтинг · морфинг · изгиб · шум · сглаживание · сжатие

· растяжение · скручивание · скос

Для задания графических характеристик пространственной сцены в 3ds Max предоставляется возможность использовать обширную библиотеку различных текстур. Помимо этого с помощью программного средства «Редактор материалов» можно создавать и использовать нештатные текстуры.

Как было отмечено выше, вызов функциональных процедур из прикладной программы визуализации на языке MaxScript осуществляется с помощью операторов функций. Это справедливо и для мэппинга. Приведем примеры операторов функций, используемых для обращения к функциональным процедурам мэппинга. Напомним, что значения параметров в этих операторах функций в прикладной программе визуализации определенным образом связываются с ранее отфильтрованными данными.

Пример 2.3

< box> _height: < числовое значение> _ width: < числовое значение > _ length: < числовое значение > _ pos: [< числовое значение >, _ < числовое значение > _ < числовое значение > ]

Эта функциональная процедура ставит в соответствие отфильтрованным данным компьютерное представление геометрической модели пространственной сцены в виде параллелепипеда (box). Задаваемые параметры:

height – высота параллелепипеда

width – ширина параллелепипеда

length – длина параллелепипеда

pos – координаты центра параллелепипеда

В прикладной программе значения этих параметров связываются определенным образом (так как это задано человеком) с отфильтрованными данными.

Пример 2.4

< sphere> _radius: < числовое значение> _ pos: [< числовое значение >, _ < числовое значение > _ < числовое значение > ]

Эта функциональная процедура аналогична предыдущей. Она ставит в соответствие отфильтрованным данным компьютерное представление геометрической модели пространственной сцены в виде cферы (sphere). Задаваемые параметры:

radius – радиус сферы

pos – координаты центра сферы

Как и в предыдущем примере, значения этих параметров в прикладной программе визуализации связываются определенным образом (так как это задано человеком) с отфильтрованными данными.

Пример 2.5

< move> < указатель на геометрический объект – операнд операции> _[< числовое значение>, числовое значение >, числовое значение > ]

Эта функциональная процедура ставит в соответствие ранее созданному геометрическому объекту компьютерное представление геометрической модели пространственной сцены в виде сдвинутого геометрического объекта. Задаваемые параметры:

1-е числовое значение - величина сдвига по оси x

2-е числовое значение - величина сдвига по оси y

3-е числовое значение - величина сдвига по оси z

Пример 2.6

< boolObj.createBooleanObject> _ < указатель на геометрический объект – 1-й операнд операции>

< boolObj.SetOperandB> _< указатель на геометрический объект – 1-й операнд операции> _

< указатель на геометрический объект – 2-й операнд операции > _ 1

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

Инициация этой функциональной процедуры осуществляется с помощью двух операторов функций. 1-й оператор служит для задания 1-го операнда теоретико-множественной операции объединения (эта операция является двуместной). 2-й оператор служит для задания 2-го операнда теоретико-множественной операции объединения. В качестве операндов здесь могли бы выступать, например, ранее созданные сфера и параллелепипед. Здесь «1» - идентификатор теоретико-множественной операции объединения.

Пример 2.7

Рассмотрим фрагмент прикладной программы визуализации, в котором отфильтрованным исходным данным из примера 2.2 ставится в соответствие компьютерное представление геометрической модели пространственной сцены в виде совокупности cфер.

……….

for i = 1 to ArrayX2.count do ----- оператор цикла,

( ----- где значение переменной i изменяется от 1 до

----- числа элементов массива ArrayX2 (т.е. числа точек,

----- отобранных на шаге фильтрации)

x = ArrayX2 [i] -- присвоение переменной x значения текущего элемента массива

y = ArrayY2 [i] -- присвоение переменной y значения текущего элемента массива

z = ArrayZ2 [i] ---присвоение переменной z значения текущего элемента массива

Sphere radius: 0.4 pos: [x, y, z] --- создание сферы с выбранным радиусом 0.4 и

--- с центров в точке с координатами x, y, z

)

--- по завершению цикла создается соответствующее

--- размерности массива ArrayX2

--- количество сфер с именами Sphere01, Sphere02…,

--- задаваемыми по умолчанию

……….

Выше мы рассмотрели характеристики и примеры инициации функциональных процедур мэппинга, служащих для задания геометрической модели сцены. Следует отметить, что при создании геометрической модели, графические характеристики создаваемого объекта в 3ds Max, а именно цвет, задаются по умолчанию, если они не определены с помощью соответствующих функциональных процедур мэппинга. Перейдем к функциональной процедуре мэппинга, с помощью которой можно задавать графические характеристики, а именно, текстуру.

Пример 2.8

< Standard> ambient: [< числовое значение>, < числовое значение>, < числовое значение> ] wire: < логическое значение> faceted: < логическое значение> opacity: < числовое значение>

Эта функциональная процедура служит для задания компьютерного представления 2-й составляющей описания (модели) пространственной сцены - текстуры. Задаваемые параметры:

аmbient –цвет покрытия

wire – наличие/отсутствие решетчатой текстуры

faceted – наличие/отсутствие ребристой текстуры

opacity – процент прозрачности

В прикладной программе визуализации значения перечисленных параметров могут задаваться произвольно, либо они связываются определенным образом (так как это нужно человеку) с отфильтрованными данными.

Пример 2.9

Рассмотрим фрагмент прикладной программы визуализации, в котором задается компьютерное представление текстурного покрытия cфер из примера 2.7.

……….

select $Sphere* -- вспомогательная операция выделения всех сфер из примера 2.7

-- (после этого над ними могут выполняться те или иные операции)

ArraySphere = for b in $* collect ( b ) --- оператор цикла, в теле которого из ранее

--- выделенных сфер формируется

--- массив сфер ArraySphere

---вспомогательной переменной b в цикле

-- присваивается в качестве значения текущая

-- сфера

for i = 1 to ArraySphere.count do ----- оператор цикла,

( ----- где значение переменной i изменяется от 1 до

----- числа элементов массива ArraySphere

----- (т.е. числа сфер)

ArraySphere[i].material = standard ambient: [150, 250, 150] wire: false faceted: true

opacity: 50 ---- создание полупрозрачной ребристой текстуры салатового цвета

)

……….

Отметим, что помимо рассмотренной функциональной процедуры задания текстуры в программном продукте 3ds Max предусмотрены также другие функциональные процедуры аналогичного назначения.

Отметим также, что в 3ds Max предусмотрена программные средства для быстрого и несложного создания нештатных функциональных процедур мэппинга в виде плагинов 3ds Max.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-30; Просмотров: 331; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь