سؤال

أنا أعمل على RayTracer لمشروع جانبي كبير، حيث كان الهدف من أن ينتج عنه ريندرز واقعي دون القلق بشأن وقت وحدة المعالجة المركزية. أساسا التقديم مسبقا، لذلك أنا ذاهب للتأكد من دقتها على السرعة.

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

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

شكرا

هل كانت مفيدة؟

المحلول

ال المنتج نقطة من السطح ناقلات العادي وسيقدم لك متجه ضوء الحادث جيب تسريع زاوية الإصابة، إذا كنت تطبيع ناقلاتك.

نصائح أخرى

ملاحظة: من حيث أنا جالس الآن، لا يمكنني تحميل صورة لك. سأحاول وضعه لك في الكلمات، رغم ذلك.

إليك كيف يمكنك تخيل هذه العملية:

حدد نص Alt http://www.youraquations.com/eq.latex؟٪5Chat٪7bn 27d. بصفتك الطبيعية الطبيعية (ناقلات الرأس الرأسي الذي يخرج من مضلعك المستوي الخاص بك وطول الوحدة، مما يجعل الرياضيات أسهل).

حدد النص بديل http://www.youraquations.com/eq.latex؟p_0. كما نقطة مقلة العين.

حدد النص البديل http://www.youraquations.com/eq.latex؟p_1. كما نقطة التأثير في "راي العينين" على المضلع.

حدد نص Alt http://www.youraquations.com/eq.latex؟٪5Chat٪7BV٪7D. كما يتعارض المتجه الطبيعي من النص البديل http://www.youraquations.com/eq.latex؟p_1. ارجع الى النص بديل http://www.youraquations.com/eq.latex؟p_0.. وبعد يمكنك كتابة هذا مثل ذلك:

نص alt http://www.youraquations.com/eq.latex؟٪5Chat٪7BV٪7D٪20=٪20٪5CFRAC٪7B٪5COVERRIGHTROW٪7B (P_0٪ 20-٪ 20P_1)٪ 7D٪ 7D٪ 7B | | P_0٪ 20-٪ 20P_1 ||٪ 7D

لذلك، لقد قمت بإنشاء ناقلات بهذا النقاط من النص البديل http://www.youraquations.com/eq.latex؟p_1. ل النص بديل http://www.youraquations.com/eq.latex؟p_0. ثم انقسم هذا ناقل بطوله الخاص، مما يتيح لك متجه طول 1 نقاط النص البديل http://www.youraquations.com/eq.latex؟p_1. ل النص بديل http://www.youraquations.com/eq.latex؟p_0.

السبب في أننا ذهبنا إلى كل هذه المشكلة هو أننا نود حقا الزاوية النص البديل http://www.yourquations.com/eq.latex؟٪5CTHETA. وهي الزاوية بين المعتاد نص Alt http://www.youraquations.com/eq.latex؟٪5Chat٪7bn 27d. وهذا ناقل نص Alt http://www.youraquations.com/eq.latex؟٪5Chat٪7BV٪7D. أنك فقط أنشأت. كلمة أخرى لثيتا هي زاوية السقوط.

طريقة سهلة لحساب هذه الزاوية من الإصابة هي استخدام المنتج نقطة. وبعد باستخدام المصطلحات المحددة أعلاه، تأخذ مكونات X و Y و Z لكل من ناقلات طول الوحدة هذه، مضاعفة لهم معا وإضافة المبالغ للحصول على منتج النقطة.

النص البديل http://www.youraquations.com/eq.latex؟٪5Chat٪7BN٪7D٪20٪5CCDOT٪20٪5CHAT٪7BV٪7D٪20=٪20٪5CCOS٪7B٪5CTHETA٪7D٪20=. ٪ 20n_x٪ 20٪ 20V_x٪ 20 +٪ 20n_y٪ 20٪ 20V_Y٪ 20 +٪ 20N_Z٪ 20٪ 20V_Z

لكي يحسب النص البديل http://www.yourquations.com/eq.latex؟٪5CTHETA., ، لذلك، يمكنك استخدام جيب التمام العكسية على المنتج DOT:

النص البديل http://www.youraquations.com/eq.latex؟٪5CTHETA٪20=٪20٪5Carccos٪28٪5CHAT٪7BN٪7D٪20٪5CCDOT٪20٪5CHAT٪7BV٪7D٪29.

تحرير: تعديل ما ورد أعلاه لإضافة youreccations.com. التنسيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top