Вращение кватернионной системы координат
вращает систему координат ссылки для Декартовых точек, используя кватернион, rotationResult
= rotateframe(quat
,cartesianPoints
)quat
. Элементы кватерниона нормированы перед использованием во вращении.
Вращение кватернионной системы координат повторно ссылается на точку, заданную в R3 путем поворота исходной системы координат ссылки согласно заданному кватерниону:
где q - кватернион, * представляет сопряжение, а u - точка вращения, заданная как кватернион.
Для удобства, rotateframe
функция принимает точку в R3 и возвращает точку в R3. Учитывая вызов функции с некоторым произвольным кватернионом, q = a + b я + <reservedrangesplaceholder4> j + <reservedrangesplaceholder3> k и произвольная координата, [x, y, z],
point = [x,y,z]; rereferencedPoint = rotateframe(q,point)
rotateframe
функция выполняет следующие операции:
Преобразует точку [x, y, z] в кватернион:
Нормализует кватернион, q:
Применяет вращение:
Преобразует кватернион, выход vq, назад в R3