Кватернионно-векторно-матричная библиотека
Методы TVector:
- Empty инициализирует вектор нулями;
- Data инициализирует вектор заданными значениями;
- getModul возвращает модуль вектора;
- getBasis возвращает единичный вектор по направлению заданного.
У TVector имеются перегруженные операции:
- [+] – сложение двух векторов;
- [–] – вычитание двух векторов;
- [*] – скалярное умножение векторов;
- [^] – векторное умножение векторов;
- [*] – умножение вектора на скаляр.
FirstString, SecondString, ThirdString – построчные элементы матрицы.
Здесь и далее угол вращения считается положительным, если он виден из конца
оси, вокруг которой происходит вращение, против часовой стрелки.
Методы TMatrix:
- Empty инициализирует матрицу нулями;
- Data инициализирует матрицу заданными значениями (запись по строкам);
- DataVect инициализирует матрицу заданными значениями (запись векторами);
- OXMatrix получает матрицу вращения вокруг оси OX на заданный угол;
- OYMatrix получает матрицу вращения вокруг оси OY на заданный угол;
- OZMatrix получает матрицу вращения вокруг оси OZ на заданный угол;
- ThreeAnglesMatrix получает матрицу вращения по заданным трём углам
поворота вокруг осей OX, OY, OZ и порядку поворота системы координат
вокруг базовых осей;
- getTrans возвращает транспонированную матрицу.
У TMatrix имеются перегруженные операции:
- [+] – сложение двух матриц;
- [–] – вычитание двух матриц;
- [*] – произведение матрицы на вектор;
- [*] – произведение двух матриц.
q0 – скалярная часть, q1, q2, q3 – векторная часть.
Методы TQuaternion:
- Empty инициализирует кватернион нулями;
- Data инициализирует кватернион заданными значениями;
- MakeQuat создаёт кватернион вращения из вектора, вокруг которого надо
выполнить вращение, и угла, на который надо выполнить вращение;
- QuatFromMatrixStanley получает кватернион вращения из матрицы поворотов
по алгоритму Стенли;
- ThreeAnglesQuat получает кватернион по заданным трём углам поворота вокруг
осей OX, OY, OZ и порядку поворота системы координат вокруг базовых осей;
- getModulAngle возвращает модуль угла поворота;
- getNorm возвращает норму (модуль) кватерниона;
- getBasis возвращает единичный кватернион по направлению заданного;
- getOpposite возвращает обратный кватернион;
- getMatrix возвращает матрицу поворотов.
У TQuaternion имеются перегруженные операции:
- [+] – сложение двух кватернионов;
- [–] – вычитание двух кватернионов;
- [*] – произведение двух кватернионов;
- [*] – произведение кватерниона на вектор (поворот вектора с помощью заданного
кватерниона по правилу буравчика).
См. аналог на Object Pascal для Delphi