关于Mathematica中RotationTransform函数的问题

nil*_*ock 6 wolfram-mathematica

背景:

  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]}]
Run Code Online (Sandbox Code Playgroud)

我的问题涉及具有以下签名的RotationTransform:

  RotationTransform[x, {1, 1, 0}, {a, b, c}]
Run Code Online (Sandbox Code Playgroud)

文档说:"围绕轴固定在点p处进行3D旋转",在上面的示例中,w = {1,1,0}并且p = {a,b,c}.

令我惊讶的是,无论我指定给(a,b,c)什么值,旋转都是相同的.我假设我不理解文档,在某处犯了错误.我原本期望a,b,c的不同值至少有不同的旋转.更改向量w的行为与预期一致.

请解释一下p的目的.

Dr.*_*ius 6

请从帮助中考虑以下示例:

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]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

而现在:

p={1,0,0};
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述