گرافیک کامپیوتری

Computer Graphics

شماره درس: ۴۰۴۴۷ تعداد واحد: ۳
مقطع: کارشناسی نوع درس: نظری
پیش‌نیاز: – هم‌نیاز: طراحی الگوریتم‌ها

اهداف درس

هدف این درس آشنا کردن دانشجویان با مفاهیم پایه‌ای گرافیک کامپیوتری است. تکیه‌ی اصلی درس بر روی گرافیک کامپیوتری سه بعدی، مفاهیم افکنش‌ها و تبدیل‌های سه بعدی، نور‌پردازی، رنگ‌آمیزی صحنه‌های گرافیکی و بازی‌های کامپیوتری با استفاده از نرم‌افزار OpenGL است. این نرم‌افزار در محیط زبان‌های برنامه نویسی سطح بالا مانند C, C++, Java قابل استفاده است. انتظار می‌رود که دانشجویان با یکی از این زبان‌ها آشنائی کامل داشته باشند و در طول ترم استفاده از OpenGL را نیز بیاموزند.

ریز مواد

  • آشنایی با مفاهیم کلی و سخت‌افزار‌های گرافیکی
    • تبدیل‌های هندسی سه بعدی
    • تبدیل affine سه بعدی
  • نمایش سه بعدی اشیا
    • مفاهیم دید
    • مراحل تولید یک صحنه
    • سیستم مختصات
    • تبدیل‌های افکنش (Projection) پرسپکتیو، موازی و مایل
    • نمایش سه بعدی سطوح انخنا دار و سطوح مثلث بندی شده
  • معرفی توابع و سطوح اسپلاین و کار برد آن‌ها
    • توابع درجه ۳ و ۴ اسپلاین از جمله توابع بزییر، بی، بتا، نسبی
    • نمایش یک اسپلاین با استفاده از توابع اسپلاین دیگر
  • اشیاء حبابی شکل، نمایش محوری، روشهای مبتنی بر اشکال خوش‌تعریف هندسی
    • درخت‌های هشت تایی
    • درخت‌های باینری تقسیم کننده فضای سه بعدی
  • روش‌های تشخیص سطوح قابل رویت
    • دسته‌بندی و معرفی الگوریتم‌ها و مقایسه آن‌ها
  • مدل محاسبه‌ی روشنایی فونگ، روش‌های نورپردازی و رنگ آمیزی (Rendering) سطوح
    • الگوریتم‌های سریع رندرینگ
    • اعمال بافت و جزییات بر سطوح
  • مدل هار رنگ و کاربرد آن‌ها
  • نورپردازی کلی (Global illumination). سایه زن‌ها (Shaders)
  • معرفی هندسه فراکتالی برای ساخت اشیا و صحنه‌هایی که با هندسه اقلیدسی قابل توصیف نیستند
  • مصور سازی مجموعه‌ی داده‌ها
  • پویا نمایی کامپیوتری
    • روشهای سنتی ساخت پویانمایی
    • طراحی دنباله‌ی پویانمایی
    • توابع عمومی پویانمایی
    • سیستم قاب(frame)های کلیدی
    • تعیین جابجایی و حرکت در سرعت‌های مختلف
    • محاسبه‌ی مسیر حرکت دوربین
  • روش‌های ضبط حرکت کل بدن و چهره (Motion Capture) و کاربرد آن‌ها در ساخت پویانمایی، فیلم و بازی
  • آشنایی با ساخت یک بازی کامپیوتری
    • معرفی عناصر اصلی شامل طراحی اشیا ثابت (پس زمینه) و اشیا متحرک، فیزیک
    • اعمال بافت بر روی اشیا
    • هوش مصنوعی، سناریو، نوع بازی و موزیک
    • معرفی موتور‌های بازی و امکانات آن‌ها
    • مدیریت ساخت بازی
    • تست مراحل مختلف تولید بازی و بازار فروش

ارزیابی

  • آزمون میان ترم اول: ۲٫۵ نمره
  • آزمون میان ترم دوم: ۲٫۵ نمره
  • آزمون پایان ترم: ۵ نمره
  • تمرین‌های برنامه نویسی: ۱۰ نمره

مراجع

  1. Hearn and Baker. Computer Graphics with OpenGL. 4th Edition, Prentice Hull, 2011.
  2. Steve Marschner and Peter Shirley. Fundamental of Computer Graphics. 4th Edition, CRC Press, 2016.
  3. Edward Angel. OpenGL, A primer. Addison Wesley, 2002.