Класс, представляющий Euler Angles.
Углы Эйлера описывают вращательное преобразование путем вращения объекта по различным осям на заданную величину по каждой оси и в заданном порядке осей.
const a = new v3d.Euler(0, 1, 1.57, 'XYZ');
const b = new v3d.Vector3(1, 0, 1);
b.applyEuler(a);
x — (необязательно) угол наклона оси x в радианах. По умолчанию 0.
y — (необязательно) угол наклона оси y в радианах. По умолчанию 0.
z — (необязательно) угол наклона оси z в радианах. По умолчанию 0.
order — (необязательно) строка, представляющая порядок применения вращений, по умолчанию 'XYZ' (должен быть в верхнем регистре).
Порядок применения вращений. По умолчанию - 'XYZ', что означает, что сначала объект будет повернут вокруг оси X, затем вокруг оси Y и, наконец, вокруг оси Z. Другими вариантами являются: 'YZX', 'ZXY', 'XZY', 'YXZ' и 'ZYX'. Они должны быть в верхнем регистре.
Verge3D использует intrinsic(внутренние углы) Тайт-Брайана. Это означает, что вращение выполняется относительно локальной системы координат. То есть, для порядка 'XYZ' вращение происходит сначала вокруг локальной оси X (которая совпадает с мировой осью X), затем вокруг локальной оси Y (которая теперь может отличаться от мировой оси Y), затем локальной оси Z (которая может отличаться от мировой оси Z).
Текущее значение компонента x.
Текущее значение компонента y.
Текущее значение компонента z.
Копирует значение euler в этот эйлер.
Возвращает новый эйлер с теми же параметрами, что и данный.
Проверяет строгое равенство данного эйлера и euler.
Проверяет равенство данного эйлера и заданного euler с учетом заданного eps поля
array длиной 3 или 4. Необязательный 4-й аргумент соответствует order.
Присваивает данный эйлеров угол x массиву[0]. .
Присваивает данный эйлеров угол y массиву[1]. .
Присваивает данный эйлеров угол z массиву[2]. .
По желанию присваивает массиву [3] этот эйлеров угол order.
Меняет этот эйлер на альтернативный набор вращений в диапазоне [-π, π) соответствующий той же ориентации (например: от (0, 0, π) до (-π, -π, 0)).
Сброс эйлерова угла с новым порядком путем создания кватерниона из данного эйлерова угла, а затем установки данного эйлерова угла с кватернионом и новым порядком.
ПРЕДУПРЕЖДЕНИЕ: сбрасывает информацию о поворотах.
x — угол наклона оси x в радианах.
y — угол наклона оси y в радианах.
z — угол наклона оси z в радианах.
order — (необязательно) строка, представляющая порядок применения вращений.
Устанавливает углы этого эйлерова преобразования и, по желанию, order.
m — матрица Matrix4 верхняя часть 3x3 которой является чистой матрицей вращения
rotation matrix (т.е. без масштабирования).
order — (необязательно) строка, представляющая порядок применения вращений.
Устанавливает углы данного преобразования Эйлера от чистой матрицы вращения на основе ориентации, заданной порядком.
q — нормализованный кватернион.
order — (необязательно) строка, представляющая порядок применения вращений.
Устанавливает углы данного преобразования Эйлера из нормализованного кватерниона на основе ориентации, указанной order.
vector - Vector3.
order — (необязательно) строка, представляющая порядок применения вращений.
Установите параметры x, y и z и, по желанию, обновите order.
array — (необязательно) массив для хранения эйлера.
offset (необязательно) смещение в массиве.
Возвращает массив вида [x, y, z, order].
optionalResult — (необязательно) Если указано, результат будет скопирован в этот вектор, в противном случае будет создан новый.
Возвращает свойства Эйлера x, y и z в виде Vector3.
О том как получить исходный код этого модуля читайте тут.