Subdivisi permukaan

Dalam bidang komputer grafis 3D, subdivisi permukaan (biasanya disingkat SubD permukaan) merupakan representasi permukaan halus dari mesh poligon lebih kasar yang dihasilkan menggunakan algoritma rekursif. Permukaan halus ini berada di bawah permukaan aslinya yang kasar. Pemukaan halus tersebut dapat dihitung dari mesh kasarnya, yang disebut sangkar kendali (control cage) atau mesh luar. Sangkar kendali ini berfungsi sebagai batas fungsional dari proses berulang yang membagi setiap permukaan poligonal menjadi permukaan lebih kecil yang lebih halus dan mendekati bentuk asli dari permukaan kasarnya. Terkadang, algoritma sederhana digunakan untuk menambah geometri pada mesh dengan men-subdivisi permukaannya menjadi lebih kecil tanpa mengubah bentuk dan volume keseluruhan objek.

Kebalikannya dari proses ini adalah pengurangan poligon atau unsubdivisi .

Ringkasan 

Algoritma subdivisi permukaan secara alami bersifat rekursif. Prosesnya dimulai dengan mesh poligon tingkat dasar. Skema penghalusan akan diterapkan pada mesh ini. Proses ini meggunakan mesh tersebut dan membaginya menjadi kecil-kecil, menciptakan verteks dan sisi (face) baru. Posisi verteks baru yang terbentuk ditentukan berdasarkan posisi verteks, rusuk (edge), dan/atau sisi mesh lama yang berdekatan. Dalam banyak skema penyempurnaan, posisi verteks lama juga mungkin diubah berdasarkan posisi verteks baru.

Proses ini menghasilkan mesh yang lebih padat daripada mesh aslinya, yang memiliki lebih banyak sisi poligon (dalam banyak kasus 4 kali lipatnya). Mesh-mesh yang dihasilkan ini dapat melalui skema penghalusan yang sama berulang kali untuk menghasilkan mesh yang lebih halus lagi. Setiap pengulangan ini sering disebut sebagai level subdivisi, dimulai dari nol (sebelum proses penghalusan terjadi).

Batas dari proses subdivisi permukaan adalah permukaan yang diasilkan dari diterapkannya proses subdivisi berulang kali sampai tak berhingga. Meskipun dalam penggunaannya, algortima ini digunakan secara terbatas hanya sampai 5 kali pengulangan.

Secara matematis, verteks khusus (verteks yang terbentuk dari pertemuan kurang dari atau lebih dari empat rusuk) yang bertetangga pada permukaan subdivisi adalah sebuah spline dengan titik tunggal secara parametrik.

Skema penghalusan 
Skema penghalusan pada subdivisi permukaan secara garis besar dapat digolongkan menjadi dua kategori: interpolasi dan perkiraan.

 Skema interpolasi diperlukan untuk mencocokkan posisi awal verteks pada mesh asli
 Skema perkiraan dapat menyesuaikan posisi verteks sesuai kebutuhan.

Secara umum, skema perkiraan akan membuat hasil yang lebih halus, namun pengguna tidak memiliki banyak kendali pada mesh yang dihasilkan. Hal ini mirip dengan permukaan dan kurva pada spline, dimana kurva Bézier diperlukan untuk menginterpolasi titik kendali (control point) tertentu, sedangkan B-Spline tidak.

Proses subdivisi permukaan juga dapat digolongkan berdasarkan jenis poligon di mana proses ini dilakukan, pada mesh segi empat (quad), dan pada mesh segitiga (tris). Namun sebagian besar proses ini berfungsi dengan baik pada mesh segi empat.

