Поскольку мои знания о матрицах близки к нулю, я искал вспомогательный метод, который мог бы преобразовывать матричный массив в читаемый формат.Преобразование 3D-матрицы в читаемый формат
С читаемом формате, я имею в виду:
{
translate :
{
x : 0,
y : 0,
z : 0
},
rotation :
{
x : 0,
y : 90,
z : 0
},
skew :
{
x : 0,
y : 0
},
scale :
{
x : 0,
y : 0,
z : 0
}
}
с форматом матрицы Я имею в виду: matrix3d(0.00000000000000006123233995736766, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0.00000000000000006123233995736766, 0, 0, 0, 0, 1)
.
Я искал Google для такого метода, но не могу найти его.
Есть ли такой метод или как я могу дешифровать/вычислить каждый тип преобразования на каждой доступной оси?
Обновление: Мой друг наткнулся на http://web.iitd.ac.in/~hegde/cad/lecture/L6_3dtrans.pdf, будет изучать это, чтобы попытаться получить хоть что-то.
Эта статья представляет собой довольно полезное объяснение matrix3D https://developer.mozilla.org/en-US/docs/CSS/transform-function, хотя потребовалось бы немало усилий, чтобы использовать эти знания для записи преобразования инструмент. Стоит также отметить, что порядок, в котором выполняются перекосы, поворот и т. Д., Имеет важное значение, т. Е. Вращение, сопровождаемое перекосом, не обязательно такое же, как перекос, за которым следует поворот, поэтому любая читаемая версия матрицы woull должна сделать некоторые явные предположения о том, какое преобразование, как ожидается, будет выполнено сначала – wheresrhys
Хмм, но это относится к перекосу и вращению, не так ли? Если это так, метод может быть сконструирован таким образом, чтобы он принимал параметры для выбора порядка перекоса и вращения. – jolt
yep это могло бы, просто что-то рассмотреть – wheresrhys