如何围绕其他3D点制作3D点

时间:2016-09-09 04:01:21

标签: wpf math 3d

例如:

   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]。

我还想到另一种方法首先旋转然后翻译

1 个答案:

答案 0 :(得分:0)

你的第一行必须是:

Point3D point = new Point3D(1, 0, 0);

在你的代码中,你正在变换一个向量,旋转一个向量的结果与旋转的中心无关。