Modelul de reflecție al lui Phong

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea aplicației aproape omonime a acestei metode, consultați umbrirea Phong .

Modelul de reflecție al lui Phong (numit și iluminarea Phong sau iluminatul Phong ) este un model empiric de iluminare locală a punctelor de pe o suprafață. În grafica computerizată 3D , este adesea denumită în mod ambiguu „ umbrire Phong ”, mai ales dacă modelul este utilizat împreună cu metoda de interpolare cu același nume și în contextul umbrelor de pixeli sau a altor zone în care un calcul al iluminării poate fi să fie denumit „ umbrire ”.

Istorie

Modelul de reflecție al lui Phong a fost dezvoltat de Bui Tuong Phong de la Universitatea din Utah , care l-a publicat în disertația sa de doctorat în 1975. [1] [2] A fost publicat împreună cu o metodă de interpolare a calculului fiecărui pixel individual care este rasterizat dintr-un model poligonal ; tehnica de interpolare este cunoscută sub numele de umbrire Phong, chiar și atunci când este utilizată cu un alt model de reflecție decât Phong. Metodele lui Phong au fost considerate radicale la momentul introducerii lor și de atunci au devenit de facto linia de bază pentru metodele de umbrire a multor aplicații de redare. Metodele Phong au devenit populare datorită utilizării în general eficiente a timpului de calcul pe pixel redat.

Aspecte teoretice

Reflecția lui Phong este un model empiric de iluminare locală. Descrie modul în care suprafața reflectă lumina, ca o combinație a reflexiei difuze a suprafețelor aspre cu reflexia speculară a suprafețelor strălucitoare. Se bazează pe observația informală a lui Phong că suprafețele strălucitoare au puncte mici de lumină intense, în timp ce suprafețele teșite au puncte mai mari de lumină care cad mai treptat. Modelul include, de asemenea, un termen de reflecție a mediului pentru a explica cantitatea mică de lumină care este împrăștiată pe întreaga scenă.

Ilustrație vizuală a ecuației Phong: aici lumina este albă, culorile ambiante și difuze sunt ambele albastre, iar culoarea speculară este albă, care reflectă puțin din lumina care lovește suprafața, dar se află în puncte de lumină foarte mici. Intensitatea componentei difuze variază în funcție de direcția suprafeței, iar componenta mediului este uniformă (independent de direcție)

Pentru fiecare sursă de lumină din scenă, respectiv componentele sunt definite Și precum intensitățile (adesea în funcție de valorile RGB ) ale componentelor difuze și speculare ale surselor de lumină, respectiv. Un singur termen controlează iluminarea ambientală; uneori se calculează ca suma contribuțiilor tuturor surselor de lumină.

Pentru fiecare material din scenă, sunt definiți următorii parametri:

  • , care este constanta de reflexie speculară, raportul dintre reflexia termenului specular al luminii proiectate
  • , care este constanta de reflecție difuză, raportul dintre reflexia termenului difuz al luminii proiectate (suprafața Lambert)
  • , care este constanta reflectării mediului, relația reflectării termenului de mediu prezent în toate punctele scenei redate
  • , care este constanta de luciu pentru acel material, care este mai mare pentru suprafețele care sunt mai netede și mai asemănătoare oglinzilor. Când această constantă este mare, punctul specular al luminii este mic.
Diagrama de funcționare a modelului de reflecție Phong

În plus, avem:

  • , care este ansamblul tuturor surselor de lumină
  • , care este vectorul care merge de la punctul de la suprafață la fiecare sursă de lumină ( specificați sursa de lumină)
  • , care este normalul acestui punct de la suprafață
  • , care este direcția pe care o va lua o rază de lumină perfect reflectată din acest punct de la suprafață
  • , care este direcția care indică spre observator (ca o cameră virtuală)

Apoi modelul de reflecție al lui Phong oferă o ecuație pentru calcularea iluminării fiecărui punct a suprafeței:

unde vectorul este calculat ca o reflectare a pe suprafața caracterizată de normal folosind formula . Cappelletti indică faptul că vectorii sunt normalizați.

Termenul difuz nu este influențat de direcția observatorului . Termenul specular este mare numai atunci când direcția observatorului este aliniată cu direcția reflecției . Alinierea lor este măsurată de putere a cosinusului unghiului dintre ele. Cosinusul unghiului dintre vectorii normalizați Și este egal cu produsul lor dot. Cand este mare, în cazul unei reflexii apropiate de cea a unei oglinzi, punctul de lumină specular va fi mic, deoarece niciun punct de vedere nealiniat nu va avea un cosinus mai mic decât cel care tinde rapid la zero atunci când este ridicat la o putere mare .

Deși formularea scrisă mai sus este modalitatea obișnuită de prezentare a modelului de reflecție al lui Phong, fiecare termen ar trebui să fie inclus numai produsul punct al termenului este pozitiv (în plus, termenul oglindă ar trebui inclus numai dacă produsul punct al termenului difuz este pozitiv ).

Când culoarea este reprezentată de valori RGB, ca de multe ori în cazul graficii pe computer, această ecuație este modelată separat pentru intensitatea R, G și B, permițând constante de reflecție diferite , Și pentru diferite canale de culoare.

Aplicații

Așa cum s-a menționat mai sus, modelul de reflecție Phong este adesea utilizat împreună cu umbrirea Phong pentru a umbri suprafețele în software-ul grafic computerizat 3D. În plus, ar putea fi utilizat în alte scopuri. De exemplu, a fost folosit pentru a modela reflexia radiației termice în programul Pioneer în timpul unei încercări de a explica anomalia Pioneer . [3]

Notă

  1. ^ Bui Tuong Phong, Iluminare pentru imagini generate de computer ( PDF ).
  2. ^ Școala de calcul a Universității din Utah , cs.utah.edu .
  3. ^ F. Francisco; O. Bertolami, Modelarea contribuției termice reflectante la accelerația navei spațiale Pioneer .

Elemente conexe

linkuri externe

Modelul de reflecție al lui Phong asupra Matlab

Modelul de reflecție al lui Phong asupra GLSL

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT