К примеру у меня есть матрица
boost::qvm::mat<float, 3, 3> mat{...};
и я устанавилваю для нее угол вращения
boost::qvm::rotate_z(mat, angle);
Как после этого изменить угол (значения матрицы отвечающие за поворот), чтобы при этом не удалить другие значения, хранящиеся в матрице (скейл, позиция)
Пробовал
boost::qvm::set_rotz(mat, angle);
но при этом, как раз таки, затираются нужные остальные значения в матрице
Храните матрицы элементарных преобразований отдельно и при модификации одной их них снова все комбинируйте (перемножайте).
Сборка персонального компьютера от Artline: умный выбор для современных пользователей