Wolfram mathematica 求解旋转变换

Wolfram mathematica 求解旋转变换,wolfram-mathematica,Wolfram Mathematica,我对仿射变换矩阵的重构有一个问题。 平移矩阵重建效果很好,但旋转效果不好 谢谢你们 (*Works just fine*) Clear["Global`*"] data = RandomReal[10, {100, 3}]; data0 = TranslationTransform[{1, -1, 1}]@data; {dX0, dY0, dZ0} /. Solve[data0 == TranslationTransform[{dX0, dY0, dZ0}]@data, {dX0, dY0,

我对仿射变换矩阵的重构有一个问题。 平移矩阵重建效果很好,但旋转效果不好

谢谢你们

(*Works just fine*)
Clear["Global`*"]
data = RandomReal[10, {100, 3}];
data0 = TranslationTransform[{1, -1, 1}]@data;
{dX0, dY0, dZ0} /. 
 Solve[data0 == TranslationTransform[{dX0, dY0, dZ0}]@data, {dX0, dY0,
    dZ0}]


(*Yields {} ????*)
Clear["Global`*"]
data = RandomReal[10, {10, 3}];
data0 = RotationTransform[10 , {1, 0, 0}]@data;
Solve[data0 == RotationTransform[aZ0 Degree, {0, 0, 1}]@data, {aZ0}]

对于一个变量,你有太多的方程

data = RandomReal[1, {10, 3}];
data0 = RotationMatrix[1/2, {1, 0, 0}].# & /@ data;
Solve[Thread[data[[1]] == RotationMatrix[aZ0, {1, 0, 0}].data0[[1]]][[2]], {aZ0}]
(*
-> -0.5
*)