نموذج انعكاس فونغ

توضيح مرئي لمعادلة فونغ: هنا يكون الضوء أبيض، واللون المحيط واللون المنتشر أزرقان، واللون اللامع أبيض، يعكس جزءًا صغيرًا من الضوء الساقط على السطح، ولكن فقط في مناطق مضاءة ضيقة جدًا. تتغير شدة المكون المنتشر بتغير اتجاه السطح، بينما يكون المكون المحيط ثابتًا (غير مرتبط بالاتجاه).

نموذج انعكاس فونغ (يُسمى أيضًا إضاءة فونغ ) هو نموذج تجريبي للإضاءة الموضعية لنقاط على سطح ، صممه باحث رسومات الحاسوب بوي تونغ فونغ . في رسومات الحاسوب ثلاثية الأبعاد ، يُشار إليه أحيانًا باسم "تظليل فونغ" ، خاصةً عند استخدام النموذج مع طريقة الاستيفاء التي تحمل الاسم نفسه ، وفي سياق مُظلِّلات البكسل أو غيرها من المواضع التي يُمكن فيها الإشارة إلى حساب الإضاءة باسم " التظليل ".

تاريخ

طُوِّر نموذج انعكاس فونغ على يد بوي تونغ فونغ في جامعة يوتا ، ونُشر في أطروحته للدكتوراه عام ١٩٧٥. [ ١ ] [ ٢ ] نُشر النموذج بالتزامن مع طريقة لاستكمال حسابات كل بكسل على حدة ، يتم تحويله إلى صورة نقطية من نموذج سطح متعدد الأضلاع؛ تُعرف تقنية الاستكمال هذه باسم تظليل فونغ ، حتى عند استخدامها مع نموذج انعكاس آخر غير نموذج فونغ. اعتُبرت طرق فونغ ثورية عند ظهورها، لكنها أصبحت منذ ذلك الحين الطريقة الأساسية الفعلية للتظليل في العديد من تطبيقات العرض ثلاثي الأبعاد. وقد لاقت طرق فونغ رواجًا واسعًا نظرًا لكفاءتها العالية في استخدام وقت الحساب لكل بكسل مُعالَج.

المفاهيم

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

لكل مصدر ضوء في المشهد، المكوناتأناs{\displaystyle i_{\text{s}}}وأناد{\displaystyle i_{\text{d}}}تُعرَّف بأنها شدة (غالبًا كقيم RGB ) المكونات الانعكاسية والمنتشرة لمصادر الضوء، على التوالي. مصطلح واحدأناأ{\displaystyle i_{\text{a}}}يتحكم في الإضاءة المحيطة؛ ويتم حسابه أحيانًا كمجموع مساهمات من جميع مصادر الضوء.

يتم تحديد المعلمات التالية لكل مادة في المشهد:

كs{\displaystyle k_{\text{s}}}، وهو ثابت الانعكاس المرآوي، نسبة انعكاس الحد المرآوي للضوء الساقط،
كد{\displaystyle k_{\text{d}}}، وهو ثابت الانعكاس المنتشر، نسبة انعكاس الحد المنتشر للضوء الوارد ( انعكاس لامبرتي ).
كأ{\displaystyle k_{\text{a}}}، وهو ثابت انعكاس الإضاءة المحيطة، ونسبة انعكاس الإضاءة المحيطة الموجودة في جميع النقاط في المشهد المعروض، و
α{\displaystyle \alpha }وهو ثابت لمعان هذه المادة، ويكون أكبر على الأسطح الأكثر نعومةً وشبهاً بالمرآة. عندما يكون هذا الثابت كبيراً، يكون اللمعان الانعكاسي صغيراً.
متجهات لحساب تظليل فونغ وبلين-فونغ

علاوة على ذلك، هناك

