PDA

View Full Version : سوال: الگوریتم برخورد دو دایره با هم چگونه است؟



minashokri
یک شنبه 17 خرداد 1388, 11:14 صبح
سلام دوستان عزیز خواهش می کنم به داد من برسید
من با C# برنامه ای نوشتم که چند تا دایره در صفحه حرکت می کنند اما الگوریتم تشخیص برخورد آنها را نمی دانم می توانید کمکم کنید البته برنامه را با کلاس نوشتم
من باید فردا پروژه را تحویل بدهم به فریاد من برسید

حامد مصافی
یک شنبه 17 خرداد 1388, 12:04 عصر
فرض:
r1 : شعاع دایره اول
x1, y1 : مختصات مرکز دایره اول
r2 : شعاع دایره دوم
x2, y2 : مختصات مرکز دایره دوم

حال با استفاده از فرمول زیر می توانید فاصله مرکز دو دایره را به دست بیاورید:

dist = math.sqrt( math.pow(x1-x1, 2) + math.pow(y1-y2, 2));بدیهیست که برخورد وقتی رخ می دهد که فاصله کمتر یا برابر با مجموع شعاع دو دایره باشد:

if (dist <= r1 + r2)
{
//crashhhhhhhh.....
}//if