Cunoaște Intuit, curs, îndepărtarea suprafețelor ascunse și a liniilor

ray tracing

Ideea principală a acestui algoritm a fost propus în 1968 A.Appelem și prima punere în aplicare a fost realizată în 1971

Observatorul vede orice obiect emise de o sursă de lumină care cade pe obiect. reflectate sau refractate de legile opticii, și apoi într-un fel vine la ochiul observatorului. Din marea multitudine de raze de lumină care emite sursa, doar o mică parte ajunge la observator. În consecință, calea de cale razelor în așa fel este ineficientă din punct de vedere calcul. Appel a sugerat pista (urme) în fasciculele direcție inversă, adică de observator la obiect. In primul exemplu de realizare a metodei de urmărire a oprit o dată o rază vizibilă se intersectează cu un obiect opac; și anume ray a fost folosit numai pentru prelucrarea suprafețelor ascunse sau vizibile. Ulterior, algoritmul de urmărire a razelor a fost implementat folosind modele mai complete de iluminat, ținând seama de efectele reflexia unui obiect pe suprafața unui alt, refracție, transparență și umbrire.


Fig. 6.7. Trace raze paralele


Fig. 6.8. Urmărirea cu punctul central

În acest algoritm, se presupune că scena a transformat în spațiu de imagine. Dacă utilizați o proiecție ortografică. punctul de vedere sau privitorul este la infinit pe jumătatea pozitivă. În acest caz, toate razele de lumină care provin din vizualizator, paralele cu axa (fig. 6.7). Fiecare fascicul trece prin scena la raster pixeli. Traiectoria fiecare fascicul este urmărită pentru a determina care obiecte în scenă, dacă este cazul, se suprapun cu fasciculul. Trebuie să verificați intersecția fiecărui obiect în scenă cu fiecare fascicul. Dacă raza intersectează obiectul. definește toate punctele posibile de intersecție ale grinzii și obiectul. Puteți obține un număr mare de intersecții, dacă luăm în considerare numărul de obiecte. Aceste intersecții sunt aranjate în profunzime. Intersecția este cu o suprafață maximă aparentă pentru un anumit pixel. Atribute ale acestui obiect sunt utilizate pentru a determina caracteristicile pixel.

În cazul în care punctul de vedere nu este în infinit (proiecție în perspectivă), raze de urmărire algoritm este doar puțin mai complicat. Se presupune aici că observatorul pe -prezhnemu este pe jumătate pozitive. Planul de imagine. și anume raster, perpendicular pe axa, așa cum se arată în Fig. 6.8.

Cel mai important și consumatoare de timp element al acestui algoritm este o procedură pentru determinarea intersecțiile, deoarece această sarcină ia cele mai multe ori de-a lungul algoritmului. Prin urmare, eficiența metodelor de căutare este deosebit de importantă. obiecte Scene poate consta dintr-un set de poligoane plane, poliedre sau corpuri delimitate suprafețe parametrice închise. Pentru a accelera căutarea este important să existe criterii eficiente pentru a exclude din procesul în mod deliberat obiecte inutile.

O modalitate de a reduce numărul de obiecte este traversată de cufundarea obiecte într-o cocă convex - formă sferică sau paralelipipedică. Căutare intersecție cu shell-ul este foarte simplu, iar în cazul în care se intersectează raza shell, nu aveți nevoie pentru a căuta în intersecția fasciculului obiect.

Deosebit de simplu test se efectuează la intersecția cu carcasa sferică (în „transformare geometrică“, au fost luate în considerare problema intersecția fasciculului cu o sferă și un plan). Mai multe sarcini scumpe computațional de trecere paralelipiped dreptunghic, deoarece este necesar să se verifice intersecția fasciculului cu cel puțin trei planuri infinit delimiteaza coajă dreptunghiular. Având în vedere că punctul de intersecție poate fi din fețele cutiei, pentru fiecare dintre acestea ar trebui, în plus, pentru a face verifica ingestie. În consecință, pentru cele trei măsurători de testare cu un înveliș dreptunghiular este mai lent decât testul cu un înveliș sferic.

