حاسبة منتصف نقطتين بالإحداثيات القطبية
تحدد حاسبة منتصف الإحداثيات القطبية هذه النقطة الواقعة في المنتصف تمامًا بين موضعين معبّر عنهما بنصف قطر وزاوية.
شغّل الأداة مجانًا
تحوّل كل نقطة قطبية إلى إحداثيات ديكارتية، ثم تحسب متوسط الإحداثيين الأفقيين ومتوسط الإحداثيين الرأسيين، وبعد ذلك تعيد تحويل المتوسط إلى الصورة القطبية. تحصلون على التمثيلين معًا، مما يسهّل مراجعة النتيجة أو إعادة استخدامها. اختاروا الدرجات أو الراديان مرة واحدة للحساب كله، وستستخدم الزاوية الناتجة الوحدة نفسها.
أدخلوا نقطتين قطبيتين بوحدة زاوية واحدة
صفوا النقطة الأولى باستخدام radius_1 وangle_1، ثم صفوا النقطة الثانية باستخدام radius_2 وangle_2. يجب أن يكون نصفا القطر صفرًا أو موجبين، بينما يجوز أن تكون الزوايا موجبة أو سالبة أو أكبر من دورة كاملة. اختاروا الدرجات عندما تُقاس الزوايا على دائرة مقدارها 360 درجة، أو اختاروا الراديان عندما تُقاس على دائرة مقدارها 2π راديان. ينطبق الاختيار نفسه على المدخلين، وبذلك لا يحدث خلط ملتبس بين الوحدات. يعبّر نصف القطر القطبي عن المسافة من نقطة الأصل، ولذلك يُرفض نصف القطر السالب بدل إعادة تفسيره ضمنيًا مع تغيير الاتجاه بمقدار نصف دورة. أما الزوايا فتُقبل كما أُدخلت، لأن الدوال المثلثية تتعامل مع الزوايا المشتركة في ضلع النهاية بوصفها اتجاهًا واحدًا. فعلى سبيل المثال، تشير 30 درجة و390 درجة و-330 درجة إلى الشعاع نفسه. وإذا كان نصف قطر إحدى النقطتين صفرًا، فلن تؤثر زاويتها في موضعها، لكنها يجب أن تظل عددًا محدودًا كي يبقى عقد الإدخال واضحًا ومتوقعًا.
افهموا سبب ضرورة حساب المتوسط الديكارتي
يُستخرج المنتصف الهندسي بحساب متوسط المواضع، لا بحساب متوسط أنصاف الأقطار والزوايا القطبية كلٌّ على حدة. فالإحداثيات القطبية غير خطية: تعود الزوايا إلى البداية عند نهاية الدورة، كما أن تغيير نصف القطر يغيّر مقدار مساهمة الاتجاه في الموضع الفعلي. تطبق الحاسبة أولًا x = r cos θ وy = r sin θ على كل نقطة، ثم تحسب إحداثيي المنتصف وفق x = (x₁ + x₂) / 2 وy = (y₁ + y₂) / 2. وبعد هذا المتوسط الخطي فقط، تستعيد نصف قطر المنتصف بواسطة المسافة الفيثاغورية من نقطة الأصل، وتستخرج زاويته بواسطة دالة قوس الظل ذات الوسيطين. يظهر أثر هذا الفرق بوضوح قرب حد الزاوية. فنقطتان متساويتان في البعد عند 350 درجة و10 درجات يكون منتصفهما على المحور الأفقي الموجب، لا عند 180 درجة، رغم أن المتوسط الحسابي الساذج للزاويتين المكتوبتين يوحي بالاتجاه المعاكس. يحل التحويل الديكارتي التفاف الزوايا تلقائيًا، ويتعامل كذلك مع أنصاف الأقطار غير المتساوية بصورة صحيحة.
اقرؤوا النتيجة المطبّعة وأعيدوا استخدامها
تتضمن الاستجابة x وy للمنتصف الديكارتي، إضافة إلى radius وangle وangle_unit لصورته القطبية. تُطبّع الزاوية ضمن دورة كاملة غير سالبة: من الصفر إلى أقل من 360 في وضع الدرجات، أو من الصفر إلى أقل من 2π في وضع الراديان. يسهّل ذلك مقارنة النتائج حتى عندما تستخدم زوايا الإدخال تدوينًا سالبًا أو متعدد الدورات. عندما يقع المنتصف عند نقطة الأصل، يكون نصف قطره صفرًا ولا يوجد اتجاه هندسي محدد. تعيد الحاسبة زاوية مقدارها صفر وفق اصطلاح ثابت، لكي يبقى JSON محدودًا وحتميًا ومناسبًا للأنظمة اللاحقة. تُقرّب الحقول العددية إلى اثنتي عشرة منزلة عشرية لتقليل آثار الفاصلة العائمة غير المهمة مع الحفاظ على دقة نافعة لأعمال الهندسة المعتادة. وبما أن التمثيلين كليهما يُعادان، يمكنكم استخدام x وy مباشرة في رسم أو حساب متجهات، أو تمرير نصف القطر والزاوية إلى عملية قطبية أخرى من دون تكرار التحويل.
حالات الاستخدام
توسيط قياسين مرسومين
اعثروا على الموضع الديكارتي والقطبي الواقع في المنتصف بين قياسين شعاعيين ضمن مخطط.
التحقق من تمرين ملاحي
راجعوا حساب المنتصف عندما يُعطى موضعان مستويان على هيئة مسافتين واتجاهين من نقطة أصل واحدة.
إعداد إحداثيات الرسومات
احسبوا متوسط نقطتي تحكم قطبيتين واستخدموا قيمتي x وy الناتجتين في لوحة رسم أو مخطط أو مسار هندسي.
الأسئلة الشائعة
هل يمكن الجمع بين الدرجات والراديان في طلب واحد؟
لا. تنطبق قيمة angle_unit المحددة على زاويتي الإدخال وعلى الزاوية الناتجة. حوّلوا أحد المدخلين أولًا إذا كانت المصادر تستخدم وحدات مختلفة.
لماذا لا يُحسب متوسط نصفي القطر والزاويتين مباشرة؟
لا ينتج عن ذلك عادةً المنتصف الهندسي، لأن الإحداثيات القطبية غير خطية ولأن الزوايا تلتف عند اكتمال الدورة.
ماذا يحدث إذا كان المنتصف عند نقطة الأصل؟
يكون نصف القطر صفرًا والزاوية صفرًا. الزاوية هنا اصطلاح حتمي، لأن الاتجاه غير معرّف عند نقطة الأصل.
هل الزوايا السالبة مدعومة؟
نعم. تُقبل أي زاوية إدخال محدودة، وتُطبّع زاوية الإخراج ضمن دورة كاملة غير سالبة.
ما تكلفة عملية حساب عبر API؟
تبلغ تكلفة كل طلب $0.002. العملية حتمية ولا تستدعي أي خدمات خارجية.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/trig/polar-midpoint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"radius_1":4,"angle_1":30,"radius_2":6,"angle_2":150}'const res = await fetch("https://api.kit.forhosting.com/trig/polar-midpoint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"radius_1": 4,
"angle_1": 30,
"radius_2": 6,
"angle_2": 150
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/trig/polar-midpoint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"radius_1": 4,
"angle_1": 30,
"radius_2": 6,
"angle_2": 150
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/trig/polar-midpoint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"radius_1":4,"angle_1":30,"radius_2":6,"angle_2":150}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"radius_1":4,"angle_1":30,"radius_2":6,"angle_2":150}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/trig/polar-midpoint", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"radius_1": 4,
"angle_1": 30,
"radius_2": 6,
"angle_2": 150
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "trig.polar_midpoint",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |