OpenGL Graphics Programming Project (2D & 3D)
تفاصيل العمل
السلام عليكم ورحمة الله وبركاته، أقدم لكم هذا المشروع الذي يعرض خبرتي العملية في مجال **الرسوميات الحاسوبية (Computer Graphics)** باستخدام مكتبة OpenGL ولغة C++. يهدف المشروع إلى تطبيق المفاهيم الأساسية في الرسوميات الحاسوبية مثل رسم الأشكال الهندسية وتنفيذ التحويلات الثنائية والثلاثية الأبعاد. - آلية التنفيذ والعمل المنجز: -- إعداد بيئة العمل وبرمجة الرسوميات: بدأت المشروع باستخدام مكتبة **OpenGL** مع مكتبة **GLUT** لإنشاء نافذة رسومية تتيح عرض العناصر الهندسية ومعالجتها. تم إعداد بيئة الرسم باستخدام الدوال الأساسية مثل: * تهيئة نافذة العرض * تحديد نظام الإحداثيات * إدارة الـ Rendering Loop - رسم الأشكال الهندسية الأساسية: قمت بتنفيذ عدة برامج لرسم أشكال هندسية باستخدام OpenGL مثل: * رسم نقاط متعددة باستخدام `GL_POINTS` * رسم خطوط مستقيمة باستخدام `GL_LINES` * رسم مثلثات باستخدام `GL_TRIANGLES` * إنشاء أشكال مركبة مثل النجمة والأسهم والأشكال الهندسية المختلفة تم تحديد إحداثيات كل شكل باستخدام الدالة `glVertex` وتحديد الألوان باستخدام `glColor`. - تنفيذ التحويلات الثنائية الأبعاد (2D Transformations): كجزء من المشروع، قمت بتطبيق التحويلات الأساسية على الأشكال ثنائية الأبعاد مثل: * Translation (نقل الشكل من موقع لآخر) * Rotation (تدوير الشكل حول محور) * Scaling (تكبير أو تصغير الشكل) * Reflection (انعكاس الشكل) * Shearing (تشويه الشكل) تم تنفيذ هذه العمليات باستخدام الدوال الرسومية مثل `glTranslate`, `glRotate`, و `glScale`. -تنفيذ التحويلات ثلاثية الأبعاد (3D Transformations): قمت أيضًا بتطبيق نفس المفاهيم على مجسمات ثلاثية الأبعاد مثل **الهرم (Pyramid)**، حيث تم تنفيذ: * Translation ثلاثي الأبعاد * Rotation ثلاثي الأبعاد * Scaling ثلاثي الأبعاد * Reflection * Shearing مما يوضح كيفية التحكم في المجسمات داخل الفضاء ثلاثي الأبعاد. -تنظيم الكود والتطبيق العملي: تم تقسيم البرامج إلى ملفات منفصلة لكل نوع من العمليات، بحيث يوضح كل برنامج مفهومًا محددًا من مفاهيم الرسوميات الحاسوبية. - النتائج: نتج عن المشروع مجموعة من التطبيقات الرسومية التي توضح كيفية استخدام OpenGL لرسم الأشكال الهندسية وتنفيذ التحويلات المختلفة عليها. يبرز المشروع فهمي لأساسيات **Computer Graphics** وكيفية التعامل مع الإحداثيات والتحويلات في البيئات الرسومية. - المهارات والأدوات المستخدمة: * Computer Graphics Programming * OpenGL * GLUT Library * C++ Programming * 2D Transformations * 3D Transformations * Geometry Rendering
مهارات العمل
بطاقة العمل
طلب عمل مماثل