OpenGL، جمع‌بندی دوره و شکل‌های آموزشی

OpenGL، جمع‌بندی دوره و شکل‌های آموزشی

OpenGL، جمع‌بندی دوره و شکل‌های آموزشی

OpenGL

برای گرافیک پیشرفته در سطح رایانهٔ شخصی، در نهایت لازم است از OpenGL (Silicon Graphics) یا DirectX (Microsoft) استفاده شود. این بسته‌های نرم‌افزاری همراه با کارت‌های گرافیکی سازگار عمل می‌کنند و امکان پیاده‌سازی سخت‌افزاری توابع گرافیکی را فراهم می‌سازند. نرم‌افزار اجازه می‌دهد سخت‌افزار در حد توان خود عمل کند و هر جا لازم باشد، پیاده‌سازی نرم‌افزاری جای خالی را پر کند.

ما با موفقیت قابلیت OpenGL را در این درس و مجموعه برنامه‌های نمونهٔ خود وارد کرده‌ایم. برای مسائل برنامه‌نویسی OpenGL از راهنمای رسمی OpenGL استفاده کرده‌ایم و SuperBible و آموزش Oursland نیز برای کار با OpenGL در محیط رایانهٔ شخصی به‌ویژه سودمند بوده‌اند. این منابع راهبردهایی برای وارد کردن گرافیک OpenGL در AppWizard ارائه می‌کنند.

نکتهٔ جالب این است که تقریباً به‌صورت مستقیم می‌توان گرافیک سه‌بعدی شیءگرای توضیح‌داده‌شده در بالا را با OpenGL تطبیق داد و به رندر سریع دست یافت. جزئیات پیاده‌سازی را در اینجا بررسی نمی‌کنیم، اما با تغییر اندکی در تابع Trace از کلاس Polygon می‌توان دستورات OpenGL را مستقیماً استفاده کرد. نتیجهٔ کلی این است که شکل‌های سه‌بعدی با ابزارهای برنامه‌نویسی شیءگرای ما به‌سادگی تولید، جابه‌جا، دوران داده و نمایش داده می‌شوند. برنامه‌نویسی OpenGL در سطح بالاتر عمدتاً موقعیت و زاویهٔ دید، نورپردازی، رنگ زمینه و مانند این‌ها را کنترل می‌کند.

شکل ۹ نخستین برنامهٔ OpenGL را همراه با استوانه و جعبهٔ شکل ۷ نشان می‌دهد. در شکل ۹ کیفیت سایه‌زنی OpenGL و توانایی حذف سطوح پنهان با استفاده از عمق‌گذاری کاملاً آشکار است. با این قابلیت، تولید گرافیک و پویانمایی باکیفیت نسبتاً آسان می‌شود.

شبیه‌ساز رانندگیِ شکل ۱۰ نمونه‌ای است که در کلاس مطرح شده و دانشجویان می‌توانند آن را برای پروژه‌های خود اصلاح کنند. عدد روی کاپوت خودرو در شکل ۱۰ نمونه‌ای از اصلاح دانشجویی است که در آن نگاشت بافت لازم برای قرار دادن عدد روی کاپوت، به‌عنوان بخشی از پروژهٔ نهایی، اضافه شده است. پویانمایی ترن هواییِ شکل ۱۱ نیز یکی دیگر از پروژه‌های درسی دانشجویان است. در این پویانمایی، یک ترن هوایی شش‌واگنه در امتداد مسیر حرکت می‌کند و می‌توان آن را از موقعیت‌های قابل تنظیم، از جمله صندلی جلویی، مشاهده کرد. ربات شکل ۱۲ نمونهٔ دیگری است؛ این ربات می‌تواند به‌صورت مرحله‌ای یا متحرک حرکت کند و جسم کوچکی را که نزدیک گیرهٔ آن دیده می‌شود بردارد.

نتیجه‌گیری

این مقاله رویکردی برای آموزش گرافیک کامپیوتری در محیط رایانهٔ شخصی و ویندوز را ارائه کرده است. این درس برای دانشجویان سال‌های پایانی و دانشجویان تحصیلات تکمیلی موفق و جذاب بوده است. درس علاوه بر آشنا کردن دانشجویان با فرایند برنامه‌نویسی ویندوز به‌طور کلی، آنان را با نحوهٔ کار برنامه‌های CAD و پویانمایی کامپیوتری نیز آشنا می‌کند. همچنین این درس دانشجویان را برای مطالعه و پژوهش بیشتر در گرافیک کامپیوتری آماده می‌سازد.

