Catmull-Clark algoritm

Catmull-Clark- algoritmen är en teknik som används i datorgrafik för att skapa jämna ytor genom att modellera ytunderdelning . Algoritmen utvecklades av Edwin Catmull och James Clark 1978 som en generalisering av bikubiska homogena B-splineytor för godtycklig topologi [1] . År 2005 mottog Edwin Catmull American Academy Award for Technical Achievement tillsammans med Tony DeRose och Jos Stam för deras utveckling inom ytindelning.

Rekursiva beräkningar

Catmull-Clark-ytor definieras rekursivt med hjälp av följande schema av successiva förbättringar [1] :

Vi börjar med ett nät i form av en godtycklig polyeder . Alla hörn i detta rutnät kommer att kallas initialpunkter.

Denna punkt är barycentrum för punkterna P , R och F med vikter ( n − 3), 2 och 1.

Det nya nätet består endast av fyrhörningar , som generellt sett inte är i samma plan . Det nya nätet kommer i allmänhet att se jämnare ut än det ursprungliga nätet.

Upprepad uppdelning resulterar i ett jämnare nät. Det kan visas att den gränsyta som erhålls med denna metod åtminstone tillhör klassen vid singularpunkterna och på alla andra ställen (här betyder n antalet kontinuerliga derivator när vi talar om ). Efter iteration ändras inte antalet singulära punkter på ytan.

Formeln för barycentret valdes av Catmull och Clark av estetiska snarare än matematiska skäl, även om Catmull och Clark gick långt för att rigoröst bevisa att metoden konvergerar till bikubiska B-splineytor [1] .

Exakta beräkningar

Den resulterande uppdelade Catmull-Clark-ytan kan erhållas direkt utan successiva förbättringar. Detta kan göras med hjälp av Jos Stam-tekniken [2] . Denna metod omformulerar processen med successiva approximationer till problemet med att beräkna matrisens exponent , vilket kan lösas genom att diagonalisera matrisen .

Programvara som använder Catmull-Clark yta subdivision

Anteckningar

  1. 1 2 3 Catmull och Clark, 1978 , sid. 350.
  2. Stam, 1998 , sid. 395–404.
  3. Arkiverad kopia (länk ej tillgänglig) . Hämtad 18 augusti 2017. Arkiverad från originalet 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. - P. 163-199. - ISBN 978-1-4822-4356-7 .
  5. Möt experterna: Pixar Animation Studios, The OpenSubdiv Project - YouTube . Hämtad 18 augusti 2017. Arkiverad från originalet 26 januari 2017.
  6. Pixars OpenSubdiv V2: en detaljerad titt | fxguide . Hämtad 18 augusti 2017. Arkiverad från originalet 30 juli 2017.
  7. Arkiverad kopia . Hämtad 18 augusti 2017. Arkiverad från originalet 12 mars 2018.
  8. OpenSubdiv Blender-demo - YouTube . Hämtad 18 augusti 2017. Arkiverad från originalet 7 januari 2016.

Litteratur

Läsning för vidare läsning