![](/img/trans.png)
[英]How to re format GetVertices to return (x1,y1,0), (x2,y2,0), (x3,y3,0);?
[英]Given two points A(x1,y1) & B(x2,y2), I want to find the distance between the third point C(x3,y3) and line AB and length of AD on spherical surface
我有兩點,我需要線 AB 和點 C 之間的距離。除此之外,我還想要 AD 的長度,其中 D 是 C 在 AB 上的投影/交點。 在二維中,我可以得到這里提到的投影點,但是 ::
double A=thirdX-startX;
double B=thirdY-startY;
double C=endX-startX;
double D=endY-startY;
double dot = A * C + B * D;
double len_sq = C * C + D * D;
double xProjection, yProjection,param;
param = dot / len_sq;
if (param < 0) {
xProjection = startX;
yProjection = startY;
}
else if (param > 1) {
xProjection = endX;
yProjection = endY;
}
else {
xProjection = startX + param * C;
yProjection = startY + param * D;
}
double deltaX= thirdX -xProjection;
double deltaY= thirdY-yProjection;
double AD= Math.sqrt(deltaX*deltaX+deltaY*deltaY);
double AD= Math.sqrt((startX-xProjection)*(startX-xProjection)+(startY-yProjection)*(startY-yProjection));
但是考慮到球體上的坐標而不是二維表面上的坐標,我也想做同樣的事情。提前致謝! 在此處輸入圖片說明
在球面/地球上進行計算的非常有用的鏈接: https : //www.movable-type.co.uk/scripts/latlong.html交叉軌道距離和沿軌道距離分別給了我 CD 和 AD。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.