PDA

View Full Version : سوال: تشخیص برخورد دو شکل



loads
سه شنبه 28 آبان 1387, 15:10 عصر
سلام دوستان
در برنامه زیر من دوتا مربع دارم (سیاه ، قرمز) حرکت مربع قرمز در یک مسیر خاص انجام میشه و حرکت مربع سیاه وابسته به مختصات موس هستش . حالا میخوام وقتی مربع سیاه از هر جهت ( حتی یه گوشه کوچیک اون ) به مربع قرمز برخورد کرد ، برنامه اونو تشخیص بده . چه راهی رو پیشنهاد میکنید ؟(بجز تشخیص رنگ)

shask00l
سه شنبه 28 آبان 1387, 19:16 عصر
ببین دوست جان

برای تشخیص هرنوع برخوردی از 1D و 2D و 3D بگیر تا nD باید از collition detection استفاده کنی . همین تکنیک هم صدها نوع الگوریتم زیرمجموعه داره . مثلا : چک کردن لحظه به لحظه مختصات اشیاء و طراحی یک تابع که بیاد اونارو 2 به 2 با هم مقایسه بکنه . این ساده ترین راهشه . یا اینکه از تغییر ماتریس طراحی صفحه استفاده کنی که البته برای استفاده از این روشها 1 خورده دیر شده چون خیلی وقته که منسوخ شدن . من 1 مقاله در مورد تشخیص برخورد سیلندری دارم . البته زیاد جدید نیست ولی اگه بتونی اجراش کنی کلی چیز یاد میگیری . پایه این الگوریتم 3بعدی هست ولی با کمی دست کاری میشه 2بعدی هم از توش در آورد .
موفق باشی

ضمنا بهتر بود این تاپیک رو توی بخش game میزدی . اونجا بیشتر به این قضیه مربوط میشه .
اگر هم من منظورت رو بد فهمیدم و هدفت کار دیگه ای بغیر از این بود ...... که هیچی .. :)

ali_habibi1384
چهارشنبه 29 آبان 1387, 16:47 عصر
خیلی راحته . فقط کافیه مدام left , top دو شکل رو با هم چک کنی. قبلا یه بازی هواپیما توی سایت گذاشته بودم که دقیقا همین کار توش انجام شده بود. تیرها باید به توپها می خوردند و توپها به هواپیما. جستجو کنید حتما به نتیجه می رسید.