如何用c#xamarin形式的角度计算两点

如何用c#xamarin形式的角度计算两点,c#,xamarin,xamarin.forms,angle,points,C#,Xamarin,Xamarin.forms,Angle,Points,我有一个用来旋转线的滑块。当滑块滑动时,我想旋转直线。滑块值设置为角度。当页面初始加载时,线条形状被放置为水平。滑块值是通过获取角度绑定的。我使用了下面的代码来计算两点之间的角度 const double Rad2Deg = 180.0 / Math.PI; private double Angle(Point start, Point end) { return Math.Atan2(start.Y - end.Y, end.X - start.X) * Rad2Deg; } 现在我

我有一个用来旋转线的滑块。当滑块滑动时,我想旋转直线。滑块值设置为角度。当页面初始加载时,线条形状被放置为水平。滑块值是通过获取角度绑定的。我使用了下面的代码来计算两点之间的角度

const double Rad2Deg = 180.0 / Math.PI;
private double Angle(Point start, Point end)
{
    return Math.Atan2(start.Y - end.Y, end.X - start.X) * Rad2Deg;
}

现在我想用角度来计算两点。请给我一个建议。

假设我们有一条线,从点(0,0)开始,到点(x,y)结束。我们想把它旋转到角度a。 因此,(x,y)点将转换为(x',y')点,其中

x' = x*cos(a)-y*sin(a)
y' = x*sin(a)+y*cos(a)

整条线是从(0,0)到(x',y')

我不知道是不是只有我一个人,但不够清楚。对我来说,这似乎是基本的三角学。但也许我没抓住重点。你能提供更多关于这个问题的细节吗?@KlausGütter如果是这样的话,我认为不应该问这个问题。你想让线绕中心旋转还是绕一端旋转?