Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MAXScript Part 4.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
197.12 Кб
Скачать

Литерал

Луч не может быть определен с помощью литерала.

Конструкторы

Луч может быть определен с помощью двух точек в трехмерном пространстве

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]