Установить угол вращения для матрицы из boost::qvm

133
13 января 2020, 10:10

К примеру у меня есть матрица

boost::qvm::mat<float, 3, 3> mat{...};

и я устанавилваю для нее угол вращения

boost::qvm::rotate_z(mat, angle);

Как после этого изменить угол (значения матрицы отвечающие за поворот), чтобы при этом не удалить другие значения, хранящиеся в матрице (скейл, позиция)

Пробовал

boost::qvm::set_rotz(mat, angle);

но при этом, как раз таки, затираются нужные остальные значения в матрице

Answer 1

Храните матрицы элементарных преобразований отдельно и при модификации одной их них снова все комбинируйте (перемножайте).

READ ALSO
Сортировка массива структур C++

Сортировка массива структур C++

Есть массив строк:

169
Как ввести дробь через cin?

Как ввести дробь через cin?

С помощь scanf я могу ввести дробь таким образом:

159
Перегрузка макроса по числу параметров

Перегрузка макроса по числу параметров

Я хочу написать макрос FOO, так чтобы FOO(x) и FOO(x, y) делали разные вещиКак это сделать?

139