在Java中,我有以下代码片段:
public static double absoluteBearing(Point2D.Double source, Point2D.Double target) {
return Math.atan2(target.x - source.x, target.y - source.y);
}
我想知道如何使用" Point2D.Double"在C#。
答案 0 :(得分:2)
在Windows窗体中,您可以使用PointF
结构。 (注意,这在内部使用float
顾名思义,但通常足够精确。)
在WPF中,您可以使用Point
结构。
假设您使用的是WinForms(因为它与Java中的Swing最相似),您的代码将转换为:
public static double absoluteBearing(PointF source, PointF target) {
return Math.Atan2(target.Y - source.Y, target.X - source.X);
}
请注意,X和Y在C#的Atan2
中被反转。
答案 1 :(得分:0)
如果您使用WPF,那么您可以获得双精度 Point
,它与原始Java Point2D.Double
更加匹配。
public static double absoluteBearing(Point source, Point target)
{
return Math.atan2(target.X - source.X, target.Y - source.Y);
}
这并不一定意味着您的应用必须转换为WPF。