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

كيف يمكن ايجاد اوجه (faces) لل (mesh)

بدأه modn3 في 29 أبريل 2009 · 6 رد · 2,373 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

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

الاخوة الكرام،

اود ان اسال سؤالا، لنفترض ان لدينا مجموعة من (vertices)، ونريد عمل (mesh) منها، وذلك يتطلب ايجاد اوجه لها (faces)، ونحن نريد عمل ذلك يدويا،

فهل من احد يعرف ما هي الخوارزمية (algorithm) المتبعة في عمل ذلك، اي ان لكل وجه ثلاثة نقاط (vertices) فكيف يمكن معرفتها؟؟؟

#2

حول المجسم الID3DXMesh و استخدم GetFaceCount و قم بعمل lock , unlock لوعاء النقط vertex buffer اسهل لك .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#3

وعليكم السلام ورحمه الله،

حسب ما فهمت من سؤالك، تود معرفة الضوابط التي بموجبها تحدد رؤوس (vertices) الوجوه؟

ليست هنالك في الحقيقة خوارزمية ثابتة لتحديد الوجوه، الأمر متروك لك، ولكن هنالك ضوابط يجب معرفتها للقيام بالموضوع بطريقة صحيحة، أذكر منها:

- طريقة تحديد الرؤوس الثلاثة مع عقرب الساعة أو عكس عقرب الساعة تؤثر، لأن DirectX يعتبر الوجه أمامي عندما تحدد الرؤوس مع عقرب الساعة أما الوجوه عكس عقرب الساعة فيعتبر خلفي ولن يتم رسمه، يمكن بالطبع تغيير ذلك عن طريق الـ Render State المسماة D3DRS_CULLMODE.

post-115785-1241450136_thumb.png

- يمكن لعدة وجوه مشاركة الرؤوس نفسها، من ما يعني إن وجهين أو أكثر يمكنهم استخدام الـ vertex نفسه، وذلك يشكل أساس طريقة الرسم المفهرس indexed.

- عند استخدام طريقة الرسم Triangle List لا يهم تسلسل المثلثات التي يتم تحديدها (وهذه هي الطريقة الشائعة الاستعمال)، ولكن عند استخدام طريقة Triangle Strip أو Triangle Fan يجب إتباع تسلسل محدد، يمكنك الاستعانة بوثائق DirectX لمعلومات أكثر.

أما كيف يتم تعريف الوجوه برمجياً، فيمكنك الاستعانة بدروس DirectX أو أي كتاب، إقرأ حول استخدام الـ Vertex Buffers (و Index Buffers إن أردت التوسع)، وإن كانت لديك أي أسئلة، لا تتردد في طرحها. :)

بالتوفيق

1
#4

ممكن تعرف عن طريق اتجاه ال Normal

اتجاه ال Normal (مش عارف اسمه بالعربي :blush: ) هو السطح..

http://members.tripod.com/Paul_Kirby/vector/Vplane.html

تم تعديل هذه المشاركة بواسطة besten في 10 مارس 2010 في 12:25

قبل ما تسأل جرب تجوجل!!!

#5

Normal يُسمي العمودي و هو المتجه العمودي علي اي سطح مستوي .

1

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#6
احمد صالح كتب:

Normal يُسمي العمودي و هو المتجه العمودي علي اي سطح مستوي .

شكراً..

سهل توضيحه بالإنجليزية.. بس العربية.. ماظنش :blush:

قبل ما تسأل جرب تجوجل!!!

#7

السلام عليكم

normal = الناظم

مهمته تسهيل حساب تأثيرات الإنارة و الخامات و كل شيء يستوجب إنارة.

أي أنك لو أردت مشهد يحوي على تفاصيل ( تلك التفاصيل تحددها الإنارة تماما مثل العالم الحقيقي ) فعليك بحساب ناظم لكل (رأس = vertex).

تخيل, هل سيكون مستقبل الأوبن جي أل مع البشرية هكذا

future.jpg

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