ریاضیات در بازی ها (فیثاغورس و مثلثات) – جلسه چهارم

ذر این پست در مورد فیثاغورس و کاربرد آن در بازی ها صحبت خواهم کرد.
برای شروع بهتر است یادآوری کنم که فیثاغورس چه می گوید :
فیثاغورس دانشمند و ریاضیدان یونان باستان، با تحقیق بر روی مثلث قائم الزاویه به این نتیجه رسید که همواره مساحت مربعی که با وتر یک مثلث قائم الزاویه ساخته میشود برابر است با مجموع مساحت دو مربعی که با اضلاع زاویه قائم ساخته میشود و این قانون بعدها به عنوان رابطهٔ فیثاغورس نامیده شد. در هر مثلث قائم الزاویه، مجذور وتر برابر است با مجموع مجذور دو ضلع زاویهٔ قائمه، در واقع فرمول ریاضی آن به فرمول زیر میشود. هرگاه x و y دو ضلع قائم مثلث قائم الزاویه باشند و z وتر آن باشد آنگاه داریم:
x^(2) + y^(2) = z^(2)
خوب این از تعریف قاعده فیثاغورس حالا می خواهیم یاد بگیریم که این قاعده چه کمکی ذر طراحی بازی ها به ما خواهند کرد.
قضیه فیثاغورس و رسیدن دو شخصیت یا دو شی به یک دیگر

همانطور که در تصویر بالا مشاهده میکنید تصویری از بازی معروف مرورگر کروم را قرار داده ام، دشمن در موقعیت X,Y متفاوتی نسبت به شخصیت ما در بازی قرار دارد.اگر هر دو کاراکتر در یک موقعیت Y یکسانی قرار داشته باشند و فقط X های آنها متفاوت بود به راحتی میتوانستیم فاصله بین آنها را محاسبه کنیم.
در این گونه شرایط می بایست با تشکیل یک مثلث قائم الزاویه فاصله بین کاراکترهای بازی را محاسبه کنیم.
برای مثال اگر در تصویر بالا دایناسور در موقعیت x=5 و Y=20 و پرنده(دشمن) در موقعیت X=25 و Y=10 باشد.با تفریق X ها و Y های دو شی از یکدیگر میتوانیم طول ضلع مجاور و مقابل را بدست آورده و از طریق آن ها طول وتر که در این تصویر فاصله واقعی بین دو شی می باشد را بدست آوریم.

اکنون مشاهده می کنید که در این مثال طول ضلع مجاور برابر است با X=25-5=20 و طول ضلع مقابل برابر است با Y=20-10=10
با این اوصاف طول وتر برابر است با

قضیه فیثاغورس و سرعت
با توجه به در نظر داشتن مثال بالا اگر خودرویی داشته باشیم که به صورت مورب حرکت می کند و از موقعبت دایناسور به موقعیت پرنده در یک ثانیه می رسد یعنی خودروی ما با سرعت 22.36 پیکسل در ثانیه حرکت می کند.
ششما می توانید ابن عدد بدست آمده را به عنوان سرعت خودرو بر روی صفحه نمایش نمایش داده و همچنین می توانید شرایطی بزارید که اگر سرعت بیشتر از یک مقدار خاصی شد خودرو توسط پلیس متوقف شود.
تغییر زاویه
تصور کنید که بازی تنیسی را انجام می دهید که در آن توپ فقط از چپ به راست عقب و جلو حرکت می کند. یک بازی آسان اما فوق العاده خسته کننده را تجربه خواهید کرد.
برای بازی هایی مانند تنیس ، پین بال و غیره ، می خواهید زاویه ای که «توپ» به آن بازگردانده می شود،
به اینکه کدام قسمت توپ با راکت برخورد می کند وابستگی داشته باشد.
برای مثال تصویر زیر را ببینید :

در این بازی، بازیکن با یک راکت در پایین صفحه جهت بازگشت توپ را کنترل کرده و مشخص می کند که توپ به سمت کدام خانه رنگی بازگردد.
اگر توپ فقط به سمت پایین میفتاد وبعد از برخورد با راکت مستقیماً به عقب بر میگشت تبدیل به یک بازی بسیار کسل کننده می شد.
با استفاده از ریاضیات می توان زاویه برگشت توپ به عقب را بر اساس اینکه به کدام قسمت از راکت برخورد می کند را مشخص کرد ، به ظوری که اگر توپ به وسط راکت برخورد کند با زاویه کمی رو به بالا برگردد ولی در اثر برخورد با قسمت های بیرونی تر راکت با زاویه بیشتری به سمت بالا برکردد.
در تصویر متحرک زیر به صورت تقریبی نحوه برگشت توپ از دو جهت مختلف را نمایش داده ایم..

البته شما میتوانید با انجام بازی های مشابه و با فکر کردن در این باره حالت های مختلفی را حتی با استفاده از فیزیک به این بازی اضافه کنید تا بازی واقعی تر به نظر بیاید.
دیدگاهتان را بنویسید