جدول المحتويات:

عارض ثلاثي الأبعاد: 4 خطوات
عارض ثلاثي الأبعاد: 4 خطوات

فيديو: عارض ثلاثي الأبعاد: 4 خطوات

فيديو: عارض ثلاثي الأبعاد: 4 خطوات
فيديو: طريقة صنع هولوجرام ثلاثي الابعاد للجوال اوالتاب hologram 3d 2024, شهر نوفمبر
Anonim
عارض ثلاثي الأبعاد
عارض ثلاثي الأبعاد

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

الخطوة 1: النظرية

النظرية
النظرية

لفهم نظرية هذا العارض ثلاثي الأبعاد ، يمكنك ببساطة فحص الطريقة التي ترى بها محيطك (من المفيد أن يكون لديك مصدر ضوء واحد مهم فقط). لاحظ أن:

  1. تشغل الأشياء البعيدة عنك جزءًا أصغر من مجال رؤيتك.
  2. تظهر الكائنات البعيدة عن مصدر الضوء بلون أغمق.
  3. عندما تصبح الأسطح أكثر توازيًا (أقل عمودية) مع مصدر الضوء ، فإنها تظهر بلون أغمق.

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

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

الخطوة الثانية: نظرية التنفيذ

نظرية التنفيذ
نظرية التنفيذ

لتبسيط البرنامج ، يكون مصدر الضوء هو نفسه النقطة المركزية (مقلة العين: النقطة التي تُعرض منها الخريطة ومن أين تنطلق الخطوط). على غرار الاحتفاظ بالضوء بجوار وجهك ، فإن هذا يزيل الظلال ويسمح بحساب سطوع كل بكسل بسهولة أكبر.

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

لتبسيط العمليات الحسابية ، تتكون الخريطة ثلاثية الأبعاد من مستويات ذات متغير مشترك (x أو y أو z) ، بينما المتغيرين غير الشائعين الآخرين محصورين ضمن نطاق ، مما يكمل تعريف كل مستوى.

للنظر حولك بالماوس ، تقوم معادلات البرنامج بعامل دوران رأسي وأفقي أثناء التحويل بين أنظمة الإحداثيات الكروية و xyz. هذا له تأثير تشكيل دوران على مجموعة "كرة سبايك" من خطوط الرؤية.

الخطوة 3: الرياضيات

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

r = المسافة ، t = ثيتا (الزاوية الأفقية) ، p = phi (الزاوية الرأسية) ، A = الدوران حول المحور Y (الدوران الرأسي) ، B = الدوران حول المحور Z (الدوران الأفقي)

Kx = (sin (p) * cos (t) * cos (A) + cos (p) * sin (A)) * cos (B) -sin (p) * sin (t) * sin (B)

Ky = (sin (p) * cos (t) * cos (A) + cos (p) * sin (A)) * sin (B) + sin (p) * sin (t) * cos (B)

Kz = -sin (p) * cos (t) * sin (A) + cos (p) * cos (A)

x = r * Kx

ص = ص * كي

ض = ص * كوز

r ^ 2 = x ^ 2 + y ^ 2 + z ^ 2

الإضاءة = Klight / r * (Kx أو Ky أو Kz)

p = arccos ((x * sin (A) * cos (B) + y * sin (A) * sin (B) + z * cos (A)) / r)

t = arccos ((x * cos (B) + y * sin (B) -p * sin (A) * cos (p)) / (r * cos (A) * sin (p)))

الخطوة 4: البرنامج

برنامج
برنامج

آمل أن يساعدك هذا النموذج الأولي للعارض ثلاثي الأبعاد في فهم طريقة عمل الواقع الافتراضي ثلاثي الأبعاد. مع المزيد من الإتقان والترميز ، من المؤكد أن هذا العارض لديه القدرة على استخدامه في تطوير الألعاب ثلاثية الأبعاد.

موصى به: