Я экспериментирую с использованием векторов ось-угол для вращения в моем игровом движке для хобби. Это трехкомпонентный вектор вдоль оси вращения с длиной вращения в радианах. Мне они нравятся, потому что:
Однако у меня есть жесткий цикл, который обновляет вращение всех моих объектов (десятки тысяч) исходя из их угловой скорости. В настоящее время единственный известный мне способ объединить два вектора оси вращения - это преобразовать их в кватернионы, умножить их, а затем преобразовать результат обратно в ось / угол. С помощью профилирования я определил это как узкое место. Кто-нибудь знает более простой подход?