تفاصيل العمل

السلام عليكم ورحمة الله وبركاته،

أقدم لكم هذا المشروع الذي يعرض خبرتي العملية في مجال **الرسوميات الحاسوبية (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

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
1
تاريخ الإضافة
تاريخ الإنجاز
المهارات