Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

Mesh.Intersect ماهو وكيفية التعامل معه ؟

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • Mesh.Intersect ماهو وكيفية التعامل معه ؟

    السلام عليكم

    الخاصية Mesh.Intersect من أوامر DirectX 9.0
    جذبتني ولكني لم أعرف كيف أتصرف معها
    رأيتهم يتحدثون عنها في هذا الموضوع ولكني لم أفهم شيئا مما قالوا
    http://dotnetforums.net/showthread.php?t=86214

    أظن أنها خاصة بكشف التصادم
    جربتها فإذا بالنتائج الغريبة التي تظهر معي

    أرجو منكم اعلامي ماهي وكيف أستخدمها بالطريقة الصحيحة وماهي عيوبها ؟


    تحياتي
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

  • #2
    بسم الله ،،

    بالنسبة للموضوع المشار اليه فلم يوضحوا كل شىء ..

    السائل في المنتدي يريد ان يستخدم الفارة في الالتقاط أو التحديد Picking مثلا شخصية .. سيارة . كمثال في العاب الاستراتجي او RTS - Real Time Strategy .. فانت تختار الشخصية بالماوس كمثال في لعبة Command And Conquer .

    المسالة : كيف يمكن الاختيار من بيئة ثلاثية الابعاد تحتوي علي الاحداثيات (x,y,z) من الفارة و التي تحتوي علي بعدين فقط ( x,y) و تتحرك علي شاشة في بعدين (x,y) .
    هذا ما يريده السائل هناك .. و لكنه لم يوضح المشكلة .

    حل المسألة ( الخوارزم) : الفكرة بسيطة و هي اسقاط شعاع من الماوس علي العالم بحيث اننا افترضنا ان المجسمات في هذا العالم محاطة بكرات (spheres) اى رسمنا كرات حولها و مكتبة D3DX توضح كيفية حساب هذه الكرات المحيطة بالمجسمات .. و الان نختبر اما إذا كان الشعاع و هو متجة له ثلاث مركبات X,Y,Z قطع الكرة ( المجسم) . إذا كان الشعاع قطع الكرة إذن تم الضغط علي المجسم مثلاً و من من ثم الان الشخصية قمنا بتحديدها لكي تمشي في العالم .

    النظرة الرياضية :
    فلنفرض ان مركز الدائرة( في حالة البعدين X,Y) او كرة (X,Y,Z) البعد الثالث ! - ( م) و هناك نقطة علي الدائرة ( ن ) .
    نصف قطر الدائرة ( نق) هو عبارة عن المتجة ( م ن) و إتجاه ( ن طرح م ) .
    و لمعرفة اذا كانت النقطة ( ن ) تقع علي الدائرة يجب ان تحقق هذه المعادلة
    | ن - م | - نق = صفر صحيح ؟ و من اين اتيت يا احمد بهذه المعادلة ؟! المعادلة صحيحة لان ( ن-م) يساوي نصف القطر إذا كان | ن - م | - نق = صفر .. و معني | ن - م | اى القيمة المطلقة ( المعيار ) لانه لا يوجد طول بالسالب ! .. تمام ؟
    و من ثم عرفنا إما اذا كانت نقطة تقع علي الدائرة ، كيف نعرف اذا كان شعاع قطع الدائرة ؟
    عوض عن معادلة الخط المستقيم في بعدين ام إذا كان في الثلاث ابعاد ( استخدم المعادلة البارمترية للخط المستقيم ) .
    فلنفرض اننا في ثلاث ابعاد .. المعادلة هي : F(t) = F0 + t * u
    انجليزي + عربي لمن يدرس بالعربي و الانجليزي
    عوض إذن بهذه المعادلة في المعادلة التي فوق .. ستحصل علي معادلة تربيعية quadrtic function لها بارمتران و هم t1,t2 بعد حل المعادلة ...
    و إذن 1- إذا كان الخط لم يقطع الكرة و بعيد عنها جداً - فانا قيمتين t1,t2 تخيلتين اى هناك جذر لعدد سالب
    2-إذا كان الخط داخل الكرة ( لم يقطعها بعض ) فاحدي القيمتين ستكون سالبة و الاخري موجبة
    3- إذا قطعها فهناك قيميتين موجبتين
    4- اذا كان مماس لها فان t1=t2 و قيميتين موجبتين .


    هذا كل ما في الامر . هذه النظرية عاملة - حتي يستطع مستخدموا البيسك و السى تطبيقها و يمكن الاستعانه بالدايركت اكس للتطبيق علي البيسك او السى ...

    Anderson Ahmed.
    رب زدنِى علماً
    جيتس و اينشتين احدثوا ثورة في مجالاتهم و لكن بعد كل هذا هل استطاعوا ان "يميزوا" بعد كل ذلك ان الله احد لم يلد و لم يولد ؟
    نعم - احمد صالح .
    برمجة الألعابُ هي عملية تــحويل الصور الميتة إلي صور حية - احمد صالح .
    الامـة التى تــفرط فى لغـــتها كالتى تفرط فى عرضها !!!
    انا لو لم اكن مصريا * لوددت أن اكون مصريا

    تعليق


    • #3
      شكرا لك أخي أحمد على التوضيح
      سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

      تعليق

      يعمل...
      X