نفرض أن لدي دائرتان وهما c1 و c2 ولدي كل واحدة إحداثيات هم x, y, z في حالة ثلاثي الأبعاد ... و x,y في حالة ثنائي الأبعاد ..
r1 يمثل نصف القطر لي c1
r2 يمثل نصف القطر لي c2
===========
فستكون لدي المعادلة الخاصة بالتصادم هي
===========
نقوم أولاً بطرح الـ vectors للدائرتان وهما c2 – c1 ونضع النتيجة بي الـ vector المسي u .. ومن ثم نحسب الـ Normalization له ... لعمل خط مستقيم بين الجسمين ...
وبواسطة جمع أنصاف الأقطار .. نستطيع معرفة هل الدائرنات تقاطعا .. إم لا
كود:
Vector3 Vector3::operator-(Vector3& rhs)
{
//step 1
Vector3 u;
u.mX = mX - rhs.mX;
u.mY = mY - rhs.mY;
u.mZ = mZ - rhs.mZ;
//step 2
sqrtf(uX*uX + uY*uY + uZ*uZ);;
//step 3
float len;
mX /= len;
mY /= len;
mZ /= len;
return u;
}