يحوّل قطعة، وهي الزوج [start, end]، إلى كائن خط.
مثال: [[0,0,0], [10,5,0]] -> { start: [0,0,0], end: [10,5,0] }
القطعة
الخط
يحوّل كل قطعة، وهي زوج [start, end]، إلى كائن خط.
مثال: ثلاث قطع -> ثلاثة خطوط، بالترتيب نفسه
القطع
خط واحد لكل قطعة
يبني كائن خط من نقطة بداية ونقطة نهاية.
مثال: البداية [0,0,0]، النهاية [10,5,0] -> { start: [0,0,0], end: [10,5,0] }
نقطتا البداية والنهاية
كائن الخط
يبني قطعة، وهي صيغة زوج النقاط للخط، من نقطة بداية ونقطة نهاية.
مثال: البداية [0,0,0]، النهاية [10,5,0] -> [[0,0,0], [10,5,0]]
نقطتا البداية والنهاية
القطعة بصيغة [start, end]
يصل كل نقطة بالتي تليها بخط، بحيث تصبح قائمة النقاط سلسلة من الخطوط.
مثال: [[0,0,0], [5,0,0], [5,5,0]] -> خطان، من [0,0,0] إلى [5,0,0] ومن [5,0,0] إلى [5,5,0]
النقاط، بالترتيب
خط واحد لكل زوج من النقاط المتجاورة
يقرن كل نقطة بداية بنقطة النهاية الواقعة في الموضع نفسه ويصلهما بخط.
الزوج الذي تتطابق نقطتاه لا يكوّن خطاً ويُستبعد. مثال: البدايات [[0,0,0], [5,0,0]] والنهايات [[0,5,0], [5,5,0]] -> خطان
نقاط البداية ونقاط النهاية، بترتيب متطابق
خط واحد لكل زوج، مع تخطي الأزواج التي طولها 0
يجد النقطة الواقعة عند كسر من الطريق على طول خط: 0 يعطي البداية، و 1 النهاية، و 0.5 المنتصف.
الكسر الخارج عن المدى من 0 إلى 1 يستمر إلى ما بعد الطرفين. مثال: { start: [0,0,0], end: [10,0,0] } عند 0.5 -> [5,0,0]
الخط والكسر على طوله
النقطة على الخط
يجد النقطة التي يتقاطع عندها خطان.
مع تفعيل checkSegmentsOnly، يجب أن يقع التقاطع ضمن القطعتين؛ وعند تعطيله، يمتد الخطان
بلا نهاية. الخطوط المتوازية، والخطوط التي تمر ببعضها دون أن تلتقي، والقطع
التي لا تصل إلى بعضها تعطي undefined. يحدد التفاوت مدى القرب الذي يُعدّ التقاءً.
مثال: من [0,0,0] إلى [10,0,0] ومن [5,-5,0] إلى [5,5,0] -> [5,0,0]
الخطان، وما إذا كان يبقى ضمن القطعتين، والتفاوت
نقطة التقاطع، أو undefined عندما لا توجد
يطبّق مصفوفة تحويل، أو قائمة منها بالترتيب، على طرفي خط.
مثال: { start: [0,0,0], end: [10,0,0] } منقولاً بمقدار [5,5,0] -> { start: [5,5,0], end: [15,5,0] }
الخط والتحويل
خط جديد بطرفين محوّلين
يطبّق تحويلاً مختلفاً على كل خط: التحويل الأول على الخط الأول، وهكذا.
مثال: ثلاثة خطوط مع ثلاث عمليات نقل -> يُنقل كل خط بعملية النقل الخاصة به
الخطوط وتحويل واحد لكل خط
الخطوط المحوّلة، بالترتيب نفسه
الخطوط المستقيمة بين نقطتين، محفوظة ككائنات بسيطة بالصيغة
{ start, end }، وصيغة القطعة[start, end]للشيء نفسه. تبني الدوال هنا الخطوط وتقيسها وتحولها، وتحول بين الصيغتين، وتضع نقاطا على طولها، وتجد أين يتقاطع خطان. الأطوال بوحدات النموذج.