Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การตรวจจับการชนของวงกลมบน HTML5 Canvas


หากต้องการตรวจสอบว่าวงกลมชนกันหรือไม่ วิธีหนึ่งคือหาระยะห่างระหว่างศูนย์กลางสองวงกลม และลบรัศมีของแต่ละวงกลมออกจากระยะห่างนั้น

เราตรวจสอบว่าระยะห่างมากกว่า 1 หรือไม่ หากต้องการตรวจสอบ 20 วงกลม ต้องคำนวณความแตกต่างของระยะห่างที่แน่นอน ตำแหน่ง x/y ของศูนย์กลางเทียบกับรัศมี

abs(x2 - x1) > (r2 + r1)
abs(y2 - y1) > (r2 + r1)

วงกลมไม่สามารถชนกันได้ หากระยะห่างใน X หรือ Y ระหว่างศูนย์กลางวงกลม มากกว่าผลรวมของรัศมี