Опрос
Что такое, по вашему мнению, «демократия»?
Векторы
| Индекс материала |
|---|
| Векторы |
| Страница 2 |
Векторная переменная позволяет удерживать в памяти три значения с плавающей запятой. Обычно векторы служат для хранения точек и направлений в пространстве. 1. В окне Script Editor введите следующие команды: sphere; vector $p = 10.0, 5.0, 2.5 ; move - absolute ($p. x) ($p. y) ($p. z); 2. Нажмите клавиши Ctrl+Enter для их выполнения. Будет построена сфера, которая затем займет указанное положение (х= 10, у= 5 и z = 2,5). Для доступа к отдельным компонентам вектора х, у, z, соответственно, используются конструкции $р. х, $р. у и $p. z. Важно отметить, что при обращении к компонентам вектора их следует заключать в круглые скобки. Следующий пример иллюстрирует проблему отсутствия скобок. vector $р = 10.0, 5.0, 2.5 ; print $p. x; // Ошибка print ($p. x); // Результат: 10.0 Другой характерной особенностью MEL является запрет на непосредственное присваивание числового значения компоненту вектора.
Следующий код, например, приводит к ошибке: $р. х = 3.0; // Ошибка ($р. х) = 3.0; // Ошибка Присвоить числовое значение компоненту вектора напрямую, по сути дела, нельзя. Такая операция должна выполняться косвенно, путем создания еще одного вектора и присваивания его исходному. Цель следующего примера - присвоить компоненту $р. х значение 3,0. vector $р = 10.0, 5,0, 2.5 ; $р = 3.0, $р. у, $p. z ; // Присвоить 3.0 компоненту х print $р // Результат = 3 5 2.5 Если вектор не получит значение явным образом, то будет использовано значение по умолчанию, равное 0.0, 0.0, 0.0. vector $p; // Автоматическая инициализация по умолчанию: 0.0, 0.0, 0,0 Массивы Иногда возникает необходимость хранения целого ряда переменных.
В языке MEL вы можете описать массив, который образован несколькими переменными. Количество элементов массива часто неизвестно заранее, поэтому MEL допускает автоматическое увеличение числа элементов, если это необходимо. Далее показано несколько примеров описания массивов. int $values[] = { 2, 5, 7, 1 }; string $names[3] = { "Bill", "Bob", "Jeff" }; vector $positions[2] = { 0.5,0.1,1.0, 2.3,4.0,1.2 }; float $scores[]; // Пустой массив При описании массива должны использоваться квадратные скобки ([ ]). Чтобы обратиться к отдельному элемент)' массива, в скобках нужно указать его индекс. int $values[4] = { 2, 5, 7, 1 }; print ( $values[0] ); // Результат: 2 print ( $values[3] ); // Результат: 1 Индексы следуют от 0, поэтому индекс первого элемента массива равен О, второго - 1 и т. д. Совокупный диапазон индексов массива - это ряд чисел от О до (количество элементов - 1). Чтобы найти общее число элементов массива, воспользуйтесь командой size.
int $values[3] = { 4, 8, 9 }; int SnumElements = size( $values ); print $numElements; // Результат: 3 Типичной операцией является присоединение элемента к существующему массиву. Для этого используйте команду size следующим образом: int $values[2] = { 5, 1 }; $values[ size($values) ] = 3; // Присоединить 3 к массиву print $values; // Результат: 5 1 3 Кроме того, элемент можно добавить, непосредственно обратившись к нему. int $values[]; // Пустой массив $values[0] = 2; // Первому элементу присвоено значение 2 $values[2] = 7; // Третьему элементу _присвоено значение 7 print $values; // Результат: 2 0 7 Изначально массив был пустым, т. е. не содержал элементов.
Путем непосредственного присваивания значения первому элементу (с индексом 0) размер массива был увеличен с целью включения в него нового элемента. Тогда в маесив входил всего один элемент. В следующей строке устанавливается значение третьего элемента (с индексом 2), поэтому размер массива увеличивается до трех, Так как значение третьего элемента было указано, он стал равен 7. Заметьте, что вы не задали значение второго элемента (с индексом 1). Увеличивая размер массива, Maya присвоила значение по умолчанию всем элементам, которые не прошли явной инициализации.
Поиск
В закладку
Авторизация
Погода


