ForHosting KIT · السفر والجغرافيا

اختبار تحدّب المضلّع

المستطيل (0، 0) و(4، 0) و(4، 3) و(0، 3) محدب: كل ركن ينعطف في الاتجاه نفسه، عكس عقارب الساعة. أما رأس السهم (0، 0) و(3، 1) و(0، 2) و(1، 1) فيخلط انعطافات يمينًا ويسارًا، لذا فهو مقعر. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

يجيب اختبار تحدّب المضلّع عن سؤال أساسي في الهندسة الحسابية: إذا أُعطي حلق مرتّب من الرؤوس الديكارتية، هل يبقى كل زاوية داخلية على الأكثر مئة وثمانين درجة بحيث لا ينخسف الشكل إلى الداخل؟ يحتاج المساحون الذين يتحققون من قطع المساحة، ومطوّرو الألعاب الذين يصمّمون أغلفة الاصطدام، وفرق نظم المعلومات الجغرافية التي تنظّف مضلّعات السياج الجغرافي، ومصدّرو CAD الذين يفرضون قيود التحدّب، وأدوات الصف التي تصحّح تمارين المضلّعات البسيطة إلى إجابة حتمية بنعم أو لا دون إقامة مكتبة هندسية كاملة. تقبل هذه القدرة قائمة مرتّبة من الرؤوس، وتدور مرة واحدة حول الحلق المغلق، وتقارن الجداء المتجهي الثنائي الأبعاد لكل زوج من الحواف المتتالية. عندما يشارك كل جداء متجهي غير صفري الإشارة نفسها، تسير كل انعطافة في الاتجاه نفسه ويكون المضلّع محدّباً؛ أمّا الإشارات المختلطة فتعني زاوية منعكسة واحدة على الأقل ويكون المضلّع مقعّراً. تشير الجداءات الصفرية إلى رؤوس على استقامة واحدة ويُسمح بها دون كسر التحدّب.

كيف تقرّر الجداءات المتجهية للحواف المتتالية التحدّب

رقّموا الرؤوس المرتبة من V صفر حتى V ن ناقص واحد وأغلقوا الحلق بمعاملة الحافة من آخر رأس إلى الأول على أنها موجودة حتى إن لم يُكرّر المستدعي نقطة البداية. عند كل رأس B مع السابق A واللاحق C شكّلوا المتجهين الخارجيين من A إلى B ومن B إلى C. جداءهما المتجهي الثنائي الأبعاد هو العددي z المساوي ل (B.x ناقص A.x) في (C.y ناقص B.y) ناقص (B.y ناقص A.y) في (C.x ناقص B.x).

إشارة z هي اتجاه الانعطاف عند B: موجبة لانعطاف يساري عندما يكون المستوى موجّهاً و y إلى الأعلى و x إلى اليمين (مسار عكس عقارب الساعة على الحدود)، وسالبة لانعطاف يميني (مسار مع عقارب الساعة)، وصفر عندما تكون A و B و C على استقامة واحدة. يكون المضلّع البسيط محدّباً إذا وفقط إذا شاركت كل انعطافة غير صفرية الإشارة نفسها، وهذا يعني أن كل زاوية داخلية على الأكثر مئة وثمانون درجة وأن الحدود لا تعكس حسّ دورانها أبداً.

الانعطافات الموجبة والسالبة المختلطة تثبت زاوية داخلية منعكسة في موضع ما من الحلق، فالمضلّع مقعّر. الخوارزمية O(n) صارمة في عدد الرؤوس بعد تمريرة تطبيع واحدة تسقط مكرراً ختامياً للنقطة الأولى عندما يكون المستدعي قد أغلق الحلق مسبقاً.

متى يفيد التحقق من التحدب

تستخدم خطوط الخرائط و GIS اختبار تحدّب المضلّع قبل خوارزميات تفترض دخلاً محدّباً — القصّ مقابل نافذة محدّبة، أو تفكيك مناطق معقّدة، أو مغذّيات حلول ترفض الرؤوس المنعكسة. تتحقق محركات الألعاب والمحاكاة من شبكات اصطدام صمّمها المصمّمون حتى لا يكسر انخساف واحد لاحقاً فرضيات محاور الفصل أو GJK. يفرض مصدّرو CAD والتصنيع قيود التحدّب على الفراغات ومضلّعات الدعم قبل إرسال الهندسة إلى قاطع.

تصحّح المنصات التعليمية بنود «هل هذا المضلّع محدّب؟» بوحي حتمي يعامل رؤوس منتصف الحافة على الاستقامة باتساق بدل الاعتماد على العين. تستفيد مواقع المحتوى التي تتصدر نتائج «اختبار تحدّب المضلّع» من أداة حيّة يطابق مسارها المجاني في المتصفح مسار الأتمتة المدفوع بايتاً ببايت على الوحدة النقية نفسها.

التحقق الفاشل لا يستهلك الرصيد.

التحقق من السياج الجغرافي والقطع في GIS

ارفضوا أو علّموا حلقات المساحة والسياج الجغرافي المقعّرة قبل خطوط تفترض مضلّعات محدّبة للقصّ أو المنطقة العازلة أو حساب المساحة.

فحوص أغلفة الاصطدام في الألعاب

تحققوا من مضلّعات اصطدام ثنائية الأبعاد صمّمها المصمّمون حتى لا تستقبل خوارزميات الاصطدام المعتمدة على التحدّب غلافاً مقعّراً وقت التشغيل.