După efectuarea acestor intersecții teste inițiale începe cu obiectele procesul de căutare din cadrul unei liste de potențial vizibile. În acest caz, sarcina de formare a imaginii nu se limitează la a găsi cele mai multe puncte de intersecție: dacă luăm în considerare efectele de reflexie și refracție, este necesar să se monitorizeze traiectoria viitoare a fasciculului, care este de obicei necesară pentru a restabili normala la suprafață, precum și determină direcția fasciculului reflectată sau refractată. În legătură cu toate aceste sarcini, este important de a alege o aproximare suficient de convenabilă a suprafețelor care alcătuiesc scena. Definiția de atribute ale pixelilor afișate pentru a ajunge pe ecran, în funcție de alegerea modelelor de iluminat, așa cum vor fi discutate în detaliu în capitolele următoare.

Ray algoritm de urmărire pentru suprafețe reflectorizante simple pot fi reprezentate după cum urmează.

Care conține o listă de obiecte:

  • o descriere completă a obiectului: tipul de caracteristicile de suprafață, tipul de coajă, etc;.
  • shell Descriere: Centrul și raza sferei sau șase valori pentru caseta.

Fiecare rază trasat:

Se efectuează pentru fiecare obiect un test tridimensional pentru intersecția cu plicul. Dacă raza intersectează coajă, apoi pentru a plasa obiectul în lista obiect activ.

În cazul în care lista de obiecte active, este gol, reprezintă valoarea pixel a culorii de fundal, și să continue să lucreze. În caz contrar, pentru fiecare obiect din lista de obiecte active:

  • Găsiți intersecția tuturor obiectelor active de.
  • Dacă lista este goală intersecție, apoi trage pixel cu valoarea de culoare de fundal.
  • În caz contrar, în suprimarea listei pentru a găsi cel mai apropiat de observator (cu o valoare maximă) și definesc atributele punctului.
  • Afișare pixel activ folosind rezultatele intersectate atribute obiect și modelul de iluminare respectiv.

În prezent de urmărire algoritm, în ciuda complexității computaționale, a devenit foarte popular, mai ales în cazurile în care formarea imaginii nu este foarte important, dar vreau să atingă cel mai mare realism posibil.

Întrebări și exerciții

  • Care este esența de a scoate linii și suprafețe ascunse?
  • Într-un spațiu de lucrări algoritm Roberts?
  • Ce obiecte Roberts algoritm este încercat?
  • Care este vectorul coloană a matricei descrierii generalizată a unui poliedru?
  • Așa cum a fost interpretat de expresia (- matricea generalizată), algoritmul Roberts?
  • În ceea ce algoritm spațiu funcționează Warnock?
  • Ce tipuri de poziție poligon în raport cu algoritmul de fereastră sunt discutate în Warnock?
  • Care dintre cele șase etape ale algoritmului rezolvă problema de a scoate suprafețe ascunse?
  • În ceea ce algoritm spațiu funcționează Weiler-Atherton?
  • Care este diferența fundamentală între algoritmul Weiler-Atherton algoritmul de Warnock?
  • Ce algoritm generalizare Weiler-Atherton a sugerat Ketmul?
  • Cine a propus algoritmul Z-tampon?
  • Care sunt deficiențele algoritmului Z-buffer?
  • În cazul în care prioritățile metodelor?
  • Pentru ce fel de imagine a artistului a dezvoltat o metodă?
  • Pentru ce fel de imagine a dezvoltat o metoda de orizont plutitoare?
  • Care sunt asemănările dintre algoritmul de scanare progresivă și metoda de Z-tampon?
  • Care este ideea de a metodei de urmărire?
  • Ce tipuri de urme?
  • Ce tehnici sunt utilizate pentru a îmbunătăți eficiența de rutare algoritm?