کتاب Mathematics for Game Programming and Computer Graphics (ریاضیات برای برنامهنویسی بازی و گرافیک کامپیوتری: ریاضیات ضروری برای ایجاد، رندر و دستکاری محیطهای مجازی سهبعدی را کاوش کنید.) از دو نگاه بازیهای رایانهای و گرافیک به ریاضیات نگاه میکند. این کتاب در 19 فصل به صورت تخصصی مباحث ریاضی مربوط به بازیهای رایانهای و گرافیک رایانهای را تشریح خواهد کرد.
در ادامه مقدمهای از کتاب Mathematics for Game Programming and Computer Graphics را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Mathematics for Game Programming and Computer Graphics:
وقتی صحبت از گرافیک و توسعه بازی به میان میآید، ریاضیات یک مهارت ضروری است، به خصوص اگر میخواهید تولید گرافیک رایانهای بلادرنگ و دستکاری اشیا و محیطها را با جزئیات بیشتری درک کنید. پایتون، همراه با Pygame و PyOpenGL، این فرصت را برای توسعه دهندگان امروزی فراهم میکند تا این ویژگیها را در زیر هود کشف کنند و نشان دهند که چگونه رایانهها محیطهای سه بعدی را تولید و دستکاری میکنند.
Mathematics for Game Programming and Computer Graphics یک راهنمای جامع برای بازگشت به اصول اولیه ریاضیات است که با استفاده از یک سری تمرینات عملی مبتنی بر مسئله برای کشف ایدهها در مورد ترسیم خطوط و اشکال گرافیکی، اعمال بردارها و رئوس، ساختن و ارائه مشها، کار با سایهزنهای رأس، و اجرای تکنیکهای فیزیک مانند برخوردها و ساطعکنندههای ذرات. با استفاده از Python، Pygame و PyOpenGL، موتور و API مبتنی بر ریاضی خود را ایجاد خواهید کرد که برای ساخت برنامهها و مثالها استفاده میشود.
در پایان کتاب Mathematics for Game Programming and Computer Graphics، درک کاملی از اهمیت ریاضیات برای ایجاد، رندر و دستکاری محیطهای مجازی سه بعدی خواهید داشت و رازهای پشت موتورهای گرافیکی و بازی برتر امروزی را خواهید دانست.
وقتی Packt برای اولین بار برای نوشتن این کتاب به من مراجعه کرد، من به تازگی یک دوره آموزشی در زمینه گرافیک کامپیوتری با استفاده از Python و OpenGL در Udemy و H3DLearn.com منتشر کرده بودم. زمان بندی هرگز بهتر از این نبود که آنچه را که در این دوره آموخته بودم مرور کنم و آن را در کتابی متمرکز بر ریاضیات درگیر بنویسم.
ریاضیات یکی از آن موضوعاتی است که شما یا دوست دارید، از آن متنفر هستید یا به آرامی از آن قدردانی میکنید. من در بیشتر تحصیلات دانشگاهی ام در اردوگاه نفرت بودم. به نظرم این کار آزاردهنده و زمانبر بود که باید انجامش دهم تا به عشق برنامهنویسی ادامه دهم.
سپس در افتخاراتم (سال چهارم) با گرافیک کامپیوتری و فراکتال آشنا شدم. انگار حجابی برایم برداشته شده بود و ریاضیات جادویی، جذاب و از همه مهمتر بصری شد. دیدن زیبایی در ریاضیات همه چیز را تغییر داد. من هنوز عاشق ریاضیات نیستم، اما قطعاً از مرحله نفرت به قدردانی آرام رفته ام. اگرچه حدس میزنم نوشتن کتابی در مورد آن من را از قدردانی به عشق میکشاند. شما نمیتوانید هیچ بازی کامپیوتری یا گرافیکی را بدون دانستن ریاضیات برنامه ریزی کنید.
هدف من از نوشتن کتاب Mathematics for Game Programming and Computer Graphics این است که شما را وارد دسته “قدردانی آرام” کنم. اگر به دسته “عشق” رسیدید، عالی است! من معتقدم که همه ما استعدادهای متفاوتی داریم. ریاضیات مال من نیست من آن را بسیار چالشبرانگیز میدانم، اما من پشتکار داشته ام و در طول حرفه ام، یاد گرفته ام که منشاء و کاربرد آن را درک کنم. من به هیچ وجه از آن دسته افرادی نیستم که میتوانم دهها عدد را در ذهنم ضرب کنم، اما نیازی نیست که باشم.
نکته این است که اگر یاد بگیرید که چه زمانی و کجا ریاضیات را اعمال کنید و سپس آن را به یک الگوریتم برنامه نویسی تبدیل کنید و بتوانید خروجی را اعتبارسنجی کنید و از آن اطمینان داشته باشید، مهم نیست که میتوانید خروجی را در ذهن خود محاسبه کنید یا خیر. یا برای حل آن به زمان نیاز دارید.
فقط ریاضیات زیادی در این زمینه وجود دارد که میتوانستم صدها صفحه دیگر را صادقانه بنویسم. با این حال، امیدوارم که محتوای اینجا شما را تحریک کند و به شما اعتماد به نفس و مهارتهای انتقادی بدهد تا به طور مستقل تحصیلات خود را ادامه دهید.
کتاب Mathematics for Game Programming and Computer Graphics برای چه کسی است؟
این کتاب برای برنامه نویسانی است که میخواهند مهارتهای ریاضی سه بعدی خود را در رابطه با گرافیک کامپیوتری و بازیهای رایانه ای بهبود بخشند. دانش ریاضیات در سطح دبیرستان و درک کاری از یک زبان شیگرا مورد نیاز خواهد بود.
آنچه کتاب Mathematics for Game Programming and Computer Graphics پوشش میدهد:
فصل 1، پنجره سلام گرافیک: شما در راه هستید، ابزارهای نرمافزاری را که در سراسر کتاب برای کاوش گرافیک سهبعدی و توسعه بازی استفاده میشود، معرفی میکند، جایی که پایتون و OpenGL برای توسعه برنامههای پنجره گرافیکی استفاده خواهند شد.
فصل 2 کتاب Mathematics for Game Programming and Computer Graphics، بیایید طراحی را شروع کنیم، شما را با یک سری تمرینات آشنا میکند تا کد اسکلت اولیه مورد نیاز برای اجرا و به روز رسانی یک برنامه گرافیکی را تنظیم و کشف کنید.
فصل 3، ترسیم خط پیکسل به پیکسل، شامل مجموعهای از تمرینها برای بررسی الگوریتمهای ترسیم خط سطح پایین است که با رویکردی سادهلوحانه شروع میشود که مسائل مربوط به ترسیم خطوط را بر روی یک نمایشگر شطرنجی آشکار میکند.
فصل 4 کتاب Mathematics for Game Programming and Computer Graphics، گرافیک و اجزای موتور بازی، معماری نرمافزار بازیها و موتورهای گرافیکی ساختارهای داده مرتبط را برای کار با محیطهای سهبعدی بررسی میکند.
فصل 5، Let’s Light It Up!، به شما نشان میدهد که چگونه نور و بافت را به یک صحنه مجازی بیاورید تا مدلهای جامد مشهای قبلا استفاده شده را ایجاد کنید.
فصل 6 کتاب Mathematics for Game Programming and Computer Graphics، به روز رسانی و ترسیم محیط گرافیکی، شما را از طریق یک سری تمرینات طراحی شده برای آشکار کردن ماهیت چرخهای تولید فریمهای گرافیکی، علاوه بر ایجاد پایه ای قوی برای پروژه گرافیکی شما، راهنمایی میکند.
فصل 7، تعامل با صفحهکلید و ماوس برای برنامههای گرافیکی پویا، به شما میآموزد که چگونه از Pygame API برای جمعآوری اطلاعات کاربر از طریق ماوس و صفحه کلید و استفاده از آن برای تعامل با محیط بازی استفاده کنید.
فصل 8 کتاب Mathematics for Game Programming and Computer Graphics، بررسی دانش ما در مورد مثلثها، مثلثات را با هدف تثبیت مفاهیم مثلثهای مشابه و ویژگیهای ریاضی مثلثهای قائمالزاویه مرور میکند.
فصل 9، تمرین ملزومات بردار، اصول ریاضی بردارها را بررسی میکند و پیوند بین ویژگیهای آنها و مثلثهای قائم الزاویه را بررسی میکند تا راههای بسیار مفید آنها در گرافیک را آشکار کند.
فصل 10 کتاب Mathematics for Game Programming and Computer Graphics، آشنایی با خطوط، پرتوها و نرمالها، شباهتها و تفاوتهای بین عناصر هندسی مستقیم را بررسی میکند و آنها را برای حرکت اجسام به کار میبرد.
فصل 11، دستکاری نور و بافت مثلثها، استفاده از بردارهای معمولی را در گرافیک کامپیوتری بررسی میکند و کشف میکند که چگونه برای نمایش، ترسیم و نورپردازی مدلهای سه بعدی ضروری هستند.
فصل 12، تسلط بر تبدیلهای Affine، مجموعه اولیه عملیات را نشان میدهد که به نقاط و مدلهای سه بعدی اجازه میدهد تا در فضای سهبعدی ترجمه، مقیاسبندی و چرخانده شوند.
در فصل 13، درک اهمیت ماتریسها، چگونگی نمایش تبدیلها به عنوان ماتریس و قدرتی که این امر برای پردازش گرافیکهای کامپیوتری به ارمغان میآورد، بحث میکند.
فصل 14، کار با فضاهای مختصات، به شما در مورد فضاهای مختصات مختلفی میآموزد که یک راس از طریق آن تبدیل میشود تا از سیستم مختصات محلی خود به یک پیکسل روی صفحه برسد.
فصل 15 کتاب Mathematics for Game Programming and Computer Graphics، پیمایش در فضای دید، شما را راهنمایی میکند تا راههایی را برای حرکت دوربین در یک محیط سهبعدی و همچنین کشف برخی اشکالات در عملیات ماتریس برای چرخشها کشف کنید.
فصل 16، چرخش با کواترنیونها، شما را عمیقتر به حوزه بسیار پیچیده چرخشهای کواترنیون میبرد و نشان میدهد که چگونه فضاهای 4 بعدی میتوانند مسائل چرخشی سه بعدی را حل کنند.
فصل 17، Vertex and Fragment Shading، شما را از طریق برنامهنویسی کد سایه زن برای ترسیم اشیا که گرافیک را از کنترل CPU منتقل میکند تا به صورت موازی روی کارت گرافیک پردازش شوند، راهنمایی میکند.
فصل 18 کتاب Mathematics for Game Programming and Computer Graphics، سفارشیسازی خط لوله رندر، برخی از تکنیکهای اساسی مورد استفاده برای نوشتن کد سایهزن برای سایهزنهای ابتدایی که جلوههای روشنایی تولید میکنند را بررسی میکند.
فصل 19، رندر کردن رئالیسم بصری مانند یک حرفهای، نشان میدهد که چگونه نور به صورت فیزیکی با یک محیط سه بعدی و اشیاء درون آن تعامل میکند تا یک سایه زن رندر مبتنی بر فیزیکی مدرن ایجاد کند.
سرفصلهای کتاب Mathematics for Game Programming and Computer Graphics:
- Cover
- Title Page
- Copyright and Credits
- Contributors
- Table of Contents
- Preface
- Part 1 – Essential Tools
- Chapter 1: Hello Graphics Window: You’re On Your Way
- Chapter 2: Let’s Start Drawing
- Chapter 3: Line Plotting Pixel by Pixel
- Chapter 4: Graphics and Game Engine Components
- Chapter 5: Let’s Light It Up!
- Chapter 6: Updating and Drawing the Graphics Environment
- Chapter 7: Interactions with the Keyboard and Mouse for Dynamic Graphics Programs
- Part 2 – Essential Trigonometry
- Chapter 8: Reviewing Our Knowledge of Triangles
- Chapter 9: Practicing Vector Essentials
- Chapter 10: Getting Acquainted with Lines, Rays, and Normals
- Chapter 11: Manipulating the Light and Texture of Triangles
- Part 3 – Essential Transformations
- Chapter 12: Mastering Affine Transformations
- Chapter 13: Understanding the Importance of Matrices
- Chapter 14: Working with Coordinate Spaces
- Chapter 15: Navigating the View Space
- Chapter 16: Rotating with Quaternions
- Part 4 – Essential Rendering Techniques
- Chapter 17: Vertex and Fragment Shading
- Chapter 18: Customizing the Render Pipeline
- Chapter 19: Rendering Visual Realism Like a Pro
- Index
- Other Books You May Enjoy
جهت دانلود کتاب Mathematics for Game Programming and Computer Graphics میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.