我可以使用什么数学公式来围绕给定的 3d 矢量旋转一系列 3d 矢量?
我正在尝试使用 3rd 方库:Math.NET Iridium来计算我的旋转,但我不知道我应该使用什么公式或数学概念。如您所见,数学不是我的强项,因此需要图书馆。
PS:我尝试使用标准System.Windows.Shapes.Polyline
,System.Windows.Media.RotateTransform
但看起来旋转仅在渲染时应用(如果我错了,请纠正我)。我需要在应用后立即知道旋转点的位置RotateTransform
。
public static XYZ rotateXYZ(XYZ pnt)
{
Polyline polyline = new Polyline();
polyline.Points.Add(new Point(pnt.X, pnt.Y)); //, pnt.Z));
System.Windows.Media.RotateTransform rotateTransform = new System.Windows.Media.RotateTransform(projectRotation, pnt.X, pnt.Y);
polyline.RenderTransform = rotateTransform;
return new XYZ(polyline.Points[0].X, polyline.Points[0].Y, pnt.Z); // the points coordinates are the same - not rotated
}