این مقاله همچنین می‌کوشد بینشی نسبت به فرایند برنامه‌نویسی Visual C++ و روش‌های برنامه‌نویسی برای عملیات پایهٔ گرافیک دوبعدی ارائه دهد. راهبرد استفاده از گرافیک سه‌بعدی شیءگرا در آموزش نیز شرح داده شده است. جذابیت این فرایند در آن است که به دانشجویان اجازه می‌دهد تابع‌هایی را که برای بخش‌های مختلف ایجاد، دستکاری و نمایش بازنمایی‌های سه‌بعدی خدمت می‌کنند بررسی و اصلاح کنند. این راهبرد به‌طور مستقیم به قابلیت‌های سطح بالاتر گرافیکی OpenGL گسترش می‌یابد و از این طریق می‌توان پویانمایی‌ها و شبیه‌سازی‌های قابل‌توجهی توسعه داد.

از نظر زمان‌بندی، دانشجویان معمولاً پروژهٔ گرافیک دوبعدی را تقریباً در نیمهٔ دوره به پایان می‌رسانند. تدریس گرافیک سه‌بعدی تقریباً از نقطهٔ ۴۰ درصد دوره آغاز می‌شود. دو پروژهٔ گرافیک سه‌بعدی نیز الزامی است: یکی پروژه‌ای مشخص که بدون OpenGL انجام می‌شود و دیگری پروژه‌ای انتخابی توسط خود دانشجو که با استفاده از OpenGL انجام می‌گیرد.

منابع

  1. Horton, I.، Beginning Visual C++ 6، Wrox Press Ltd، Birmingham, UK، 1998.
  2. Gurewich, O. and Gurewich, N.، Teach Yourself Visual C++ in 21 Days، ویرایش چهارم، Sams Publishing، 1997.
  3. Foley, J.D. et al.، Computer Graphics Principles and Practice، ویرایش دوم، Addison Wesley، 1990.
  4. Wright, R.S. and Sweet, M.، OpenGL SuperBible، ویرایش دوم، Waite Group Press، 2000.
  5. Woo, M. et al.، OpenGL Programming Guide، ویرایش سوم، Addison Wesley، 1999.
  6. Oursland, N.A.، Using OpenGL in Visual C++، www.DevCentral.Iftech.com.

شکل‌های سند

مفاهیم شیءگرا خروجی برنامهٔ کنسولی TwoDobjects که نمونه‌ای از کار با کلاس‌های مستطیل و دایره را نشان می‌دهد.
شکل 1 — مفاهیم شیءگرا
مفاهیم شیءگرا با اشاره‌گرها و تابع‌های مجازی خروجی برنامهٔ کنسولی TwoDobjectsPTR که استفاده از اشاره‌گرها و تابع‌های مجازی را نشان می‌دهد.
شکل 2 — مفاهیم شیءگرا با اشاره‌گرها و تابع‌های مجازی
نخستین گرافیک در یک پنجره پنجرهٔ برنامهٔ FirstWin با خروجی متنی و ترسیم یک کادر و نقطه.
شکل 3 — نخستین گرافیک در یک پنجره
ترسیم با ماوس و ایجاد موارد منو و نوار ابزار نمونه‌ای از برنامهٔ ترسیم با ماوس و ابزارهای منو و نوار ابزار.
شکل 4 — ترسیم با ماوس و ایجاد موارد منو و نوار ابزار
ترسیم در محیط چندپنجره‌ای نمونهٔ برنامهٔ گرافیک دوبعدی با چند سند و قابلیت Snap-to-Grid.
شکل 5 — ترسیم در محیط چندپنجره‌ای
طرح ترسیم‌شده با ماوس همراه با نمودارهای رسم‌شده توسط برنامه نمونهٔ طرح تیر و نمودارهای مرتبط با تنش و کانتور رنگی.
شکل 6 — طرح ترسیم‌شده با ماوس همراه با نمودارهای رسم‌شده توسط برنامه
تصویرسازی‌های سادهٔ سه‌بعدی نمونه‌هایی از نمایش سه‌بعدی حاصل از برنامه‌های پایه.
شکل 7 — تصویرسازی‌های سادهٔ سه‌بعدی
منحنی Bezier و حذف خطوط پنهان نمایشی از نسخه‌ای با قابلیت منحنی Bezier و حذف خطوط پنهان.
شکل 8 — منحنی Bezier و حذف خطوط پنهان
آغاز کار با OpenGL نمونهٔ نخستین برنامهٔ OpenGL همراه با جعبه و استوانه.
شکل 9 — آغاز کار با OpenGL
مبانی شبیه‌سازی رانندگی نمونه‌ای از شبیه‌ساز رانندگی مورد استفاده در کلاس.
شکل 10 — مبانی شبیه‌سازی رانندگی
پروژهٔ دانشجویی ترن هوایی پویانمایی یک ترن هوایی شش‌واگنه روی مسیر.
شکل 11 — پروژهٔ دانشجویی ترن هوایی
پروژهٔ دانشجویی ربات ربات متحرک که می‌تواند جسم کوچک نزدیک گیره را بردارد.
شکل 12 — پروژهٔ دانشجویی ربات

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620