
- •Базовые классы maxScript Класс Value
- •Операторы
- •Литералы
- •Операторы
- •Свойства
- •Операторы
- •Точка в трехмерном пространстве
- •Литералы
- •Конструкторы
- •Свойства
- •Операторы
- •Литерал
- •Конструкторы
- •Свойства
- •Произвольный поворот
- •Литералы
- •Конструкторы
- •Операторы
- •Свойства
- •Углы Эйлера
- •Операторы
- •Свойства
- •Прямоугольник
- •Литералы
- •Конструкторы
- •Свойства
- •Операторы
Литерал
Луч не может быть определен с помощью литерала.
Конструкторы
Луч может быть определен с помощью двух точек в трехмерном пространстве
ray Точка_в_3D_пространстве_1 Точка_в_3D_пространстве_2
Первая точка представляет начало луча, а вторая – вектор его направления. Кроме того, любой объект 3ds max, который имеет направление, такой как направленная камера или источник света может создать луч с помощью операции преобразования типа. Например, если в сцене имеется направленная камера Camera01, то можно написать такой скрипт
r = $Camera01 as ray
Свойства
Луч имеет два свойства. Первая – координаты начала
Луч.position
или, что то же самое
Луч.pos
При этом возвращается точка в трехмерном пространстве, которая, как и положено, имеет свойства x, y и z. Вторая – направление, так же точка в трехмерном пространстве
Луч.dir
Например
r = ray [ 0 , 0 , 0 ] [ 1 , 0 , 0 ]
создаст луч с началом в начале координат, направленный по оси X. В этом случае
r.position
вернет точку [ 0 , 0 , 0 ], а
r.dir
точку [ 1 , 0 , 0 ].
Методы
Для луча определен только один метод – копирование
copy Луч
Создает новый луч, который является копией указанного.
Кватернионы
Кватернионы представляют собой математический объект, представленный четырьмя вещественными числами. В 3ds max 4 он трактуется как поворот вокруг заданной оси (три первых числа) на заданный угол (оставшееся число). Кроме того, первые три числа определяют и масштабирование объекта
Литералы
Литералы для кватернионов не предусмотрено
Конструкторы
Кватернион может быть создан с помощью вектора - оси поворота, и величины угла поворота
quat Число Точка_в_3D_пространстве
при этом число задает угол поворота в градусах относительно оси, заданной вектором с указанными координатами.
Кватернион так же может быть преобразован из матрицы 4х3 (при этом из матрицы выделяется только поворот), из произвольного поворота или из углов Эйлера с помощью операции преобразования типов.
Произвольный_поворот as quat
Углы_Эйлера as quat
Матрица_4х3 as quat
К сожалению, без серьезного экскурса в алгебру кватернионов подробное рассмотрение их конструкторов, операторов и свойств будет затруднительно. Это рискует увеличить и без того раздувающийся на глазах объем данного обзора. Все же после изложения более насущных проблем MAXScript, надеюсь вернуться к этой теме.
Произвольный поворот
По своей сути произвольный поворот весьма похож на кватернион. Отличия заключаются в том, что угол поворота, задаваемый кватернионом, должен лежать в диапазоне от –180 до +180 градусов, да еще в солидном количестве методов для работы с кватернионами.
Литералы
Произвольный поворот не может быть определен с помощью литерала
Конструкторы
Проще всего задать поворот подобно кватерниону, с помощью угла и оси поворота.
angleaxis Число Точка_в_3D_пространстве
Число задает угол поворота в градусах, а точка – вектор оси поворота. Кроме этого угол может быть преобразован из кватерниона, углов Эйлера или матрицы 4х3 с помощью операции преобразования типа.
Кватернион as angleaxis
Углы_Эйлера as angleaxis
Матрица_4х3 as angleaxis