يعكس ترتيب النقاط، بحيث يمتد الخط متعدد الأضلاع في الاتجاه الآخر.
تُعكس قائمة نقاط الخط متعدد الأضلاع المعطى نفسها في مكانها وتُعاد داخل كائن خط متعدد الأضلاع جديد. مثال: [[0,0,0], [1,0,0], [2,0,0]] -> [[2,0,0], [1,0,0], [0,0,0]]
الخط متعدد الأضلاع
خط متعدد الأضلاع بنقاط بترتيب معكوس
يقسم الخط متعدد الأضلاع إلى كائنات خطوط، واحد لكل قطعة، لكل منها نقطة بداية ونقطة نهاية.
يحصل الخط متعدد الأضلاع المغلق أيضاً على القطعة من نقطته الأخيرة عائدة إلى الأولى، ما لم تتطابق النقطتان. مثال: ثلاث نقاط -> خطان، أو ثلاثة عند الإغلاق
الخط متعدد الأضلاع
خط واحد لكل قطعة، بالترتيب
يقسم الخط متعدد الأضلاع إلى قطع، كل منها زوج من النقاط.
يحصل الخط متعدد الأضلاع المغلق أيضاً على القطعة من نقطته الأخيرة عائدة إلى الأولى، ما لم تتطابق النقطتان. أقل من نقطتين لا تعطي أي قطع. مثال: أربع نقاط، مغلق -> أربع قطع حول الحلقة
الخط متعدد الأضلاع
زوج نقاط واحد لكل قطعة، بالترتيب
يبني كائن خط متعدد الأضلاع من نقاط، مفتوحاً أو مغلقاً.
مثال: ثلاث نقاط مع isClosed بقيمة true -> مثلث
النقاط وما إذا كانت الأخيرة تعود لتتصل بالأولى
كائن الخط متعدد الأضلاع
يجد أكبر تقويس لكل زاوية في الخط متعدد الأضلاع، كل منها محدود بالنصف الأقرب من قطعتيه بحيث لا تتداخل التقويسات أبداً.
يتضمن الخط متعدد الأضلاع المغلق الزاويتين عند طرفيه. أقل من ثلاث نقاط تعطي قائمة فارغة.
الخط متعدد الأضلاع والتفاوت
نصف قطر واحد لكل زاوية، بترتيب الزوايا
يجد نصف قطر تقويس واحداً يناسب كل زاوية في الخط متعدد الأضلاع: الأصغر من الحدود القصوى لكل زاوية وفق قاعدة نصف القطعة.
أقل من ثلاث نقاط، أو أي زاوية لا تسمح بأي تقويس، تعطي 0.
الخط متعدد الأضلاع والتفاوت
نصف القطر الذي يلائم كل زاوية، بوحدات النموذج
يقيس الخط متعدد الأضلاع بجمع المسافات المستقيمة بين النقاط المتجاورة.
لا تُحتسب قطعة الإغلاق في الخط متعدد الأضلاع المغلق. مثال: [[0,0,0], [3,0,0], [3,4,0]] -> 7
الخط متعدد الأضلاع
الطول بوحدات النموذج
يعدّ نقاط الخط متعدد الأضلاع.
مثال: ثلاث نقاط -> 3
الخط متعدد الأضلاع
عدد النقاط
يقرأ قائمة النقاط من الخط متعدد الأضلاع.
مثال: { points: [[0,0,0], [1,0,0]] } -> [[0,0,0], [1,0,0]]
الخط متعدد الأضلاع
نقاطه، بالترتيب
يجد النقاط التي يتقاطع عندها خطان متعددا الأضلاع، باختبار كل قطعة من أحدهما ضد كل قطعة من الآخر.
التقاطعات الأقرب إلى بعضها من التفاوت يُبلّغ عنها مرة واحدة. مثال: خطان متعددا الأضلاع يشكلان حرف X -> النقطة في المنتصف
الخطان متعددا الأضلاع والتفاوت
نقاط التقاطع؛ فارغة عندما لا توجد
يجد النقاط التي يتقاطع عندها الخط متعدد الأضلاع مع نفسه.
لا تُختبر القطع المتجاورة ضد بعضها، والتقاطعات الأقرب إلى بعضها من التفاوت يُبلّغ عنها مرة واحدة. مثال: شكل الرقم ثمانية -> نقطة تقاطعه الوحيدة
الخط متعدد الأضلاع والتفاوت
نقاط التقاطع؛ فارغة عندما لا توجد
يصل القطع المتفرقة في خطوط متعددة الأضلاع بمطابقة الأطراف التي تلتقي ضمن التفاوت.
القطع المتصلة طرفاً بطرف تصبح خطاً متعدد الأضلاع واحداً لكل سلسلة؛ والقطع التي لا تلامس شيئاً تصبح خطوطاً متعددة الأضلاع من قطعة واحدة. مثال: عشر قطع متناثرة تشكل سلسلتين -> خطان متعددا الأضلاع
القطع والتفاوت الذي يُعد عنده طرفان متلامسين
الخطوط متعددة الأضلاع التي تشكلها القطع
يطبّق مصفوفة تحويل، أو قائمة منها بالترتيب، على كل نقطة في الخط متعدد الأضلاع.
مثال: نقل بمقدار [5,0,0] -> تُنقل كل نقطة بمقدار 5 على طول X
الخط متعدد الأضلاع والتحويل
خط متعدد الأضلاع جديد بالنقاط المحوّلة
الخطوط متعددة الأضلاع: سلاسل من القطع المستقيمة عبر قائمة من النقاط، محفوظة ككائنات بسيطة بالصيغة
{ points, isClosed }. يصل الخط متعدد الأضلاع المغلق نقطته الأخيرة بالأولى. تقيس الدوال هنا الخط متعدد الأضلاع، وتحوله إلى قطع أو خطوط، وتجد أين تتقاطع الخطوط متعددة الأضلاع، وترتب القطع المنفصلة في سلاسل، وتحدد أحجام التقويسات لزواياه. الأطوال بوحدات النموذج.