You are not allowed to perform this action
گرافیک کامپیوتری
Computer Graphics
مقطع: کارشناسی | گرایش: هوش مصنوعی |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: طراحی الگوریتمها |
هدف کلی
هدف این درس آشنا کردن دانشجویان با مفاهیم پایهای گرافیک کامپیوتری است. تکیهی اصلی درس بر روی گرافیک کامپیوتری سه بعدی، مفاهیم افکنشها و تبدیلهای سه بعدی، نورپردازی، رنگآمیزی صحنههای گرافیکی و بازیهای کامپیوتری با استفاده از نرمافزار OpenGL است. این نرمافزار در محیط زبانهای برنامهنویسی سطح بالا مانند C, C++, Java قابل استفاده است. انتظار میرود که دانشجویان با یکی از این زبانها آشنایی کامل داشته باشند و در طول ترم استفاده از OpenGL را نیز بیآموزند.
سرفصلها
- آشنایی با مفاهیم کلی و سختافزارهای گرافیکی
- تبدیلهای هندسی سه بعدی
- تبدیل affine سه بعدی
- نمایش سه بعدی اشیا
- مفاهیم دید
- مراحل تولید یک صحنه
- سیستم مختصات
- تبدیلهای افکنش (Projection) پرسپکتیو، موازی و مایل
- نمایش سه بعدی سطوح انحنادار و سطوح مثلثبندی شده
- معرفی توابع و سطوح اسپلاین و کاربرد آنها
- توابع درجه ۳ و ۴ اسپلاین از جمله توابع بزییر، بی، بتا، نسبی
- نمایش یک اسپلاین با استفاده از توابع اسپلاین دیگر
- اشیاء حبابی شکل، نمایش محوری، روشهای مبتنی بر اشکال خوشتعریف هندسی
- درختهای هشتتایی
- درختهای باینری تقسیمکننده فضای سه بعدی
- روشهای تشخیص سطوح قابل رویت
- دستهبندی و معرفی الگوریتمها و مقایسه آنها
- مدل محاسبهی روشنایی فونگ، روشهای نورپردازی و رنگآمیزی (Rendering) سطوح
- الگوریتمهای سریع رندرینگ
- اعمال بافت و جزییات بر سطوح
- مدلهای رنگ و کاربرد آنها
- نورپردازی کلی (Global illumination). سایه زنها (Shaders)
- معرفی هندسه فراکتالی برای ساخت اشیا و صحنههایی که با هندسه اقلیدسی قابل توصیف نیستند
- مصور سازی مجموعهی دادهها
- پویانمایی کامپیوتری
- روشهای سنتی ساخت پویانمایی
- طراحی دنبالهی پویانمایی
- توابع عمومی پویانمایی
- سیستم قاب (frame) های کلیدی
- تعیین جابجایی و حرکت در سرعتهای مختلف
- محاسبهی مسیر حرکت دوربین
- روشهای ضبط حرکت کل بدن و چهره (Motion Capture) و کاربرد آنها در ساخت پویانمایی، فیلم و بازی
- آشنایی با ساخت یک بازی کامپیوتری
- معرفی عناصر اصلی شامل طراحی اشیا ثابت (پس زمینه) و اشیا متحرک، فیزیک
- اعمال بافت بر روی اشیا
- هوش مصنوعی، سناریو، نوع بازی و موزیک
- معرفی موتورهای بازی و امکانات آنها
- مدیریت ساخت بازی
- تست مراحل مختلف تولید بازی و بازار فروش
ارزیابی پیشنهادی
- آزمونهای میانترم و پایانی: ۶۰ درصد نمره
- تمرینهای برنامهسازی: ۴۰ درصد نمره
منابع پیشنهادی
- D. Hearn, P.Baker, and W. Carithers. Computer Graphics with OpenGL. 4th Edition, Prentice Hull, 2011.
- S. Marschner and P. Shirley. Fundamental of Computer Graphics. 5th Edition, CRC Press, 2021.
- E. Angel. OpenGL, A primer. 3rd Edition, Addison Wesley, 2008.
- J. F. Hughes, A. V. Dam, M. McGuire, D. F. Sklar, J. D. Foley, S. Feiner, and K. Akeley. Computer Graphics: Principles and Practice. 3rd Edition, Addison Wesley, 2013.
- G. Sellers. Vulkan Programming Guide: The Official Guide to Learning Vulkan. Addison Wesley, 2017