Algoritmul Catmull-Clark

Algoritmul Catmull-Clark este o tehnică utilizată în grafica computerizată pentru a crea suprafețe netede prin modelarea subdiviziunii suprafeței . Algoritmul a fost dezvoltat de Edwin Catmull și James Clark în 1978 ca o generalizare a suprafețelor B-spline omogene bicubice pentru topologie arbitrară [1] . În 2005, Edwin Catmull a primit premiul Academiei americane pentru performanță tehnică împreună cu Tony DeRose și Jos Stam pentru dezvoltarea lor în subdiviziunea suprafeței.

Calcule recursive

Suprafețele Catmull-Clark sunt definite recursiv folosind următoarea schemă de rafinare succesive [1] :

Începem cu o plasă sub forma unui poliedru arbitrar . Toate vârfurile acestei grile vor fi numite puncte inițiale.

Acest punct este baricentrul punctelor P , R și F cu ponderi ( n - 3), 2 și 1.

Noua plasă este formată doar din patrulatere , care, în general, nu sunt în același plan . Noua plasă va arăta în general mai netedă decât plasa originală.

Subdiviziunea repetată are ca rezultat o plasă mai netedă. Se poate arăta că suprafața limită obținută prin această metodă aparține cel puțin clasei la punctele singulare și în toate celelalte locuri (aici n înseamnă numărul de derivate continue când vorbim de ). După iterație, numărul de puncte singulare de pe suprafață nu se modifică.

Formula baricentrului a fost aleasă de Catmull și Clark din motive mai degrabă estetice decât matematice, deși Catmull și Clark au făcut eforturi mari pentru a demonstra riguros că metoda converge către suprafețele B-spline bicubice [1] .

Calcule exacte

Suprafața Catmull-Clark subdivizată rezultată poate fi obținută direct fără îmbunătățiri succesive. Acest lucru se poate face folosind tehnica Jos Stam [2] . Această metodă reformulează procesul de aproximări succesive în problema calculului exponentului matricei , care poate fi rezolvată prin diagonalizarea matricei .

Software care utilizează subdiviziunea suprafeței Catmull-Clark

Note

  1. 1 2 3 Catmull și Clark, 1978 , p. 350.
  2. Stam, 1998 , p. 395–404.
  3. Copie arhivată (link nu este disponibil) . Preluat la 18 august 2017. Arhivat din original la 23 noiembrie 2016. 
  4. Manuel Kraemer. OpenSubdiv: Calcul și desenarea GPU interoperabile // Multithreading pentru efecte vizuale  / Martin Watt, Erwin Coumans, George ElKoura, Ronald Henderson, Manuel Kraemer, Jeff Lait, James Reinders. - CRC Press , 2014. - P. 163-199. - ISBN 978-1-4822-4356-7 .
  5. Meet the Experts: Pixar Animation Studios, The OpenSubdiv Project - YouTube . Preluat la 18 august 2017. Arhivat din original la 26 ianuarie 2017.
  6. OpenSubdiv V2 de la Pixar: o privire detaliată | fxguide . Preluat la 18 august 2017. Arhivat din original la 30 iulie 2017.
  7. Copie arhivată . Preluat la 18 august 2017. Arhivat din original la 12 martie 2018.
  8. OpenSubdiv Blender demo - YouTube . Preluat la 18 august 2017. Arhivat din original la 7 ianuarie 2016.

Literatură

Lectură pentru lecturi suplimentare