<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های امید رسولی</title><link>https://virgool.ir/feed/@omid13</link><description></description><language>fa</language><pubDate>2026-11-11 08:33:14</pubDate><image><url>https://files.virgool.ir/upload/users/1389505/avatar/Q6bjZ1.jpg</url><title>امید رسولی</title><link>https://virgool.ir/@omid13</link></image><item><title>بات بازی بیلیارد رو چطوری پیاده سازی کردم؟!؟! (قسمت دوم)</title><link>https://virgool.ir/@omid13/بات-بازی-بیلیارد-دو-gxiircs7x6zn</link><description>اگر بار اول هست که اومدید این نوشته رو بخونید لطفا قسمت اول رو بخونید: https://virgool.io/@omid13/%D8%A8%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B2%DB%8C-%D8%A8%DB%8C%D9%84%DB%8C%D8%A7%D8%B1%D8%AF-%DB%8C%DA%A9-dmg67dfjza2a این بار قرار هست متغیر دقتی که گفته بودم رو توضیح بدمکار متغیر دقت این هست که مشخص کنه دهانه هر سوراخ چند نقطه قرار بدیم، برای اینکه میخوایم مسیر های مختلف رو چک کنیمحالا چرا اسمش رو گذاشتم دقت؟!عکس زیر رو نگاه کنید:سعی کردم جوری بکشم که همه چیز مشخص باشهنقطه L1 و L2 دهانه سوراخ هست که من متغیر رو عدد ۷ فرض کردم و باعث شده که نقاط P1 تا P7 بدست بیادبا این هفت نقطه میتونیم توپ سفید رو تو هفت مسیر مختلف تست کنیم (خطوط آبی)با توجه به شکل بالا میبینید که مسیر هایی که به سمت نقاط P1, P2 و P3 میرن با توپ شماره ۳ برخورد دارن لطفا به شکل زیر توجه کنید:حالا فرض کنید من دقت رو ۱۴ بذارم، میبینید که یه مسیر بین P3 و P4 پیدا میشه (نقطه Pe) اگر ما توپ سفید رو توی مسیر قرمز بفرستیم دیگه برخورد ندارهدلیل گذاشتن این اسم بخاطر این هست که تعداد مسیر بیشتری رو چک میکنه، لطفا تصویر زیر رو هم ببینید تا بهتر متوجه بشید:اگر قرار بود با دقت ۷ این مسیر رو چک کنیم به هیچ طریقی نمیتونستیم از بین این دو توپ حرکت کنیم چون تو همه مسیر ها با توپ ها برخورد میکردیم (سایه های صورتی)اما اگر دقت ۱۴ باشه مجبور میشیم مسیر  Pe رو چک کنیم و خب مسلما میتونیم از بین این دو توپ رد بشیم (سایه سبز)امیدوارم تونسته باشم به درستی مطلب رو بیان کنم قسمت های بعدی توضیح میدم که حرکت با توپ واسط و دو نوع حرکت دیواری چطوری محاسبه شد</description><category>امید رسولی</category><author>امید رسولی</author><pubDate>Mon, 13 Dec 2021 17:04:43 +0330</pubDate></item><item><title>بات بازی بیلیارد رو چطوری پیاده سازی کردم؟!؟! (قسمت اول)</title><link>https://virgool.ir/@omid13/بات-بازی-بیلیارد-یک-dmg67dfjza2a</link><description>امروز میخوام توضیح بدم موقعی که توی کافه بازار بازی بیلیارد رو میساختیم چطوری بات رو پیاده سازی کردم.باتی که من پیاده کردم به هیچ عنوان هوش مصنوعی حساب نمیشه ?فقط محاسبات هندسی داشت و یه مشت ایف و الس و یه سری ضریب خطا برا اینکه دقتش خیلی زیاد بود و مسلما باید خنگش میکردیم ?اول از همه بگم من مجبور شدم کلی سرچ کنم که حرکت توپ بعد از برخورد قراره چطوری باشه!خیلی ساده بود، بردار حرکتش میشه از مرکز توپ اول به سمت مرکز توپ دوم (لحظه برخورد)من از این عکس برای توضیحات استفاده میکنمخب من میخوام توپ سفید رو بفرستم به سمت توپ سبز و میخوام بدونم که جهت حرکت توپ سبز به کدوم سمتهکافیه لحظه برخورد بفهمیم توپ سفید کجاست و یک خط از مرکز توپ سفید به مرکز توپ سبز رسم کنیم (محاسبه کنیم) اون دقیقا میشه بردار حرکت توپ سبزعکس زیر رو نگاه کنید:توپ سفید تو جهت خط زرد حرکت میکنه ? هاله سفید داره لحظه برخورد توپ سفید رو نشون میده و بردار آبی اتصال بین دو مرکز توپ هست و با این حساب قراره توپ سبز روی بردار قرمز حرکت کنهبه همین سادگی میشه فهیمد توپ تو چه جهتی حرکت میکنه?حالا بیاید ببینیم سوراخ میز چیه اصلا? چطوری باید در نظر گرفتش?سوراخ برامون هیچ معنایی نداره?خب من هم اومدم مسئله رو از یه زاویه دیگه نگاه کردم، یعنی اومدم دهنه (دهانه) سوراخ رو دو تا نقطه گذاشتم و یه متغیری تعریف کردم به اسم دقت!?دقت رو جلوتر توضیح میدم که چرا اسمش شده دقت ?من اومدم دهنه سوراخ رو، یعنی بین اون دو نقطه به اندازه تعدادی (دقت) که تعریف کرده بودم نقطه گذاشتم! چرا این کار رو کردم؟ برا اینکه بتونم مسیر های مختلف رو بسازم ?راستش مسئله رو از انتها حل کردم یعنی گفتم اگر بخوام توپ رنگی به این نقطه برسه، توپ سفید تو چه جهتی حرکت کنه و برخورد کنه باهاش؟!حالا کافی بود از نقطه نهایی (صورتی) به مرکز توپ هدف محاسبه کنیم (خط آبی) و خط رو به اندازه دو شعاع توپ امتداد بدیم (خط سبز)، میشه محل قرارگیری توپ سفیدحالا کافیه توپ سفید روی خط زرد حرکت کنه، بعد از برخورد توپ سبز روی خط آبی حرکت میکنه و به نقطه ای که میخوایم میرسهخب فعلا تا همینجا داشته باشید تا بتونم توضیحاتم رو کامل کنم و مقاله های دیگه رو منتشر کنم ?قسمت دوم توضیحات: https://virgool.io/@omid13/%D8%A8%D8%A7%D8%AA-%D8%A8%D8%A7%D8%B2%DB%8C-%D8%A8%DB%8C%D9%84%DB%8C%D8%A7%D8%B1%D8%AF-%D8%AF%D9%88-gxiircs7x6zn </description><category>امید رسولی</category><author>امید رسولی</author><pubDate>Sat, 11 Dec 2021 21:32:40 +0330</pubDate></item></channel></rss>