Catmull-Clark algoritme

Catmull-Clark- algoritmen er en teknik, der bruges i computergrafik til at skabe glatte overflader ved at modellere overfladeunderinddeling . Algoritmen blev udviklet af Edwin Catmull og James Clark i 1978 som en generalisering af bikubiske homogene B-spline overflader til vilkårlig topologi [1] . I 2005 modtog Edwin Catmull American Academy Award for Technical Achievement sammen med Tony DeRose og Jos Stam for deres udvikling inden for overfladeinddeling.

Rekursive beregninger

Catmull-Clark-overflader defineres rekursivt ved hjælp af følgende skema med successive raffinementer [1] :

Vi starter med et net i form af et vilkårligt polyeder . Alle hjørner af dette gitter vil blive kaldt startpunkter.

Dette punkt er barycentret for punkterne P , R og F med vægte ( n − 3), 2 og 1.

Det nye net består kun af firkanter , som generelt set ikke er i samme plan . Det nye mesh vil generelt se glattere ud end det originale mesh.

Gentagen underopdeling resulterer i et glattere mesh. Det kan påvises, at grænsefladen opnået ved denne metode i det mindste tilhører klassen i entalspunkterne og alle andre steder (her betyder n antallet af kontinuerte afledte, når vi taler om ). Efter iteration ændres antallet af enkeltpunkter på overfladen ikke.

Formlen for barycenteret blev valgt af Catmull og Clark af æstetiske snarere end matematiske årsager, selvom Catmull og Clark gjorde meget for at bevise, at metoden konvergerer til bikubiske B-spline overflader [1] .

Præcise beregninger

Den resulterende underopdelte Catmull-Clark overflade kan opnås direkte uden successive forbedringer. Dette kan gøres ved hjælp af Jos Stam-teknikken [2] . Denne metode omformulerer processen med successive tilnærmelser til problemet med at beregne eksponenten af ​​matrixen , som kan løses ved at diagonalisere matrixen .

Software, der bruger Catmull-Clark overfladeunderinddeling

Noter

  1. 1 2 3 Catmull og Clark, 1978 , s. 350.
  2. Stam, 1998 , s. 395-404.
  3. Arkiveret kopi (link ikke tilgængeligt) . Hentet 18. august 2017. Arkiveret fra originalen 23. november 2016. 
  4. Manuel Kraemer. OpenSubdiv: Interoperating GPU Compute and Drawing // Multithreading for Visual Effects  / Martin Watt, Erwin Coumans, George ElKoura, Ronald Henderson, Manuel Kraemer, Jeff Lait, James Reinders. - CRC Press , 2014. - S. 163-199. - ISBN 978-1-4822-4356-7 .
  5. Mød eksperterne: Pixar Animation Studios, The OpenSubdiv Project - YouTube . Hentet 18. august 2017. Arkiveret fra originalen 26. januar 2017.
  6. Pixars OpenSubdiv V2: et detaljeret udseende | fxguide . Hentet 18. august 2017. Arkiveret fra originalen 30. juli 2017.
  7. Arkiveret kopi . Hentet 18. august 2017. Arkiveret fra originalen 12. marts 2018.
  8. OpenSubdiv Blender demo - YouTube . Hentet 18. august 2017. Arkiveret fra originalen 7. januar 2016.

Litteratur

Læsning for yderligere læsning