اختبار الضربات
في برمجة رسومات الحاسوب، يُعرف اختبار النقر (أو اكتشاف النقر ، أو تحديد النقاط ، أو ترابط النقر [ 1 ] ) بأنه عملية تحديد ما إذا كان مؤشر يتحكم به المستخدم (مثل مؤشر الفأرة أو نقطة اللمس على شاشة اللمس) يتقاطع مع كائن رسومي معين (مثل شكل أو خط أو منحنى) مرسوم على الشاشة. ويمكن إجراء اختبار النقر على حركة أو تفعيل الفأرة أو أي جهاز تأشير آخر.
تستخدم بيئات واجهة المستخدم الرسومية اختبار النقر للاستجابة لإجراءات المستخدم، مثل تحديد عنصر قائمة أو هدف في لعبة بناءً على موقعه المرئي. في لغات برمجة الويب مثل HTML و SVG و CSS ، يرتبط هذا بمفهوم أحداث المؤشر (مثل تحريك المؤشر بواسطة المستخدم أو تحديد عنصر).
يُعد اكتشاف التصادم مفهومًا ذا صلة لاكتشاف تقاطعات كائنين رسوميين مختلفين أو أكثر، بدلاً من تقاطع المؤشر مع كائن رسومي واحد أو أكثر.
الخوارزمية
توجد العديد من الخوارزميات المختلفة التي يمكن استخدامها لإجراء اختبارات التصادم، وتختلف نتائجها من حيث الأداء والدقة. إحدى خوارزميات اختبار التصادم الشائعة هي تلك الخاصة بالمربعات المحيطة المحاذية للمحاور. الفكرة الأساسية هي أن المربع المراد اختباره يجب أن يكون إما أعلى المربع الحالي بالكامل، أو أسفله بالكامل، أو على يمينه بالكامل، أو على يساره بالكامل. إذا لم يكن ذلك ممكنًا، فهذا يعني وجود تصادم بينهما. يُعرض مثال على منطق هذه الخوارزمية في الشفرة الزائفة أدناه:
دالة HitTest ( مستطيل r1 ، مستطيل r2 ) تُرجع قيمة منطقية { تُرجع not (( r1 . X + r1 . Width < r2 . X ) or ( r1 . X > r2 . X + r2 . Width ) or ( r1 . Y + r1 . Height < r2 . Y ) or ( r1 . Y > r2 . Y + r2 . Height )); }في لغة بايثون :
دالة اختبار_الضرب ( r1 : مستطيل ، r2 : مستطيل ) - > منطقي : " " " إرجاع صحيح إذا اصطدمت ، وإلا إرجاع خطأ . " " " إرجاع ليس ( ( r1.x + r1.width < r2.x ) أو ( r1.x > r2.x + r2.width ) أو ( r1.y + r1.height < r2.y ) أو ( r1.y > r2.y + r2.height ) )انظر أيضاً
مراجع
- ↑ رسومات الحاسوب: المبادئ والممارسة، الطبعة الثانية بلغة C، فولي وآخرون، أديسون-ويسلي ، 1997.
روابط خارجية
- رسومات الحاسوب
- واجهات المستخدم
- تطوير ألعاب الفيديو
