شرح نظرية ثلاثية الابعاد الأساسية

هذه الترجمة لم تكتمل. رجاءً ساعد بترجمة هذه المقالة من الإنجليزية.

This article explains all of the basic theory that's useful to know when you are getting started working with 3D.

نظام الاحداثيات الديكارتي

ثلاثي الابعاد بشكل أساسي هو عبارة عن تمثيل للأشكال في مساحة ثلاثية الابعاد مع نظام احداثي يستخدم لحساب موضع الاشكال.

يستخدم WebGL نظام الاحداثيات الديكارتي حيث يشير x الى محور السينات (اليمين) ويشير y الى محور الصادات (للأعلى) ويشير z الى محور الزينات (خارج الشاشة) كما هو موضح بالشكل التالي:Coordinate system

الكائنات 

تسمى النقطة التي تمثل الكائن في الفضاء بـِ الرأس vertices والتي تمثل موقع الكائن. كل نقطة لها عدة سمات وهي:

  1. الموقع: يحدد من خلال نقطة ثلاثية الابعاد x y z.
  2. اللون: يحمل قيمة مكونة من أربعة خانات وهي: قيمة اللون الأحمر وقيمة اللون الأخضر وقيمة اللون الأزرق وقيمة الشفافية التي تتراوح ما بين 0.0 و1.0.
  3. الاتجاه.
  4. البنية texture: وهي عبارة عن صورة ثنائية الابعاد تستخدم لتعبئة أحد السطوح بدلا من اللون.

 

Cube

 

فمثلا: الكائن أعلاه (مكعب) يحتوي على 8 رؤوس مختلفة في الفضاء v0,v1,v2,v3,v4,v5,v6,v7 وعلى 6 سطوح (أوجه) كل منها مكون من 4 نقاط.

  • عندما نقوم بتوصيل النقاط فإننا نقوم على انشاء حواف edge المكعب.
  • الهندسة geometry تبنى من خلال الرؤوس vertices والسطوح faces بينما المادة materials تتمثل في البنية texture والتي تكون اما لون أو صورة.
  • عندما نقوم بتوصيل الهندسة بالمادة فإننا نحصل على الشبكة mesh.

 

Rendering pipeline

يتم معالجة الجرافيك من خلال أخذ الكائنات ثلاثية الابعاد والتي يتم انشاءها من العناصر الأولية (نقطة، مثلث، خط) باستخدام الرؤوس ومن ثم حساب الأجزاء fragments وعرضها على الشاشة (ثنائية الابعاد) بوحدة البيكسل pixel.

Rendering pipeline

 

المصطلحات المستخدمة في الرسمة أعلاه هي كالتالي:

  1. العنصر البدائي primitive: والذي يتكون من الرؤوس والتي تكون اما مثلث أو نقطة أو خط.
  2. الجزء fragment: وهو اسقاط ثلاثي الابعاد لبيكسل والذي يحمل نفس السمات المميزة لكل بيكسل.
  3. البيكسل pixel: نقطة على الشاشة ثنائية الابعاد والتي تحمل قيمة لون RGBA.

 

معالجة الرؤوس

يتم معالجة الرؤوس من خلال جمع المعلومات حول كل رأس على حدا في العنصر البدائي وتعيين احداثياتها في المساحة ثلاثية الابعاد للمشاهد ليراها. وتشبه المعالجة طريقة أخذ صورة لمشهد أنت قمت باعداه (وضع الأشياء بمكانها المناسب ومن ثم تهيئة الكمرة ومن ثم أخذ الصورة).Vertex processing

 

هناك أربع مراحل لهذه العملية:

  1. ترتيب المكونات objects والتي تسمى تحويل النموذج modal transformation.
  2. تحويل العرض view transformation والذي يعتني بالموضع وتحديد اتجاه الكمرة في الفضاء ثلاثي الابعاد حيث يتم ضبط الكمرة من خلال ثلاثة متغيرات وهي الموقع والاتجاه والتوجيه.
     

Camera

  1. تحويل الاسقاط projection transformation والذي يدعى أيضا تحويل المنظور perspective transformation حيث يعتني بإعداد ما يمكن رؤيته بواسطة الكمرة من خلال اعداد مجال الرؤية ونسبة العرض الى الارتفاع aspect ratio والقرب والبعد.

Camera settings

 

  1.  تحويل إطار العرض viewport transformation والذي يهتم بكل المخرجات في طريقة عرض الجرافيك على الشاشة.

 

 

المسح المجالي

يتم بالمسح المجالي تحويل الاشكال الأولية الناتجة عن توصيل الرؤوس الى مجموعة من الأجزاء fragments (اسقاطات ثلاثية الابعاد للبيكسلات ثنائية الابعاد) حيث يتم محاذاتها مع شبكة البيكسل.Rasterization

 

معالجة الجزء

ترتكز معالجة الأجزاء على البنية texture والإضاءة حيث تقوم بحساب الألوان النهائية استنادًا إلى المعلمات المحددة.

Fragment processing

الإضاءة

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

 

هناك أربع أنواع أساسية من الإضاءة:

  • ضوء اتجاهي Diffuse بعيد مثل الشمس.
  • نقطة ضوئية Specular مثل مصباح الإضاءة في الغرفة.
  • ضوء محيطي Ambient وهو ضوء ثابت ينعكس على كل شيء.
  • ضوء اشعاعي Emissive وهو الضوء المنبعث مباشرة من الكائن.

مخرجات الدمج

أثناء مرحلة معالجة المخرجات يتم تحويل جميع أجزاء الأوليات من الفضاء ثلاثي الابعاد الى شبكة ثنائية الابعاد من البيكسلات ثم تطبع على الشاشة. أيضا يتم تطبيق بعض المعالجات من أجل تجاهل بعض المعلومات الغير مطلوبة مثل الكائنات الغير مرئية أو الأجزاء خارج الشاشة أو الكائنات التي تقع خلف كائنات أخرى.

Output merging

 

Document Tags and Contributors

المساهمون في هذه الصفحة: HusseinYounis
آخر مَن حدّثها: HusseinYounis,