moh_mou

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

3 ردود في هذا الموضوع

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

أخوانى الكرام عندى بروجيكت لصناعة مكعب بس انا اللى مش فاهمه ازاى احدد احدثيات المكعب خصوصا البعد 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)

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

أهلا بك أخي

أنا لا أعرف 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

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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

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

تم تعديل بواسطه moh_mou
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .