我想出了一个方法,它采用坐标和范围(以英里为单位)并返回围绕原点形成圆的坐标列表.我似乎已经取得了一些进展,但我有一个问题,让范围部分下降.
private const Double LAT_MILE = 0.0144839;
private const Double LONG_MILE = 0.0190693;
public static List<Gps.Coordinate> GetRadius(Double OriginLatitude, Double OriginLongitude, Double Range, int Points)
{
List<Gps.Coordinate> Result = new List<Coordinate>();
//insert a new point
for (int i = 0; i < Points; i++)
{
Result.Add(new Gps.Coordinate()
{
Latitude = ((Range * LAT_MILE) * System.Math.Cos(i)) + OriginLatitude,
Longitude = ((Range * LONG_MILE) * System.Math.Sin(i)) + OriginLongitude
});
}
//sort using nearest neighbor
return SortCoords(ref Result);
}
Run Code Online (Sandbox Code Playgroud)
我发现的问题是,我用来表示距离以英里为单位的常数会根据位置而改变.有没有人有任何解决这个问题的建议,或者更好的捕鼠器?
编辑:我应该注意,我在数学上很可怕:)
我想在我的应用程序中实现一个功能,其中显示了用户的对话框和主窗体(类似于jQuery的外观).我唯一的想法是获取表单的屏幕截图,将其作为面板的背景(具有我不喜欢的不透明度),然后将面板推到表单上的所有内容上.我不得不相信有更好的方法可以做到这一点,有什么建议吗?