日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角

發布時間:2023/12/10 循环神经网络 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以真北為0度起點,由東向南向西順時針旋轉360度,主要是用于控制象限。

根據2點經緯度,計算方位角

[csharp]

///

/// 給定2點,獲得經緯度

///

/// 起點經緯度,都是以度為單位

/// 終點經緯度,都是以度為單位

///

private double GetLineAngle(Point2D startPoint, Point2D endPoint)

{

double mathPI = 3.1415926535897931;

double tmpValue = 0;

double latStart = startPoint.Y * mathPI / 180;

double lngStart = startPoint.X * mathPI / 180;

double latEnd = endPoint.Y * mathPI / 180;

double lngEnd = endPoint.X * mathPI / 180;

if (startPoint.X == endPoint.X || startPoint.Y == endPoint.Y)

{

if (startPoint.X == endPoint.X)

{

/// 經度相同

if (endPoint.Y >= startPoint.Y)

{

return 0;

}

else

{

return 180;

}

}

else

{

/// 緯度相同

if (endPoint.X >= startPoint.X)

{

return 90;

}

else

{

return 270;

}

}

}

tmpValue = Math.Sin(latStart) * Math.Sin(latEnd) + Math.Cos(latStart) * Math.Cos(latEnd) * Math.Cos(lngEnd - lngStart);

tmpValue = Math.Sqrt(1 - tmpValue * tmpValue);

tmpValue = Math.Cos(latEnd) * Math.Sin(lngEnd - lngStart) / tmpValue;

double resultAngle = Math.Abs(Math.Asin(tmpValue) * 180 / mathPI);

if (endPoint.X > startPoint.X)

{

if (endPoint.Y >= startPoint.Y)

{

/// 第一象限

return resultAngle;

}

else

{

/// 第二象限

return 180 - resultAngle;

}

}

else

{

/// 第四象限

if (endPoint.Y >= startPoint.Y)

{

return 360 - resultAngle;

}

else

{

/// 第三象限

return 180 + resultAngle;

}

}

}

[/csharp]

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。