【发布时间】:2021-04-13 11:02:45
【问题描述】:
我正在编写一个 python 脚本,它将根据我收到的数据映射一些点并在地图上弯曲。我正在尝试使用我在下面收到的任何数据来获取圆弧/圆的中心坐标。我很难把我的大脑包裹在它周围。
- Point1 经纬度
- Point2 经纬度
- 起始角度
- 结束角度
- 圆的半径
我确实意识到我不需要所有这些数据来解决这个问题。
我还有一面旗帜,告诉我是左转还是右转。
根据我上面收到的信息,是否可以计算 x 和 y 线。
我已经有一个在 javascript 中运行的函数来绘制弧线。
function drawArc(center, initialBearing, finalBearing, radius) {{
var d2r = Math.PI / 180; // degrees to radians
var r2d = 180 / Math.PI; // radians to degrees
var points = 32;
// find the raidus in lat/lon
var rlat = (radius / EarthRadiusMeters) * r2d;
var rlng = rlat / Math.cos(center.lat() * d2r);
var extp = new Array();
if (initialBearing > finalBearing) finalBearing += 360;
var deltaBearing = finalBearing - initialBearing;
deltaBearing = deltaBearing/points;
for (var i=0; (i < points+1); i++)
{{
extp.push(center.DestinationPoint(initialBearing + i*deltaBearing, radius));
bounds.extend(extp[extp.length-1]);
}}
return extp;
}}
我一辈子都找不到获得圆心的 x 和 y 坐标的好方法。
【问题讨论】:
-
我想指出的是,你把顺时针度数设为正数让我的大脑感到不安。
-
math.stackexchange 中存在此类问题的几个答案。 Example.
-
我现在会调查这些答案。好像他们可能有我需要的东西。虽然其中一些仍不清楚。
-
@CoryKramer:许多图形库将“原点”定义为屏幕的左上角,并且“y”轴指向下方。在这种情况下,顺时针为正度数是有意义的,因为整个图形从“传统”轴方向镜像到 x 轴。
-
@JakeGriffin 有趣。我来自工程/物理背景,所以我习惯于向上/向右/向前是积极的,而 CCW 是积极的。
标签: javascript python google-maps