<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های mohmehdi</title><link>https://virgool.ir/feed/@mohmehdi</link><description>https://itch.io/profile/mohmehdi</description><language>fa</language><pubDate>2026-11-12 04:45:14</pubDate><image><url>https://files.virgool.ir/upload/users/69546/avatar/QGAQcZ.png</url><title>mohmehdi</title><link>https://virgool.ir/@mohmehdi</link></image><item><title>Inside the mind of a sniper</title><link>https://virgool.ir/@mohmehdi/inside-the-mind-of-a-sniper-omlrlu998tlz</link><description>داخل مغز یه اسنایپر چه اتفاقی میافته !اگه یه سیستم شوتینگ داشته باشیم که تیر هاش در مدت زمان مسیر رو طی میکنن و بخایم یه هدف متحرک رو نشونه بگیریم ، همه میدونن که نباید دقیقا (روی) هدف نشونه گرفت و باید یه مقدار جلوترشو هدف بگیریم.(مثل یه اسنایپر که جلو تر از هدف رو نشونه میگیره)  (تو بعضی بازیا اینطور نیست چون در یه لحظه یه پرتو ارسال میشه و یا به هدف میخوره یا نه مثل کال اف ، یا سرعت تیر اگه خیلی زیاد باشه تقریبا شبیه یه پرتو میشه)اما اسنایپر آدمه!  پیاده سازیش برا کامپیوتر:MRI from a sniper brainهمه ی متغیر ها به غیر از s بردار هستناز نقطه p میخایم تیر ها رو که اندازه سرعتشون s هست اما جهتشو نمیدونیم چیز کنیم.نقطه q هدف هست که داره با سرعت v که اندازه v ثابت هست حرکت میکنه.نقطه برخورد که نمیدونیم کجاست رو اسمشو میزاریم h.نقطه h  کلید حل مساله هست چون ( البته کلید فاصله ی h تا p  هست خود h دسته کلیده)h = q + vtینی به صورت برداری نقطه h  میشه مختصات اولیه q + سرعت نقطه q در زماناگه طرفدار فیزیک نیستید مث من یا اگه تموجه نشدید مث من اینو بخونیدتو یه بعد اگه مکان اولیه 1 باشه و سرعت هم 1 باشه تو زمان 2 ما کجاییم؟             3تو دو بعد اگه مکان اولیه (0,0) باشه و سرعت (1,1) تو زمان 2 کجاییم؟                    (2،2)سه بعدشم یه ویرگول بیشتر داره ( همیشه ساده سازی و مثال بکنید البته این مورد زیادی بدیهی بود)خب حالا اندازه ی :p-hمیشه فاصله نقطه p تا h دیگه !این اندازه یه طور دیگم به دست میاد دقت کنید اندازه نه مختصات:( که ینی چقد از نقطه p  دور شدیم)stدر واقع یه دایره یا کره حول نقطه p در نظر بگیرید پوسته ی اون کره میشه تمام مختصات هایی که فاصلشون تا p  میشه st . نقطه مشترک این کره و مسیر q که کره بر حسب t بزرگ میشه ، میشه نقطه h خودمون .این جمله رو نشنیده بگیرید :)دو معادله یه مجهول:| p - h | = stدو طرف به توان دو و اینور اونور و اینا : توان دو بردار میشه همون Dot product (ضرب نقطه ای)q + vt - p = st              ,w = q-pw + vt = st(w.w) + (v.v * t^2) + 2t (w.v) = s^2 t^2معادله درجه 2 کهAx^2 + Bx + C = 0A = v.v - s^2          ,            B = 2w.v           ,            C = w.w     ---&gt; x=tاز این رابطه  t  به دست میاد که ینی میتونیم نقطه h  که مجهول بود رو پیدا کنیم یا اگه خاستیم میتونیم p - h رو حساب کنیم و normalize یا همون یکه اَش بکنیم  و در s ضربـــء اَش   ،    میشه بردار سرعت تیر                                                  و اما کدقدم دومخب طبیعتا دومین چیزی که نیاز داریم یچیه که معادله درجه دو حل کنهدلتا منفی نمیشه خب جواب همیشه یه t مثبت و حقیقیه برا همین برا راحتی اون که بزرگتره رو برگردوندرندندرم ( بعد یه پست در مورد عدد غیر حقیقی که بنده خدا حقیقیه فقط اسمش گمراه کنندس شاید بزارم ) قدم اولو میتونیم به سادگی متد LookAt رو برای transform اسلحه یا حالا هرچی صدا بزنیم متد بالا رو بندازیم توشکه  target_RB به کامپوننت RiggedBody هدف وصلهو bullet_Speed هم سرعت RiggedBody تیره (اینجاش خیلی جالب نیست که به تیر همچین کامپوننتی بدیم) پس میتونیم سرعتشم با تفاضل مکان فعلی و قبلیش تقسیم بر زمان به دست بیاریم :)این که چطوری به اون transform ها و rigidbody ها دسترسی پیدا کنیم تو هر جایی فرق میکنه ( همه چیز را public static میکند )مرسی که تا اینجا خوندید یا تا اینجا اسکرول کردید و فقط همین یه خطو خوندیداینم باحالهthanks to : @mjfalahiمنبع:Turret Aiming Formula</description><category>mohmehdi</category><author>mohmehdi</author><pubDate>Tue, 17 Mar 2020 18:04:33 +0330</pubDate></item></channel></rss>