Часть моего кода хранит эквивалент матрицы 4x3, сохраняя позицию xyz, масштаб xyz и кватернион. Фрагмент кода ниже:
class tTransform
{
// data
tVector4f m_Position;
tQuaternion m_Rotation;
tVector4f m_Scale;
};
Я хочу умножить 2 из этих объектов вместе (как если бы это было умножение матрицы), и мне интересно, есть ли более быстрый/лучший способ сделать это, чем преобразовать каждый в матрицу, выполнить умножение таким образом, а затем извлечь полученное положение, повернуть и снова уменьшить масштаб?