Trước hết, để tính toán phát hiện va chạm giữa một hình cầu (hình tròn trong 2D) và đường thẳng bạn cần tính toán vectơ vuông góc giữa tâm của quả bóng chuyển động và đường thẳng, để tính khoảng cách này bạn cần làm như sau:

Vì vậy, để tính d trong hình trên, chúng ta cần thực hiện một số bước.
- Giả sử đường của bạn đang sử dụng phương trình tham số P (t) = S + t V lưu ý rằng V là hướng đường có thể thu được bằng cách trừ (P2 - P1).
- Từ Pythagoras:
d ^ 2 = len ( Q - S ) ^ 2 - len (proj ( Q - S )) ^ 2
Sau đó, bạn mở rộng phương trình để có được những điều sau đây, có vẻ hơi phức tạp nhưng thực tế không phải vậy.
d = sqrt (len ( Q - S ) ^ 2 - len (( Q - S ) chấm V ) ^ 2 / V ^ 2)
Trong đó Q là tâm của đường tròn và S là bất kỳ điểm nào trên đường thẳng. Khi khoảng cách nhỏ hơn bán kính hình tròn / hình cầu, bạn cần kích hoạt phản ứng va chạm được giải thích ở điểm tiếp theo.
Không đúng khi luôn lật thành phần x hoặc y để nảy bóng, điều bạn cần làm là phản xạ vectơ vận tốc, để làm như vậy, bạn cần tính toán vectơ Bình thường của bề mặt và sử dụng bình thường đó để tính toán phản xạ vectơ sử dụng phương trình sau
R = 2 * ( V chấm N ) * N - V
Trong đó R là vectơ phản xạ, N là bình thường của bề mặt và V là vectơ Vận tốc.
Trong trường hợp 45 độ bề mặt bình thường của bạn sẽ là N = (1,1,0) với các dấu hiệu khác nhau tùy thuộc vào hướng nào của các mặt bình thường (vị trí hoặc âm).