Tag: geometry

如何绘制半径弧和起始和停止角度

如果我的Canvas元素的DataContext中有以下四个属性 Point Center double Radius double StartAngle double EndAngle 我可以在没有任何额外代码的情况下绘制弧线吗?

如何找到给定纬度/长度以北x km的纬度/经度?

我有一些生成谷歌地图的C#代码。 这些代码查看我需要在地图上绘制的所有点,然后计算出矩形的边界以包含这些点。 然后,它会将此边界传递给Google Maps API,以适当地设置缩放级别,以显示地图上的所有点。 这段代码工作正常,但我有一个新的要求。 其中一个点可能具有与之相关的精度。 如果是这种情况,那么我在半径设置为精度值的点周围绘制一个圆。 再次,这工作正常,但我的边界检查现在没有做我想要它做的事情。 我希望边界框包含完整的圆圈。 这需要算法采用点x并计算将在x以北z米以及x以南z米的点y。 有没有人有这个算法,最好是在C#中。 我确实在这里找到了一个通用算法,但我似乎没有正确实现这个,因为我得到的答案是千米级的漂移。 这是通用示例 Lat/lon given radial and distance A point {lat,lon} is a distance d out on the tc radial from point 1 if: lat=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc)) IF (cos(lat)=0) lon=lon1 // endpoint a pole ELSE lon=mod(lon1-asin(sin(tc)*sin(d)/cos(lat))+pi,2*pi)-pi ENDIF 这是我的C#翻译。 // Extend a Point North/South by the specified […]