English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
تحليل طريقة حساب اتجاه السيارة في C#. مشاركة الجميع لأخذ الرأي، كما يلي:
1. السيناريو: إذا كان معروفًا نقاطي السفر للسيارة A (n1, e1) و B (e)، يمكن حساب اتجاه السفر للسيارة.
2. التحليل: كما هو موضح في الشكل، إذا كان معروفًا نقطتي A و B، يمكن افتراض نقطة C، مما يجعل الثلاث نقاط تشكل مثلثًا رأسه قائم. يمكن الآن معرفة GPS لأي نقاط A، B، C بسهولة لمعرفة طول الجوانب الثلاثة a، b، c. بناءً على معادلة الكوسين، يمكن حساب قيمة CosB=(a^2+c^2-b^2)/(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更多关于C#相关内容感兴趣的读者可查看本站专题:《C#字符串操作技巧总结》、《C#数组操作技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《WinForm控件用法总结》、《C#数据结构与算法教程》及《C#面向对象程序设计入门教程》
آمل أن يساعدك محتوى هذا المقال في تصميم برامج C# الخاصة بك.
إعلان: محتوى هذا المقال تم جمعه من الإنترنت، ويحق لصاحب الحقوق الأصلية أن يكون صاحب الملكية، ويتم جمع المحتوى من إسهامات المستخدمين عبر الإنترنت ويتم تحميله بشكل مستقل، ويشير هذا الموقع إلى أنه لا يملك حقوق الملكية، ولا يتم تعديل المحتوى بشكل يدوي، ولا يتحمل أي مسؤولية قانونية. إذا اكتشفت محتوى يشتبه في انتهاك حقوق النسخ، فالرجاء إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' ب '@') لتقديم الشكوى، وتقديم الأدلة ذات الصلة، وإذا تم التحقق من ذلك، سيتم حذف المحتوى المشبوه فوراً.