حاسبة الزاوية الصغرى بين اتجاهين بالبوصلة
تحسب هذه الأداة أصغر زاوية فاصلة بين أي اتجاهين بالبوصلة. أدخل الاتجاهين بالدرجات، فتقوم الأداة بتوحيد كل اتجاه قبل المقارنة، ولذلك تقبل أيضا القيم الواقعة خارج المجال المعتاد من صفر إلى 360 درجة. تكون النتيجة دائما زاوية مطلقة من صفر إلى 180 درجة. وبهذا تعالج الأداة عبور الشمال بصورة صحيحة؛ فالمسافة بين 350 درجة و10 درجات هي 20 درجة فقط، وليست 340 درجة.
شغّل الأداة مجانًا
كيفية إدخال اتجاهين وفهم النتيجة
أدخل الاتجاه الأول والاتجاه الثاني كعددين مقاسين بالدرجات مع عقارب الساعة ابتداء من الشمال. يشير الاتجاه 0 درجة إلى الشمال، و90 إلى الشرق، و180 إلى الجنوب، و270 إلى الغرب. تقبل الأداة القيم العشرية، وهو أمر مفيد عندما يقدم جهاز ملاحة أو حساب آخر مسارا بدقة أعلى من الدرجة الصحيحة. ويمكن كذلك إدخال قيم سالبة أو أكبر من 360، لأن الحاسبة ترد كل قيمة إلى الاتجاه المكافئ لها ضمن دورة كاملة. فعلى سبيل المثال، تمثل -10 درجات الاتجاه نفسه الذي تمثله 350 درجة، بينما تمثل 725 درجة الاتجاه نفسه الذي تمثله 5 درجات. الزاوية الناتجة مسافة مطلقة، لذلك لا يؤدي تبديل ترتيب الاتجاهين إلى تغيير الجواب. تعني نتيجة 0 درجة أن القيمتين تشيران إلى الاتجاه نفسه، وتعني 180 درجة أنهما متعاكستان تماما. أما أي نتيجة أخرى فتمثل أقصر دوران بينهما، من دون تحديده بأنه إلى الميسرة أو الميمنة، أو اليسار أو اليمين، أو مع عقارب الساعة أو عكسها.
لماذا قد يعطي الطرح العادي زاوية خاطئة
تقع اتجاهات البوصلة على دائرة تلتقي نهايتا مقياسها العددي؛ فكل من 0 درجة و360 درجة يمثل الشمال. لذلك يتجاهل طرح اتجاه من الآخر مباشرة هذا الحد الدائري. إذا كان الاتجاهان 350 و10 درجات، يعطي الطرح المباشر فرقا مطلقا قدره 340 درجة، مع أن المسافة الفعلية بينهما عبر الشمال لا تتجاوز 20 درجة. ترد الحاسبة أولا كلا المدخلين إلى المجال الذي يبدأ من 0 وينتهي قبل 360 مباشرة، ثم تحسب الفرق المباشر المطلق. فإذا تجاوز هذا الفرق 180، تستخدم الجزء المكمل من الدائرة، أي 360 ناقص الفرق المباشر. تضمن هذه الطريقة الحصول على أصغر زاوية ممكنة، وتحصر الجواب في 180 درجة كحد أقصى. كما تعالج الدورات المتكافئة باستمرار؛ فالقيمتان 10 و370 درجة تعطيان صفرا، بينما تعطي -90 و90 درجة نتيجة 180. ولا تحتاج العملية إلى تقريب مثلثي، لذلك تنتج المدخلات المحدودة بالدرجات نتيجة حتمية مناسبة للحسابات القابلة للتكرار والاختبارات الآلية.
استخدام النتيجة في الملاحة والتخطيط
تفيد أصغر زاوية عندما يكون مقدار تغير الاتجاه أهم من إشارته. يمكن للملاح مقارنة المسار المخطط له باتجاه مبلّغ عنه، ويمكن للمسّاح التحقق من المسافة بين سمتي قياس، كما يمكن لمخطط المسار قياس حدة تغير الاتجاه. لكن النتيجة وحدها لا تحدد جهة الدوران. فإذا كان أحد الاتجاهين 20 درجة والآخر 300، كان أصغر فرق 80 درجة، إلا أن اختيار الدوران مع عقارب الساعة أو عكسها يتطلب قاعدة للإشارة ومعرفة الاتجاه الذي يمثل نقطة البداية. تتجنب الحاسبة هذا الالتباس عمدا، فلا تعيد إلا الحد الأدنى المطلق. وهي لا تراعي الانحراف المغناطيسي، أو انحراف البوصلة، أو الرياح، أو التيارات، أو هندسة الحركة على سطح الأرض. حوّل الرصدين إلى المرجع نفسه قبل المقارنة، كأن يكون كلاهما اتجاهين حقيقيين أو كلاهما مغناطيسيين. عند الاستخدام الآلي تبلغ تكلفة كل طلب $0.002، ويمكن إجراء الحساب الحتمي نفسه مجانا في المتصفح.
حالات الاستخدام
مقارنة الوجهة بالمسار المخطط
قس أصغر فرق بين اتجاه سفينة أو طائرة وبين الوجهة التي يفترض أن تتبعها.
التحقق من الفصل بين سمتين مساحيتين
حدد ما إذا كانت الزاوية بين اتجاهين مقاسين حادة أو قائمة أو منفرجة أو متقابلة، بما في ذلك عبور الشمال.
تقييم تغيرات الاتجاه في المسار
احسب مقدار الانعطاف بين اتجاهات متتالية من دون اعتبار حد الصفر التفافا كبيرا.
الأسئلة الشائعة
ما مجال النتيجة الممكن؟
تقع النتيجة دائما بين 0 و180 درجة، مع شمول الحدين.
هل يمكن إدخال اتجاهات سالبة أو قيما أكبر من 360 درجة؟
نعم. ترد كل قيمة محدودة إلى اتجاه البوصلة المكافئ لها قبل حساب الفرق.
لماذا لا تفصل بين 350 درجة و10 درجات إلا 20 درجة؟
يقع الاتجاهان على جانبي الشمال، حيث يعود المقياس من 360 إلى 0. ويبلغ طول المسار الأقصر عبر هذا الحد 20 درجة.
هل تحدد النتيجة الدوران إلى اليسار أم إلى اليمين؟
لا. إنها أصغر زاوية مطلقة. ويتطلب الدوران ذو الإشارة تحديد اتجاه البداية وقاعدة للدوران مع عقارب الساعة أو عكسها.
هل يمكن مقارنة اتجاه حقيقي باتجاه مغناطيسي؟
حوّلهما أولا إلى المرجع نفسه. لا تطبق الحاسبة الانحراف المغناطيسي أو انحراف البوصلة.
ما تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. أما الحساب في المتصفح فمجاني.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/trig/angle-between-bearings \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_bearing":350,"second_bearing":10}'const res = await fetch("https://api.kit.forhosting.com/trig/angle-between-bearings", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_bearing": 350,
"second_bearing": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/angle-between-bearings",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_bearing": 350,
"second_bearing": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/angle-between-bearings", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_bearing":350,"second_bearing":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_bearing":350,"second_bearing":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/angle-between-bearings", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"first_bearing": 350,
"second_bearing": 10
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.angle_between_bearings",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |