例如:
Vector3D point = new Vector3D(1, 0, 0);
var targetRotatePoint = new Point3D(-1, 0, 0);
AxisAngleRotation3D axisAngle = new AxisAngleRotation3D(new Vector3D(0, 1, 0), 180);
RotateTransform3D myRotateTransform = new RotateTransform3D(axisAngle,targerRotatePoint);
var result= myRotateTransform.Transform(point);\\is same point*myRotateTransform.Value
reult是[-1,0,0],但我希望结果是[-3,0,0]。
我还想到另一种方法首先旋转然后翻译
答案 0 :(得分:0)
你的第一行必须是:
Point3D point = new Point3D(1, 0, 0);
在你的代码中,你正在变换一个向量,旋转一个向量的结果与旋转的中心无关。