背景:

  a = 0; b = 0; c = 0;
  Manipulate[Graphics3D[
    GeometricTransformation[
     {Cuboid[{0, 0, 0}, {1, 1, 1}]},
     {RotationTransform[x, {1, 1, 0}, {a, b, c}]}],
    ViewPoint -> Left], {x, 0, 2 \[Pi]}]
我的问题与带有以下签名的RotationTransform有关:
  RotationTransform[x, {1, 1, 0}, {a, b, c}]
该文档说:“在上面的示例中,w = {1,1,0}和p = {a,b,c}给出了“围绕 anchor 定在点p上的轴w的3D旋转”。
令我惊讶的是,无论我为(a,b,c)赋什么值,旋转行为都一样。我以为我不懂文档,在某个地方出错了。对于不同的a,b,c值,我至少会期望一个不同的旋转。更改向量w的行为符合预期。
请解释p的目的。

最佳答案

考虑帮助中的以下示例:

gr={Cuboid[],AbsolutePointSize[10],Opacity[1],{Magenta,Point[{0,0,0}]},
   {Green,Point[{1,1,1}]}};

p = {1,1,1};
Graphics3D[{{Opacity[.35], Blue, gr},
  GeometricTransformation[{Opacity[.85], Red, gr},
   RotationTransform[Pi/6, {0, 0, 1}, p]]}, Boxed -> False]

现在有了:
p={1,0,0};

关于wolfram-mathematica - 关于Mathematica中的RotationTransform函数的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6802461/

10-11 11:02