Ball to Ball Collision - การตรวจจับและการจัดการ
ด้วยความช่วยเหลือของชุมชน Stack Overflow ฉันได้เขียนแบบจำลองทางฟิสิกส์พื้นฐาน แต่สนุก คุณคลิกและลากเมาส์เพื่อเปิดลูกบอล มันจะเด้งไปรอบ ๆ และในที่สุดก็หยุดที่ "พื้น" คุณสมบัติที่ยิ่งใหญ่ต่อไปของฉันที่ฉันต้องการเพิ่มคือการชนลูกบอล การเคลื่อนที่ของลูกบอลแตกออกเป็นขวานและเวกเตอร์ความเร็ว y ฉันมีแรงโน้มถ่วง (การลดลงของเวกเตอร์ y ในแต่ละขั้นตอน) ฉันมีแรงเสียดทาน (การลดลงเล็กน้อยของเวกเตอร์ทั้งสองแต่ละการชนกับผนัง) ลูกบอลเคลื่อนที่ไปรอบ ๆ อย่างสมจริงอย่างน่าประหลาด ฉันเดาคำถามของฉันมีสองส่วน: วิธีที่ดีที่สุดในการตรวจจับการชนกันของลูกบอลคืออะไร? ฉันแค่มีวง O (n ^ 2) ที่วนซ้ำลูกบอลแต่ละลูกแล้วตรวจสอบลูกบอลอื่น ๆ เพื่อดูว่ารัศมีนั้นทับกันหรือไม่? ฉันใช้สมการอะไรในการจัดการลูกบอลเพื่อชนลูก? ฟิสิกส์ 101 มันส่งผลต่อความเร็วของลูกบอลสองลูกที่ x / y เวกเตอร์อย่างไร ทิศทางของผลลัพธ์ที่ลูกบอลสองลูกมุ่งหน้าไปคืออะไร? ฉันจะใช้สิ่งนี้กับลูกบอลแต่ละลูกได้อย่างไร การจัดการการตรวจจับการชนของ "กำแพง" และการเปลี่ยนแปลงเวกเตอร์ที่เกิดขึ้นนั้นเป็นเรื่องง่าย แต่ฉันเห็นภาวะแทรกซ้อนมากขึ้นจากการชนกันของลูกกลม ด้วยกำแพงฉันต้องเอาค่าลบของเวกเตอร์ x หรือ y …