Можно это в виде матрицы, если не сложно?
Ну в виде матрицы оно, разумеется, тоже представляется, вот той большой 4×4, но лучше же её не выписывать, умножать отдельные матрицы переноса и поворота в программе и всё.
При переносе, кстати, в моём случае всегда
, думаю это тоже может всё упростить...
Не думаю.
Можно конечно перемножить множество различных поворотов и прийти к 180, но путь нам не важен, а результат всегда однозначен.
Нет, почему. Если учитывать специфику этой задачи, то два из трёх «направляющих» кирпич векторов повернутся на 180°, но третий останется как был. Чтобы все три так повернулись, надо позволить отражения, а они тут, как понимаю, не включены (ну и к кватернионы в чистом виде их не осилят тоже). Потому если мы знаем, что один вектор поворачивается на 180°, мы в общем случае не знаем, что с остальными двумя — можно только утверждать, что один повернётся, а другой останется на месте.
Далее по третьему пункту запутался, можно пример с конкретными цифрами?
Ну пусть например была пара векторов с координатами
, а стала
. К первой паре добавим её векторное произведение
и запишем эти столбцы друг за другом и получим матрицу
и аналогично сделав с другой парой получим
.
Это мне по сути не важно, разворот на месте потом может пользователь корректировать. т.е. любой ответ правильный
Смотрите, хоть сохранение осей и помогает, всё равно 4 способа останется.