الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اخوكم مبتدئ ومحتاج مساعدة بسيطة فى شرح نقطة بسيطة فى عمل مكعب بواسطة Vb6

بدأه moh_mou في 17 أبريل 2009 · 2 رد · 5,598 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخوانى الكرام عندى بروجيكت لصناعة مكعب بس انا اللى مش فاهمه ازاى احدد احدثيات المكعب خصوصا البعد z

انا فاهم انه المكعب ليه 6 وجوه وكل وجه 4 نقط يعنى الاجمالى 24 نقطة بس مش عارف ازاى احدد الارقام لكل نقطة وعلى اساس ايه

' Create the front face
Dx.CreateD3DLVertex 2, -2, 0, cWhite, 1, 0, 0, vFront(0)
Dx.CreateD3DLVertex -2, -2, 0, cRed, 1, 0, 0, vFront(1)
Dx.CreateD3DLVertex 2, 2, 0, cGreen, 1, 0, 0, vFront(2)
Dx.CreateD3DLVertex -2, 2, 0, cBlue, 1, 0, 0, vFront(3)

'Create the top face
Dx.CreateD3DLVertex -2, 2, 5, cRed, 1, 0, 0, vTop(0)
Dx.CreateD3DLVertex 2, 2, 5, cWhite, 1, 0, 0, vTop(1)
Dx.CreateD3DLVertex -2, 2, 0, cBlue, 1, 0, 0, vTop(2)
Dx.CreateD3DLVertex 2, 2, 0, cGreen, 1, 0, 0, vTop(3)

'Create the left face
Dx.CreateD3DLVertex 2, 2, 0, cBlue, 1, 0, 0, vLeft(0)
Dx.CreateD3DLVertex 2, 2, 5, cWhite, 1, 0, 0, vLeft(1)
Dx.CreateD3DLVertex 2, -2, 0, cGreen, 1, 0, 0, vLeft(2)
Dx.CreateD3DLVertex 2, -2, 5, cRed, 1, 0, 0, vLeft(3)

'create the back face
Dx.CreateD3DLVertex 2, 2, 5, cWhite, 1, 0, 0, vBack(0)
Dx.CreateD3DLVertex -2, 2, 5, cRed, 1, 0, 0, vBack(1)
Dx.CreateD3DLVertex 2, -2, 5, cBlue, 1, 0, 0, vBack(2)
Dx.CreateD3DLVertex -2, -2, 5, cGreen, 1, 0, 0, vBack(3)

'create the right face
Dx.CreateD3DLVertex -2, 2, 5, cBlue, 1, 0, 0, vRight(0)
Dx.CreateD3DLVertex -2, 2, 0, cGreen, 1, 0, 0, vRight(1)
Dx.CreateD3DLVertex -2, -2, 5, cWhite, 1, 0, 0, vRight(2)
Dx.CreateD3DLVertex -2, -2, 0, cRed, 1, 0, 0, vRight(3)

'create the bottom face
Dx.CreateD3DLVertex -2, -2, 0, cRed, 1, 0, 0, vBottom(0)
Dx.CreateD3DLVertex 2, -2, 0, cGreen, 1, 0, 0, vBottom(1)
Dx.CreateD3DLVertex -2, -2, 5, cBlue, 1, 0, 0, vBottom(2)
Dx.CreateD3DLVertex 2, -2, 5, cWhite, 1, 0, 0, vBottom(3)

بالله عليكم اى حد يعرف ميبخلش عليا بالرد لانى مستسهلتش وحطيت طلبى ده غير لما بحثت وتعبت ومش عايز أيأس

17.gifالحياة حقنة فصبر عليها 17.gif

Syringe.gif

#2

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

أهلا بك أخي

أنا لا أعرف Direct X ولكن سوف أجيبك من منطق Computer Graphics

- صحيح أن المكعب له 6 أوجهه و كل وجه له 4 نقاط ولكن هذا لا يعني أن له 24 نقطة , إنما له 8 نقاط فقط لأن هناك نقاط مشتركة بين عدة أوجهه (بإمكانك عدهم في الصورة)

- أتوقع لو قمت برسم المكعب بالشكل كما هو ظاهر بالأسفل كان سيكون حل المسأله أسهل بكثير عليك :)

- المستوى الديكارتي مرسوم بالازرق, لاحظ أن محور X متجه لليمين و محور Y متجه للأعلى و محور Z متجه إليك (إلى خارج الشاشة)

-طبعا كما نعلم تمثيل النقطة يتم من خلال 3 إحداثيات

v=(X,Y,Z)

post-133895-1240053642_thumb.jpg

* بإفتراض أننا سوف نقوم برسم مكعب تتمركز نقطته السفلى الخلفية على نقطة الأصل (0,0,0) طول أي ضلع في المكعب = 5

لإيجاد إحداثيات المكعب :

- الإحداثي الأول (المرقم برقم 1 على الصوره) إحداثياته (0,0,0) لأنه على نقطة المركز

- الإحداثي المرقم برقم 2 نحتاج لكي نصل إليه الإنتقال 5 خطوات إلى اليمين (أي على محور X) ما يعني أنه من أجل الحصول على الإحداثي الخاص به, نأخذ إحداثي النقطة 1 و نجمع للمركب X الخاص بها القيمة 5 فينتج لدينا الإحداثي (5,0,0)

- الإحداثي المرقم برقم 4 يتم إنشاءه بنفس طريقة الإحداثي 2 ولكن في هذه الحالة تم الإنتقال 5 درجات للأعلى (على محور Y) إذن ينتج لدينا الإحداثي (0,5,0)

- الإحداثي المرقم بالرقم 7 بنفس الطريقة و لكن هذه المرة نحتاج لتغير قيمة المركب Z بقيمة 5 درجات إذن لدينا الإحداثي (0,0,5)

- للحصول على الإحداثي المرقم بالرقم 8 نحتاج إلى الإنتقال من النقطة 7 إلى النقطة 8 (5 درجات إلى اليمين) بمعنى اننا سوف نزيد قيمة المركب X في إحداثي النقطة 7 بقيمة 5 درجات من أجل الحصول على إحداثي النقطة 8 , فينتج لدينا (5,0,5)

... وهكذا الأمر بالنسبة لباقي الإحداثيات ...

أرجو أن يكون المفهوم قد توضح. :happy:

1
#3

أخى خلدون مش عارف اشكرك ازاى شرح واضح مشاء الله

متشكررررر جدا على ردك واهتمامك :rolleyes:

جزاك الله كل خير وجعله فى ميزان حسناتك اللهم امين

تم تعديل هذه المشاركة بواسطة moh_mou في 18 أبريل 2009 في 17:56

17.gifالحياة حقنة فصبر عليها 17.gif

Syringe.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…