Skema perkiraan 
Perkiraan artinya permukaan batas mendekati bentuk awal mesh, dan setelah pembagian, titik kendali baru yang dihasilkan tidak berada pada permukaan batas. Ada lima skema subdivisi perkiraan:

 Catmull dan Clark (1978), Segi empat – menggeneralisasi penyisipan simpul B-spline seragam bi-kubik . Untuk mesh awal yang berubah-ubah, skema ini menghasilkan permukaan batas yang kontinu <sup id="mwSQ">C2</sup> di semua tempat kecuali pada verteks khusus yang kontinu <sup id="mwSw">C1</sup> (Peters dan Reif 1998). 
 Doo-Sabin (1978), Segi empat – Skema subdivisi kedua dikembangkan oleh Doo dan Sabin, yang berhasil memperluas metode pemotongan sudut Chaikin (George Chaikin, 1974  ) untuk kurva ke permukaan. Mereka menggunakan ekspresi analitik dari permukaan B-spline seragam bi-kuadrat untuk menghasilkan prosedur subdivisi untuk menghasilkan permukaan batas C <sup id="mwVA">1</sup> dengan sebarang topologi untuk sebarang mesh awal. Titik tambahan dapat memperbaiki bentuk subdivisi Doo-Sabin.  Setelah dilakukan subdivisi, semua verteks memiliki valensi 4. 
 Loop (1987), Segitiga – Loop mengusulkan skema pembagiannya berdasarkan kotak-spline kuartik dari enam vektor arah untuk memberikan aturan untuk menghasilkan permukaan batas kontinu C <sup id="mwXw">2</sup> di mana pun kecuali pada verteks khusus di mana permukaan tersebut kontinu C <sup id="mwYQ">1</sup> (Zorin 1997).
 Skema subdivisi Mid-Edge (1997–1999) – Skema subdivisi mid-edge diusulkan secara independen oleh Peters-Reif (1997)  dan Habib-Warren (1999).  Yang pertama menggunakan titik tengah setiap rusuk untuk membuat mesh baru. Yang terakhir menggunakan spline kotak empat arah untuk membangun skema. Skema ini menghasilkan permukaan batas kontinu C <sup id="mwag">1</sup> pada mesh awal dengan sebarang topologi. (Subdivisi Mid-Edge, yang bisa disebut "√2 subdivisi" karena dua langkah membagi dua jarak, bisa dianggap paling lambat. )
 √3 skema subdivisi (2000), Segitiga – Skema ini dikembangkan oleh Kobbelt  dan menawarkan beberapa fitur menarik: menangani jerat segitiga sembarang, kontinu C <sup id="mwcA">2</sup> di semua tempat kecuali pada verteks khusus yang merupakan kontinu C <sup id="mwcg">1</sup> dan menawarkan penyempurnaan adaptif alami bila diperlukan. Ini menunjukkan setidaknya dua kekhususan: ini adalah skema Ganda untuk mesh segitiga dan memiliki tingkat penghalusan yang lebih lambat dibandingkan skema primal.

Pages using multiple image with auto scaled images

Skema interpolasi 
Setelah dilakukan subdivisi, titik kendali dari mesh asli dan titik kendali mesh baru akan diinterpolasi ke permukaan batas. Dalam karya paling awal pada tahun 1990 oleh Dyn, Levin dan Gregory skema ini disebut sebagai " skema kupu-kupu ". Skema ini memperluas skema pembagian interpolasi empat titik untuk kurva menjadi skema pembagian permukaan. Zorin, Schröder dan Sweldens pada tahun 1996 menyadari bahwa skema kupu-kupu tidak dapat menghasil permukaan halus untuk mesh segitiga tak beraturan, karenanya mereka memodifikasi skema ini. Lebih lanjut, Kobbelt (1996)  menyamaratakan skema subdivisi interpolasi empat titik untuk kurva ke skema subdivisi produk tensor untuk permukaan. Pada tahun 1991, Nasri mengusulkan skema interpolasi Doo-Sabin;  sedangkan pada tahun 1993 Halstead, Kass, dan DeRose mengusulkan skema interpolasi untuk Catmull-Clark. 

 Kupu-kupu (1990), Segitiga – diberi nama berdasarkan bentuk skema
 Modified Butterfly (1996), Segi empat  – dirancang untuk mengatasi artefak yang dihasilkan oleh topologi tidak beraturan
 Kobbelt (1996), Segi empat – variasi metode subdivisi yang mencoba mengatasi kelemahan subdivisi seragam

Perkembangan penting 

 1978: Subdivisi permukaan dijabarkan oleh Edwin Catmull dan Jim Clark (lihat subdivisi permukaan Catmull-Clark ), dan oleh Daniel Doo dan Malcom Sabin (lihat  subdivisi permukaan Doo-Sabin ).
 1995: Ulrich Reif memecahkan perilaku permukaan subdivisi di dekat verteks yang luar biasa. 
 1998: Jos Stam menyumbangkan metode untuk evaluasi tepat pada subdivisi permukaan Catmull-Clark berdasarkan parameter yang berubah-ubah.

Lihat juga 

 Geri's Game (1997) – film Pixar yang memelopori penggunaan subdivisi permukaan untuk menggambarkan kulit manusia
 Permukaan B-spline rasional tidak seragam (NURBS) – metode lain untuk merepresentasikan permukaan melengkung

Referensi

Tautan eksternal 

 Permainan Geri : Animasi pemenang Oscar oleh Pixar yang diselesaikan pada tahun 1997 yang memperkenalkan subdivisi permukaan menggunakan subdivisi Catmull-Clark (bersama dengan simulasi kain)
 Subbagian tutorial Pemodelan dan Animasi, catatan mata kuliah SIGGRAPH 1999
 Subbagian tutorial Pemodelan dan Animasi, catatan mata kuliah SIGGRAPH 2000
 Pendekatan terpadu untuk algoritma subdivisi dekat simpul luar biasa, Ulrich Reif (Computer Aided Geometric Design 12(2):153–174 Maret 1995)
 Subdivisi Jerat Permukaan dan Volumetrik, perangkat lunak untuk melakukan pembagian menggunakan skema paling populer
 Metode Subdivisi Permukaan di CGAL, Perpustakaan Algoritma Geometri Komputasi
Grafika komputer 3D