מתמטיקה ווקטורית אתה יודע?
כששני עיגולים נפגשים, הישר בין המרכזים שלהם(הקו הירוק) עובר בנקודת ההשקה, ומקביל לישר המשיק לשני המעגלים בנקודת ההשקה(הקו הכתום). ניצור מערכת צירים חדשה - הציר האדום יהיה כיוון ההתנגשות, והציר הכחול יהיה המקביל להתנגשות. המהירות על הציר הכחול לא משתנה, מכיוון שכל הכוח מופעל על הציר האדום. טוב, דבר ראשון אנחנו צריכים לחשב את הצירים החדשים שלנו לפי הצירים הרגילים. נקרא לציר האדום R ולציר הכחול B. לווקטור בין מרכזי הכדורים נקרא G, ואותו אתה אמור לדעת לחשב - מרכז כדור אחד פחות מרכז הכדור השני. R הוא ווקטור יחידה של G - כלומר הכיוון של R והכיוון של G זה אותו כיוון, פשוט האורך של R חייב להיות אחד - מה שאומר שצריך לנרמל את G:
dG=sqrt(Gx^2+Gy^2) Rx=Gx/dG Ry=Gy/dG
B הוא האנך של R, לכן משתמשים בנוסחת האנך:
Bx=-Ry By=Rx
עכשיו כשיש לנו את הצירים, אנחנו צריכים לחשב את המהירות לפי אותם צירים. אם המהירות היא V, אז עושים מכפלה סקאלרית בינה לבין כל ציר:
Vr=Vx*Rx+Vy*Ry Vb=Vx*Bx+Vy*By
ככה עושים כמובן למהירויות של שני הכדורים. עכשיו, Vb נשאר ללא שינוי{בניגוד לVB שרק נעשתה גרועה עם השנים
}, בעוד שעל הVr של שני הכדורים אתה יכול לעשות חישוב התנגשות חד מימדי. כשאתה מסיים, אתה רוצה כמובן להחזיר את V למערכת הצירים הישנה של X וY. עושים את זה על ידי הכפלה פשוטה של כל רכיב של V בציר המתאים לו:
Vx=Vr*Rx+Vb*Bx Vy=Vr*Ry+Vb*By
וקיבלת את המהירות החדשה של כל כדור. קפיש?