أضواء{\displaystyle {\text{lights}}}، وهي مجموعة جميع مصادر الضوء،
L^م{\displaystyle {\hat {L}}_{m}}، وهو متجه الاتجاه من النقطة على السطح باتجاه كل مصدر ضوئي (م{\displaystyle m}(يحدد مصدر الضوء)
شمال^{\displaystyle {\hat {N}}}وهو الوضع الطبيعي عند هذه النقطة على السطح،
R^م{\displaystyle {\hat {R}}_{m}}وهو الاتجاه الذي سيسلكه شعاع الضوء المنعكس تمامًا من هذه النقطة على السطح، و
V^{\displaystyle {\hat {V}}}، وهو الاتجاه الذي يشير نحو المشاهد (مثل الكاميرا الافتراضية).

ثم يوفر نموذج انعكاس فونغ معادلة لحساب إضاءة كل نقطة على السطحأناص{\displaystyle I_{\text{p}}}:

أناص=كأأناأ+مأضواء(كد(L^مشمال^)أنام،د+كs(R^مV^)αأنام،s).{\displaystyle I_{\text{p}}=k_{\text{a}}i_{\text{a}}+\sum _{m\;\in ​​\;{\text{lights}}}(k_{\text{d}}({\hat {L}}_{m}\cdot {\hat {N}})i_{m,{\text{d}}}+k_{\text{s}}({\hat {R}}_{m}\cdot {\hat {V}})^{\alpha }i_{m,{\text{s}}}).}

حيث متجه الاتجاهR^م{\displaystyle {\hat {R}}_{m}}يتم حسابها كانعكاس لـL^م{\displaystyle {\hat {L}}_{m}}على السطح الذي يتميز بالعمودي على السطحشمال^{\displaystyle {\hat {N}}}استخدام

R^م=2(L^مشمال^)شمال^-L^م{\displaystyle {\hat {R}}_{m}=2({\hat {L}}_{m}\cdot {\hat {N}}){\hat {N}}-{\hat {L}}_{m}}

تشير القبعات إلى أن المتجهات مُعَيَّرة . لا يتأثر الحد المنتشر باتجاه المشاهد (V^{\displaystyle {\hat {V}}}يكون الحد الانعكاسي كبيرًا فقط عندما يكون اتجاه المشاهد (V^{\displaystyle {\hat {V}}}) محاذٍ لاتجاه الانعكاسR^م{\displaystyle {\hat {R}}_{m}}يتم قياس محاذاتهم بواسطةα{\displaystyle \alpha }قوة جيب تمام الزاوية بينهما. جيب تمام الزاوية بين المتجهين المعياريينR^م{\displaystyle {\hat {R}}_{m}}وV^{\displaystyle {\hat {V}}}يساوي حاصل ضربهما القياسي . عندماα{\displaystyle \alpha }إذا كانت كبيرة، ففي حالة الانعكاس الشبيه بالمرآة تقريبًا، سيكون اللمعان المرآوي صغيرًا، لأن أي نقطة رؤية غير متوافقة مع الانعكاس سيكون لها جيب تمام أقل من واحد يقترب بسرعة من الصفر عند رفعه إلى قوة عالية.

على الرغم من أن الصيغة المذكورة أعلاه هي الطريقة الشائعة لعرض نموذج انعكاس فونغ، إلا أنه لا ينبغي تضمين أي حد إلا إذا كان حاصل ضربه النقطي موجبًا. (بالإضافة إلى ذلك، لا ينبغي تضمين الحد الانعكاسي إلا إذا كان حاصل ضرب الحد المنتشر فيه موجبًا).

عندما يتم تمثيل اللون بقيم RGB ، كما هو الحال غالبًا في رسومات الحاسوب ، يتم عادةً نمذجة هذه المعادلة بشكل منفصل لشدة R و G و B، مما يسمح بثوابت انعكاس مختلفة.كأ،{\displaystyle k_{\text{a}},}كد{\displaystyle k_{\text{d}}}وكs{\displaystyle k_{\text{s}}}بالنسبة لقنوات الألوان المختلفة .

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

هناك تقريب آخر [ 3 ] يتناول حساب الأس في الحد الانعكاسي، وهو كالتالي: بالنظر إلى أنه يجب أخذ الحد الانعكاسي في الاعتبار فقط إذا كان حاصل ضربه القياسي موجبًا، فيمكن تقريبه على النحو التالي:

الأعلى(0،R^مV^)α=الأعلى(0،1-λ)βγ=(الأعلى(0،1-λ)β)γالأعلى(0،1-βλ)γ{\displaystyle \max(0,{\hat {R}}_{m}\cdot {\hat {V}})^{\alpha }=\max(0,1-\lambda )^{\beta \gamma }=\left(\max(0,1-\lambda )^{\beta }\right)^{\gamma }\approx \max(0,1-\beta \lambda )^{\gamma }}

أينλ=1-R^مV^{\displaystyle \lambda =1-{\hat {R}}_{m}\cdot {\hat {V}}}، وβ=α/γ{\displaystyle \beta =\alpha /\gamma \,}هو عدد حقيقي ، وليس بالضرورة أن يكون عددًا صحيحًا .γ{\displaystyle \gamma }يتم اختياره ليكون قوة للعدد 2، أيγ=2ن{\displaystyle \gamma =2^{n}}أينن{\displaystyle n}إذا كان عددًا صحيحًا، فإن التعبير(1-βλ)γ{\displaystyle (1-\beta \lambda )^{\gamma }}يمكن حسابها بكفاءة أكبر عن طريق التربيع(1-βλ) ن{\displaystyle (1-\beta \lambda )\ n}مرات، أي

(1-βλ)γ=(1-βλ)2ن=(1-βλ)22...2ن=(...((1-βλ)2)2...)2ن.{\displaystyle (1-\beta \lambda )^{\gamma }\,=\,(1-\beta \lambda )^{2^{n}}\,=\,(1-\beta \lambda )^{\overbrace {\scriptstyle 2\,\cdot \,2\,\cdot \,\dots \,\cdot \,2} ^{n}}\,=\,(\dots ((1-\beta \lambda )\overbrace {^{2})^{2}\dots )^{2}} ^{n}.}

هذا التقريب للحد الانعكاسي صالح لعدد صحيح كبير بما فيه الكفايةγ{\displaystyle \gamma }(عادةً، 4 أو 8 ستكون كافية).

علاوة على ذلك، القيمةλ{\displaystyle \lambda }يمكن تقريبها على النحو التاليλ=(R^م-V^)(R^م-V^)/2{\displaystyle \lambda =({\hat {R}}_{m}-{\hat {V}})\cdot ({\hat {R}}_{m}-{\hat {V}})/2}أو كماλ=(R^م×V^)(R^م×V^)/2.{\displaystyle \lambda =({\hat {R}}_{m}\times {\hat {V}})\cdot ({\hat {R}}_{m}\times {\hat {V}})/2.}الأخير أقل حساسية بكثير لأخطاء التطبيع فيR^م{\displaystyle {\hat {R}}_{m}}وV^{\displaystyle {\hat {V}}}أكثر من نموذج فونغ القائم على الضرب النقطيλ=1-R^مV^{\displaystyle \lambda =1-{\hat {R}}_{m}\cdot {\hat {V}}}هو ، ولا يتطلب عملياًR^م{\displaystyle {\hat {R}}_{m}}وV^{\displaystyle {\hat {V}}}يجب تطبيعها باستثناء شبكات المثلثات ذات الدقة المنخفضة جدًا.

تستبدل هذه الطريقة بعض عمليات الضرب بعملية أسية متغيرة، وتزيل الحاجة إلى تطبيع دقيق للمتجهات يعتمد على الجذر التربيعي المقلوب.

النموذج العكسي

يُعدّ نموذج انعكاس فونغ، مقترنًا بتظليل فونغ، تقريبًا لتظليل الأجسام في الواقع. وهذا يعني أن معادلة فونغ تربط التظليل الظاهر في الصورة الفوتوغرافية بالمتجهات العمودية على سطح الجسم المرئي. أما العكس، فيشير إلى الرغبة في تقدير المتجهات العمودية على السطح انطلاقًا من صورة مُعالجة، سواء كانت طبيعية أو مُنشأة حاسوبيًا.

يحتوي نموذج انعكاس فونغ على العديد من المعاملات، مثل معامل الانعكاس المنتشر للسطح ( البياض )، والذي قد يختلف داخل الجسم. لذا، لا يمكن تحديد المتجهات العمودية لجسم في صورة فوتوغرافية إلا بإدخال معلومات إضافية مثل عدد مصادر الضوء واتجاهاتها ومعاملات الانعكاس.

على سبيل المثال، لدينا جسم أسطواني، كإصبع مثلاً، ونريد حساب العمودي عليه.شمال=[شمالx،شمالz]{\displaystyle N=[N_{x},N_{z}]}على خط على الجسم. نفترض وجود مصدر ضوء واحد فقط، وعدم وجود انعكاس منتظم، ومعاملات انعكاس معروفة (تقريبية) منتظمة. يمكننا عندئذٍ تبسيط معادلة فونغ إلى:

أناص(x)=جأ+جد(L(x)شمال(x)){\displaystyle I_{p}(x)=C_{a}+C_{d}(L(x)\cdot N(x))}

معجأ{\displaystyle C_{a}}ثابت يساوي الإضاءة المحيطة وجد{\displaystyle C_{d}}ثابت يساوي معامل الانعكاس الانتشار. يمكننا إعادة كتابة المعادلة على النحو التالي:

(أناص(x)-جأ)/جد=L(x)شمال(x){\displaystyle (I_{p}(x)-C_{a})/C_{d}=L(x)\cdot N(x)}

ويمكن إعادة كتابة ذلك لخط يمر عبر الجسم الأسطواني على النحو التالي:

(أناص-جأ)/جد=Lxشمالx+Lzشمالz{\displaystyle (I_{p}-C_{a})/C_{d}=L_{x}N_{x}+L_{z}N_{z}}

على سبيل المثال، إذا كان اتجاه الضوء بزاوية 45 درجة فوق الجسمL=[0.71،0.71]{\displaystyle L=[0.71,0.71]}نحصل على معادلتين بمجهولين.

(أناص-جأ)/جد=0.71شمالx+0.71شمالz{\displaystyle (I_{p}-C_{a})/C_{d}=0.71N_{x}+0.71N_{z}}
1=(شمالx2+شمالz2){\displaystyle 1={\sqrt {(N_{x}^{2}+N_{z}^{2})}}}

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

إذا لم يكن الجسم أسطوانيًا، فسيكون لدينا ثلاث قيم عمودية غير معروفةشمال=[شمالx،شمالy،شمالz]{\displaystyle N=[N_{x},N_{y},N_{z}]}ثم تسمح المعادلتان بدوران المتجه العمودي حول متجه الرؤية، مما يستلزم قيودًا إضافية مستمدة من المعلومات الهندسية المسبقة. على سبيل المثال، في مجال التعرف على الوجوه، يمكن الحصول على هذه القيود الهندسية باستخدام تحليل المكونات الرئيسية (PCA) على قاعدة بيانات لخرائط عمق الوجوه، مما يسمح فقط بحلول المتجهات العمودية السطحية الموجودة في مجموعة طبيعية. [ 4 ]

التطبيقات

يُستخدم نموذج انعكاس فونغ غالبًا مع تظليل فونغ لتظليل الأسطح في برامج الرسومات الحاسوبية ثلاثية الأبعاد . إلى جانب ذلك، يمكن استخدامه لأغراض أخرى. على سبيل المثال، استُخدم لنمذجة انعكاس الإشعاع الحراري من مجسات بايونير في محاولة لتفسير شذوذ بايونير . [ 5 ]

انظر أيضاً

مراجع

  1. بوي ​​تونغ فونغ، الإضاءة للصور المولدة بواسطة الكمبيوتر ، اتصالات ACM 18 (1975)، العدد 6، 311-317.
  2. كلية علوم الحاسوب بجامعة يوتا، http://www.cs.utah.edu/school/history/#phong-ref
  3. ليون، ريتشارد ف. (2 أغسطس 1993). "إعادة صياغة تظليل فونغ لتبسيط مُعالج العرض على مستوى الأجهزة" (ملف PDF) . تم الاطلاع عليه في 7 مارس 2011 .
  4. ^ بوم ، بي جيه. سبريويرز، LJ. فيلدهويس، RNJ (سبتمبر 2009). جيانغ، شياويى. بيتكوف، نيكولاي (محرران). تصحيح الإضاءة المستند إلى النموذج لصور الوجه في السيناريوهات غير المنضبطة . ملاحظات محاضرة في علوم الكمبيوتر. المجلد. 5702. ص 33 – 40. بيب كود : 2009LNCS.5702 .....J . دوى : 10.1007/978-3-642-03767-2 . اتش دي ال : 11693/26732 . رقم ISBN   978-3-642-03766-5.
  5. ف. فرانسيسكو؛ أ. بيرتولامي؛ ب. ج. س. جيل؛ ج. باراموس (2012). "نمذجة المساهمة الحرارية الانعكاسية في تسارع مركبة بايونير الفضائية". مجلة أبحاث الفضاء المتقدمة . 49 (3): 337-346 . arXiv : 1103.5222 . Bibcode : 2012AdSpR..49..579S . doi : 10.1016/j.asr.2011.10.016 .
  • نموذج انعكاس فونغ في ماتلاب
  • نموذج انعكاس فونغ في لغة GLSL