国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#計算汽車行駛方向的方法分析

2019-10-29 21:21:57
字體:
來源:轉載
供稿:網友

本文實例分析了C#計算汽車行駛方向的方法。分享給大家供大家參考,具體如下:

1.  場景:已知汽車行駛過程中的2個GPS坐標點A(n1,e1),B(e),計算它行駛的方向。

C#,計算,汽車行駛方向

2. 分析:如上圖所示,知道了兩個點A、B,可以假設一個C點,讓三個點構成一個直角三角形。現在可以知道,A,B,C三點的GPS坐標就很容易求出三個角的對邊長度a,b,c。根據余弦定下CosB=(a2+c2-b2)/2ac,就可以求出CosB的值。

3.C#實現代碼。

/// <summary>///計算兩點GPS坐標的距離/// </summary>/// <param name="n1">第一點的緯度坐標</param>/// <param name="e1">第一點的經度坐標</param>/// <param name="n2">第二點的緯度坐標</param>/// <param name="e2">第二點的經度坐標</param>/// <returns></returns>public static double Distance(double n1, double e1, double n2, double e2){  double jl_jd = 102834.74258026089786013677476285;  double jl_wd = 111712.69150641055729984301412873;  double b = Math.Abs((e1 - e2) * jl_jd);  double a = Math.Abs((n1 - n2) * jl_wd);  return Math.Sqrt((a * a + b * b));}/// <summary>/// 已知汽車行駛的兩個GPS點,求汽車行駛的方向/// </summary>/// <param name="n1">第一個GPS點緯度</param>/// <param name="e1">第一個GPS點經度</param>/// <param name="n2">第二個GPS點緯度</param>/// <param name="e2">第二個GPS點經度</param>/// <returns></returns>public static double GetBusDirection( double n1,double e1, double n2, double e2){  double e3 = 0;  double n3 = 0;  e3 = e1 + 0.005;  n3 = n1;  double a = 0;  double b = 0;  double c = 0;  a = Distance(e1, n1, e3, n3);  b = Distance(e3, n3, e2, n2);  c = Distance(e1, n1, e2, n2);  double cosB = 0;  if ((a * c) != 0)  { cosB = (a * a + c * c - b * b) / (2 * a * c);  }  double B = Math.Acos(cosB) * 180 / Math.PI;  if(n2<n1)  { B=180+(180-B);  }  return B;}

希望本文所述對大家C#程序設計有所幫助。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴文县| 清徐县| 和平区| 慈利县| 册亨县| 繁昌县| 宁乡县| 奉贤区| 香格里拉县| 禹城市| 会同县| 东阳市| 美姑县| 兰州市| 禄劝| 富阳市| 拜泉县| 徐汇区| 天峨县| 察隅县| 黄龙县| 沽源县| 沾益县| 西畴县| 平远县| 珠海市| 兴义市| 肥乡县| 郁南县| 恩平市| 峨山| 兰溪市| 德保县| 广水市| 霍城县| 额济纳旗| 宜城市| 东阳市| 张家界市| 宜兴市| 伊川县|