التصحيح الآلي في الصف والامتحانات

صحّحوا بنود «هل هذا المضلّع محدّب؟» بوحي حتمي للجداء المتجهي يتوافق مع تعريفات اتجاه الانعطاف في الكتب الدراسية.

كيف تختبرون إن كان المضلّع محدّباً؟

أرسلوا رؤوساً مرتّبة كأزواج {x, y} أو [x, y] (ثلاثة على الأقل).

ماذا إن كانت بعض الرؤوس المتتالية على استقامة واحدة؟

يُسمح بالجداءات المتجهية الصفرية. نقاط منتصف الحافة على الاستقامة لا تكسر التحدّب وحدها؛ فقط الانعطافات المختلطة يساراً ويميناً تعلّم مضلّعاً مقعّراً.

هل يهم ترتيب الرؤوس (مع عقارب الساعة أم عكسها)؟

أي توجيه متسق مقبول. تبلّغ الاستجابة orientation ك clockwise أو counterclockwise عند التحدّب، و mixed عندما تختلف الانعطافات.

ماذا يحدث بأقل من ثلاثة رؤوس؟

يحتاج اختبار تحدّب المضلّع إلى ثلاثة رؤوس على الأقل؛ والإدخال غير الصالح لا يُفوتر.

ماذا تخبرني النتيجة غير نعم أو لا؟

تبين اتجاه دوران الحلقة: عكس عقارب الساعة، أو مع عقارب الساعة، أو مختلط في الشكل المقعر، أو على استقامة واحدة عندما تقع النقاط كلها على خط. وتعدّ أيضًا الانعطافات الفعلية والرؤوس التي يستمر عندها الحد مستقيمًا.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/geo/polygon-is-convex

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/geo/polygon-is-convex \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vertices":[{"x":0,"y":0},{"x":4,"y":0},{"x":4,"y":3},{"x":0,"y":3}]}'
{
  "vertices": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 4,
      "y": 0
    },
    {
      "x": 4,
      "y": 3
    },
    {
      "x": 0,
      "y": 3
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.polygon_is_convex",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

يشغّل الوحدة التحليلية النقية نفسها أداة المتصفح المجانية ومسار API المدفوع مسبقاً، فلا تختلف نتائج تصحيح الواجبات وخطوط الإنتاج بين مربع ومخمّس على شكل سهم.

كيف تقرّر الجداءات المتجهية للحواف المتتالية التحدّب

عندما يكون كل جداء متجهي صفراً تقع الرؤوس على خط واحد؛ لا مساحة للشكل ويبلّغ هذا الطرف is_convex false مع orientation collinear بدل اختراع غلاف محدّب.

عقد الإدخال وشكل الاستجابة وسلوك الخطأ

قد تكون كل نقطة كائناً بإحداثيي x و y منتهيين (أو اسمي lon و lat البديلين) أو مصفوفة عنصرين [x, y]. يُحذف تلقائياً رأس ختامي مطابق للأول، فتعمل الحلقات المغلقة بأسلوب GeoJSON والقوائم المفتوحة الصفّية معاً. مثال: المربع (0,0) و (4,0) و (4,3) و (0,3) محدّب بتوجيه عكس عقارب الساعة. اقرنوا القيمة المنطقية برمز رسمكم إن احتجتم مخطّطاً؛ يصنّف هذا الطرف التحدّب فقط ولا يصدر رسوماً ولا أغلفة ولا تثليثاً. أرسلوا بهيئة POST جسماً JSON مع حقل إلزامي واحد: vertices، مصفوفة مرتّبة من ثلاث نقاط على الأقل. تُقبل الأسماء البديلة points و polygon و coords بنفس المعنى حتى تدخل حمولات GIS القائمة دون إعادة تسمية. أقل من ثلاثة رؤوس بعد ذلك التطبيع، أو حمولات ليست مصفوفات، أو إحداثيات ناقصة، أو أعداد غير منتهية تفشل ب invalid_input ولا تُفوتر. عند النجاح يشمل الجسم is_convex كقيمة منطقية؛ و n كعدد الرؤوس بعد التطبيع؛ و orientation بقيم counterclockwise أو clockwise أو mixed أو collinear؛ و turn_count لعدد الانعطافات غير الصفرية؛ و zero_turns لعدد المواضع على الاستقامة؛ وسلسلة formula تعيد صياغة هوية الجداء المتجهي؛ و vertices مكرّرة ككائنات {x, y} بترتيب الحلق. السهم المقعّر (0,0) و (3,1) و (0,2) و (1,1) يخلط إشارات الانعطاف ويعيد is_convex false.

أين تُثبت واجهة API لتحدّب المضلّع قيمتها

لأن التنفيذ parse من المستوى A خالص، يكلّف كل استدعاء ناجح السعر الأساسي المنشور $0.002 بلا رموز نموذج وبلا شبكة صادرة. حافظوا على حلقات معتدلة، وثبّتوا is_convex و orientation في الاختبارات، فتحصلون على تسميات تحدّب قابلة لإعادة الإنتاج للأسوار الجغرافية وفحوص الصف وعُمّال الحافة دون شحن حزمة هندسة حسابية كاملة خاصة بكم.

كم يكلّف اختبار تحدّب المضلّع؟

أداة المتصفح مجانية. تستخدم طلبات API رصيد KIT المدفوع مسبقاً ب $0.002 لكل استدعاء ناجح؛ والإدخال غير الصالح لا يُفوتر.

اطّلع على توثيق KIT الكامل ←