إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    كيفية عمل التصوير ثلاثي الأبعاد

    عند دخول مجال التصميم الثلاثي الأبعاد أو برمجة الألعاب فلا بد من معرفتك لبعض الأساسيات في ذلك العالم الواسع, وبما أن أغلب برامج التصميم ومحركات الألعاب مبنيةٌ على مكتبة OpenGL فسيتم الشرح بناءً على طريقتها في الرسم.

    تفترض طريقة رسم OpenGL للكائنات وجود عالم فراغي من ثلاثة أبعاد (x – y – z), و يحوي هذا العالم جميع الكائنات, و يحوي أيضًا كائنًا مميزًا عن البقية هو الكاميرا, وهذه الكاميرا لها خصائص معينة بحيث نستطيع رؤية العالم منها, إذ تقوم هذه الكاميرا بتصوير العالم وإرسال الصور لنا لنرى هذا العالم مثل مقطع الفيديو, ولكن كيف نستطيع أن نرى الكائنات بشكل ثلاثي الأبعاد؟ وكيف تختلف عن الكائنات ثنائية الأبعاد؟

     

    إختلاف زاوية النظر بين العينين

    في العالم الحقيقي نرى الكائنات ثلاثية الأبعاد لأن لدينا عينان, وعينانا لا تريان النقطة نفسها من نفس الزاوية, إذ أن كل عين تنظر للنقطة من زاوية مختلفة وترسل الصور للدماغ فيقوم بدمج هاتين الصّورتين.

    جرّب الآن وضع كوب بعيدًا عن أنفك بشبر وجرب رؤيته بعين واحدة مرةً وبعينين مرةً أخرى.


    في دور عرض الأفلام حاولوا محاكاة ذلك عبر نظارات خاصة لها عدستين زرقاء وحمراء, وعند عرض الفلم يتم سلخ الصورة القريبة من الكاميرا لقسمين أزرق وأحمر, وبين الصورة باللونين مسافة تزداد باقتراب الجسم من الكاميرا, فالزاوية بين الصورتين التي تراها العينين تزداد مع اقتراب الجسم من العينين, ويمكن فعل ذلك في OpenGL.


    مؤخراً ظهرت فكرة جديدة لعرض الكائنات بشكل ثلاثي الأبعاد وهي نظارة الواقع الافتراضي, إذ تعرض هذه النظارة صورة للعالم من زاويتين مختلفتين عبر كل من العدستين, ويتم إنتاج هذه الصور عبر OpenGL لكن يجب على المستخدم تشغيل اللعبة على نظارة واقع افتراضي.

    حتى الآن ما رأيناه هو أمور يمكن برمجتها في OpenGL لكن OpenGL لا تدعمها إفتراضياً.

     

    طرق الرسم الثلاثي الأبعاد التي توفرها OpenGL

     

    التقصير Foreshortened

    التقصير هو عملية جعل الكائنات البعيدة تبدو أصغر من حجمها الطبيعي, وهذه العملية هي التي تعطينا منظوراً ثلاثي الأبعاد 3D Perspective.

    صورة تبين المنظور المُقصّر مع غير المُقصّر


    التظليل

    توفر OpenGL طرق تظليل للكائن بحيث تستفيد من شكله الثلاثي الأبعاد في عملية تظليل مشابهة للظل في الحياة الواقعية, ويعطي هذا التظليل فهماً للناظر عن طبيعة شكل الكائن.

    التّظليل الخفيف للقمر على طرفه يرينا أنّ القمر كرويٌّ.


    الآن وقد فهمنا كيف نرى الكائنات بمنظور ثلاثي الأبعاد يمكننا الانتقال لمعرفة كيف تتعامل OpenGL مع الكائنات.

     

    المجسمات

    تتكون جميع الكائنات في OpenGL من نقاط Vertices, وكل ثلاث نقاط تتصل مع بعضها لتكون مثلثاً له سطح, وهكذا يمكنك جمع المثلثات لتكوين أي مجسم تريده.


    الحركة Animation

    يمكن تحريك المجسمات في OpenGL بشكل أساسي عبر تغيير مكانها أو دورانها في الفضاء, وهذه الحركات لا تغيّر شكل المجسم وإنما موقعه في الفضاء, ويمكن تغيير شكل المجسم لجعله يتحرك, ومن طرق تغيير شكل المجسم لإظهار الحركة:



    (صورة لمدفع صُوّر بالتّصوير الفيزيائي مرةً وبنموذج فونج مرةً أخرى)



    يتضمن: OpenGL

    آخر تحديث: 17-12-2021

    الكاتب

    رامي عبدالله

    طالب جامعي سوري تخصص صيدلة. مهتم كثيراً بالتقنية و أدرس البرمجة ذاتياً كهواية و أحب مشاركة كل ما أتعلمه معكم لنشر هذا العلم الرائع في وطننا العربي و لتسهيل الطريق على المتعلمين الجدد.

    تعليقات 1

    أضف تعليق

    يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.
    إعلان
    دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
    دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
    تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
    دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن
      إعلان

      Eqla3Tech.com

      شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

      لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

      تقييم المقال

      لم تقم بتقييم المقال بعد!

      الدورات

      أدوات مساعدة

      الأقسام

      دورات
      مقالات أسئلة مشاريع كتب