حاسبة مساحة المضلع غير المنتظم
أدخل الرؤوس بترتيب المحيط واحصل على مساحة الشكل: الشكل على هيئة حرف L برؤوسه (0, 0) و(6, 0) و(6, 2) و(3, 5) و(0, 2) مساحته 21 وحدة مربعة. يُغلق الشكل تلقائيًا، ويصلح أي اتجاه للدوران. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم
تحسب هذه الأداة مساحة مضلع غير منتظم من قائمة مرتبة من إحداثيات الرؤوس باستخدام صيغة الحذاء الكلاسيكية، المعروفة أيضًا بصيغة المساحة. تزوّد الأداة بالرؤوس على شكل أزواج [x, y] أو كائنات {x, y} بترتيب المحيط، مع عقارب الساعة أو عكسها؛ ويغلق المحرك الحلقة نيابة عنك إذا لم تُكرَّر النقطة الأولى في النهاية، ويحذف التكرار بهدوء عندما تكون قد أغلقتها مسبقًا. الناتج مساحة واحدة مطلقة القيمة، معبَّرة بمربع وحدة إحداثياتك، فالأمتار تعطي أمتارًا مربعة والأقدام تعطي أقدامًا مربعة. استخدمها لمسودات القطع الأرضية، وفحص مخططات الطوابق، وواجبات المناطق المضلعة، وتجهيزات CI التي تحتاج مساحة قابلة للتكرار من رؤوس معلومة.
ماذا تفعل صيغة الحذاء ولماذا يهم ترتيب الرؤوس
المضلع البسيط سلسلة مغلقة من أضلاع مستقيمة لا تتقاطع مع نفسها، ويمكن استخلاص مساحته من تتابع إحداثيات الرؤوس وحدها، دون تثليث الداخل أو تحويله إلى شبكة نقطية أو سحب نقاط عشوائية. تضرب صيغة الحذاء إحداثية x لكل رأس بإحداثية y للرأس التالي، وتطرح حاصل الضرب التبادلي في الاتجاه المعاكس، وتجمع المساهمات المؤشرة حول الحلقة، وتنصّف القيمة المطلقة وتعلنها مساحة. ويعود الاسم إلى نمط التقاطع الذي ترسمه عمليات الضرب عند كتابة الإحداثيات في عمودين، كرباط الحذاء.
ولأن المجموع مؤشر، تُنتج الحلقة مع عقارب الساعة معكوس عكسها إشارةً؛ وتأخذ هذه الأداة القيمة المطلقة فيعطي الاتجاهان المساحة الموجبة نفسها. الشيء الوحيد الذي لا تغفره الصيغة هو الفوضى: يجب أن تتبع الرؤوس المحيط بالتسلسل، مع عقارب الساعة أو عكسها. فالقائمة المبعثرة من النقاط نفسها تصف سلسلة ذاتية التقاطع لا يمثل مجموعها بالحذاء المساحة المقصودة، ولا سبيل للأداة إلى تخمين الترتيب الصحيح.
فإن جاءت نقاطك من مسح أو أثر GPS، فرتّبها أو تتبّعها على المحيط أولًا. ويجوز أن يكون كل عنصر مصفوفة من رقمين [x, y] أو كائنًا بمفتاحي x وy؛ كما تُتعرف lon وlng وlongitude وlat وlatitude للحمولات بأسلوب GIS.
شكل الإدخال وإغلاق الحلقة وسلوك الأخطاء
تُغلق كثير من صيغ الهندسة حلقة المضلع بتكرار الرأس الأول في النهاية؛ فإن زودت قائمة كهذه، يكتشف المحرك التكرار الأخير ويحذفه قبل العد، فيُعامل مستطيل مغلق من أربع نقاط مُمرَّرًا في خمسة إدخالات بوصفه أربعة رؤوس. والاصطلاح المعاكس صحيح أيضًا: ترك الحلقة مفتوحة هو الوضع الافتراضي المتوقع، ولا ينبغي إضافة شيء لإغلاقها. بعد هذا التطبيع يجب ألا يقل عدد الرؤوس عن ثلاثة.
الأخطاء حتمية ولا تُحتسب: فالطلب الفاشل لا يستهلك رصيدًا أبدًا. وتُقرَّب المساحة الرقمية إلى عشر خانات عشرية كي تُقارن التجهيزات ومفاتيح التخزين المؤقت بايتًا ببايت عبر الأجهزة، متجنبةً الفخ المعروف حيث يُطبع 0.1 + 0.2 بشكل مختلف على معالجين.
الوحدات ومثال محلول ومتى تستخدم هذه الأداة
صيغة الحذاء محايدة تجاه الوحدات: أيًّا كانت وحدة إحداثياتك، تكون المساحة المعادة بمربع تلك الوحدة. فالإحداثيات بالأمتار تعطي أمتارًا مربعة، والأقدام تعطي أقدامًا مربعة، وإحداثيات المخططات بلا وحدة تعطي وحدات مربعة. لا تحوّل الأداة الوحدات نيابة عنك؛ فإن خلطت رؤوسك بين أمتار وأقدام، حوّل أولًا بأداة تحويل ثم قِس.
ويوضح مثال محلول الآلية: خذ المضلع على شكل حرف L برؤوسه [0, 0] و[6, 0] و[6, 2] و[3, 5] و[0, 2]. بإقران كل رأس بالتالي وردّ الأخير إلى الأول، تكون نواتج الضرب الأمامية 0 و12 و30 و6 و0 بمجموع 48، بينما الخلفية 0 و0 و6 و0 و0 بمجموع 6؛ والفرق 42 ونصف قيمته المطلقة 21، فالمساحة 21 وحدة مربعة تمامًا.
الجأ إلى هذه الأداة كلما كنت تملك محيطًا لا معادلة: قطع الأراضي المرسومة من مسح، والغرف المقاسة ركنًا ركنًا، وبصمات المسح الليزري المختزلة إلى مضلعات، وخرائط الألعاب، وواجبات الهندسة كلها مناسبة. لا تستخدمها للأشكال ذاتية التقاطع كنجمة مرسومة سلسلة واحدة، لأن مجموع الحذاء يطرح حينها الفصوص المتداخلة عمدًا؛ بل قسّم الشكل إلى أجزاء بسيطة واجمع مساحاتها. وللدوائر والأقواس الدائرية يتقارب تقريب المضلع سريعًا، لكن حاسبة دائرة أو قطاع مخصصة هي الأداة الدقيقة.
الأسئلة الشائعة
ما المضلع غير المنتظم؟
أي مضلع ليست أضلاعه وزواياه متساوية جميعها. وتتعامل صيغة الحذاء مع المضلعات البسيطة المنتظمة وغير المنتظمة على السواء، ما دام المحيط لا يتقاطع مع نفسه.
هل أحتاج إلى تكرار الرأس الأول في النهاية؟
لا. تُغلق الحلقة تلقائيًا. وإن كررته، يُكتشف التكرار ويُحذف قبل فحص عدد الرؤوس.
هل يهم ترتيب الرؤوس؟
نعم. يجب أن تتبع الرؤوس المحيط بالتسلسل، مع عقارب الساعة أو عكسها. يعطي الاتجاهان المساحة الموجبة نفسها، لكن القائمة المبعثرة لا تصف مضلعك.
بأي وحدة تكون المساحة؟
بمربع وحدة إحداثياتك: أدخل أمتارًا تخرج أمتارًا مربعة. لا تجري الأداة أي تحويل وحدات، فحوّل المدخلات المختلطة أولًا.
كيف تعمل صيغة الحذاء؟
تضرب الإحداثي x لكل رأس في الإحداثي y للرأس التالي، ثم تطرح حواصل الضرب في الاتجاه المعاكس، وتجمع كل ذلك حول المحيط، وتأخذ نصف القيمة المطلقة. وجاء الاسم من النمط المتقاطع لهذه الضربات الذي يشبه رباط الحذاء.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/math/irregular-polygon-area \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vertices":[[0,0],[6,0],[6,2],[3,5],[0,2]]}'const res = await fetch("https://api.kit.forhosting.com/math/irregular-polygon-area", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vertices": [
[
0,
0
],
[
6,
0
],
[
6,
2
],
[
3,
5
],
[
0,
2
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/irregular-polygon-area",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vertices": [
[
0,
0
],
[
6,
0
],
[
6,
2
],
[
3,
5
],
[
0,
2
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/irregular-polygon-area", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vertices":[[0,0],[6,0],[6,2],[3,5],[0,2]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vertices":[[0,0],[6,0],[6,2],[3,5],[0,2]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/irregular-polygon-area", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"vertices": [
[
0,
0
],
[
6,
0
],
[
6,
2
],
[
3,
5
],
[
0,
2
]
]
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.irregular_polygon_area",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
وعندما يبقى أقل من ثلاثة رؤوس بعد التطبيع، أو تكون أي إحداثية مفقودة أو غير منتهية، تعيد الأداة خطأ invalid_input بدلًا من صفر صامت أو NaN. الحساب رياضيات تحليلية خالصة: لا طلب شبكة، ولا عينات عشوائية، ونفس مسار الفاصلة العائمة في أداة المتصفح المجانية وفي واجهة API المدفوعة. عبر API تكلف الطلب الناجح $0.002؛ أما إخفاقات التحقق فلا تُحتسب.
ماذا تفعل صيغة الحذاء ولماذا يهم ترتيب الرؤوس
الإدخال المفضل هو حقل المصفوفة vertices؛ وتُقبل الأسماء البديلة points وpolygon وcoords لنداءات النماذج وجداول البيانات.
شكل الإدخال وإغلاق الحلقة وسلوك الأخطاء
جسم الطلب كائن JSON بحقل واحد إلزامي: vertices، وهي مصفوفة مرتبة من ثلاث نقاط على الأقل. يجوز تمرير النقاط كمصفوفات مثل [3, 4] أو ككائنات مثل {"x": 3, "y": 4}، ولا يجوز خلط الأسلوبين بشكل يترك رأسًا دون رقمين منتهيين تمامًا. فنقطتان تصفان قطعة مستقيمة لا مضلعًا، ونقطة واحدة لا تصف شيئًا قابلًا للقياس، وكلاهما يُثير خطأ invalid_input تُبين رسالته أن المضلع غير المنتظم يحتاج ثلاثة رؤوس على الأقل. ويغطي رمز الخطأ نفسه حقل vertices المفقود، والحمولة غير المصفوفية، والرأس ذي الإحداثية الواحدة، والقيم غير المنتهية مثل NaN أو Infinity الناتجة عن تحويل سابق من نص إلى رقم.
الوحدات ومثال محلول ومتى تستخدم هذه الأداة
كل نداء API ناجح يكلف $0.002، والحساب نفسه يعمل مجانًا في أداة المتصفح.
حالات التكامل
أسئلة تقنية
ماذا يحدث إن مررت أقل من ثلاثة رؤوس؟
تعيد الأداة خطأ invalid_input يفيد بأن المضلع غير المنتظم يحتاج ثلاثة رؤوس على الأقل. ولا تُحتسب إخفاقات التحقق أبدًا.
كم تكلفة نداء API؟
يكلف الطلب الناجح $0.002. ويعمل الحساب نفسه مجانًا في أداة المتصفح، ولا تُفوتر عمليات التحقق الفاشلة.