Kurva Parametrik Catmull-Rom Splines

35

3.2.1 Kurva Parametrik Catmull-Rom Splines

Kurva secara luas digunakan dalam setiap aspek komputer grafis, terutama splines yang merupakan sepenggal polinomial kurva parametrik. Splines populer dalam Computer-Aided Design CAD karena kesederhanaan konstruksi, kemudahan dan akurasi evaluasi, serta kapasitas untuk menentukan bentuk kompleks permukaan. Catmull- Rom C-R splines adalah keluarga interpolasi kubik kurva yang dirumuskan sedemikian rupa sehingga garis singgung disetiap titik kontrol dihitung dengan menggunakan titik kontrol sebelumnya dan berikutnya pada spline. Gambar 3.12 Garis Singgung Kurva Catmull-Rom spline Catmull- Rom splines memiliki kontinuitas C 1 , kontrol lokal, dan interpolasi titik kontrol, tetapi tidak terletak dalam titik kontrol. Berikut adalah rumusan interpolasinya: Penulis menggunakan jenis spline di permukaan interaktif karena kemampuannya untuk setiap interpolasi titik kontrol. Dalam operasi manipulasi titik kontrol, tidak dapat menerapkan modifikasi bentuk spline yang mempengaruhi lebih dari sebuah lingkungan kecil di spline dan rentang antara tetangga titik kontrol.      m i n i i n i n t P t N t C 1 ,..., 1 Universitas Sumatera Utara 36 Bisa dilihat pada Gambar 3.13 bahwa Catmull-Rom splines tidak interpolasi titik kontrol pertama dan terakhir. V = P 1 V 1 = P 1 + P 2 – P V 2 = P 2 + P 3 – P 1 V 3 = P 2 Gambar 3.13 Interpolasi Kurva Catmull- Rom spline Kemampuan C-R spline untuk interpolasi titik kontrol adalah fitur penting, yang memungkinkan untuk secara akurat menerjemahkan input pengguna ke dalam matematika representasi. Gambar 3.14 Model interpolasi Catmull- Rom splines Pendekatan pertama yang dilakukan untuk menyelesaikan masalah perpindahan kontrol penyebaran titik dalam jendela aktif, menetapkan arah perpindahan yang sama untuk semua titik kontrol dalam jendela. Besarnya perpindahan monoton menurun dari titik kontrol yang dimodifikasi untuk batas-batas jendela. Drop off adalah fungsi yang halus dan harus pergi ke nol pada batas-batas untuk menghindari diskontinuitas. 2 2 12 p t C  2 2 23 p t C  2 p 2 p 2 p ? 2 p 2 p ? p 1 p 2 p 3 p 4 p t t  2 t t  2 t t  1 2 t t  2 t t  3 t t  1 t t  t t  3 t t  t t  3 1 t t  t t  4 t t  t t  2 1 t t  t t  3 2 t t  t t  4 Universitas Sumatera Utara 37 Penulis telah menguji beberapa fungsi tersebut dan menemukan tiga yang menyediakan transisi mulus ya ng diinginkan Persamaan 1, 2, dan 3, yaitu: Linear: 1 Gaussian: 2 Sinusoidial: 3 Persamaan linier, gaussian dan sinusoidial memiliki semua penurunan dalam rentang 1-0. Persamaan 2 menggunakan fungsi kedua f d untuk memastikan kondisi batas yang tepat, karena Gaussian tidak pergi ke nol dalam rentang terbatas. dengan ketentuan d adalah jarak melengkung ke atas ke pusat jendela, yaitu titik kontrol yang dimodifikasi oleh pengguna, dan W adalah sebuah ukuran jendela yang ditetapkan untuk setiap sisi jendela yang aktif, baik W R atau W L . f adalah fungsi yang menjamin persamaan seluruh pergi ke nol. Parameter t eksponen dari kosinus dalam Persamaan 3. Pengaturan parameter untuk sesuatu selain 1 mengubah bentuk kurva dalam jendela aktif. Seperti yang terlihat pada Gambar 3.15, nilai t kurang dari 1 mulai persegi dari bagian dimodifikasi kurva. Universitas Sumatera Utara 38 = 0,1 = 0,25 = 0,5 = 0,75 a = 0,1 = 0,25 = 0,5 = 0,75 b Gambar 3.15 a hasil perubahan  dalam Persamaan 1, b hasil dari perubahan dalam Persamaan 3 Untuk memberikan fleksibilitas yang lebih besar, kontrol dan ekspresif, dalam hal ini telah dikembangkan teknik yang memperluas dan generalisasi hasil modifikasi satu titik kontrol C-R spline. Teknik yang memungkinkan pengguna untuk menentukan dan berbagai jenis pengaruh yang manipulasi dari sebuah titik kendali tunggal dapat menghasilkan pada kurva C-R spline, sehingga menciptakan kemampuan pengeditan kurva fleksibel dan kurva fungsi lokal. Gambar 3.16 Fungsi lokal kontrol Catmull-Rom splines Pengeditan fungsi lokal memberikan kontrol pengguna lebih besar atas bentuk spline ketika bergerak dari satu titik kontrol. Hal ini memungkinkan pengguna untuk meningkatkan densitas dari titik 12 t C 23 t C 012 t P 123 t P 234 t P 01 t P 12 t P 23 t P 34 t P p 1 p 2 p 3 p 4 p t t  2 1 t t  t t  3 2 t t  t t  2 t t  1 t t  t t  2 1 t t  t t  3 2 t t  t t  4 3 t t  2 t t  t t  4 1 t t  t t  3 t t  Universitas Sumatera Utara 39 kontrol di mana detail lebih dibutuhkan, dan membuat bagian dari kurva lebih terkendali. Namun, karena lokalitas Catmull- Rom splines, perubahan apapun pada satu titik kontrol hanya perubahan porsi kurva antara titik kontrol dan tetangganya titik kontrol. Elber dan Gotsman 2007, memperpanjang pendekatan non- seragam-B-spline dan menyediakan mekanisme untuk lokal perbaikan dan manipulasi kurva adaptif lokal. Namun, metode ini menggunakan kuadrat-terkecil pendekatan untuk dekomposisi multi-resolusi dari kurva bebas-bentuk dan tidak mampu menyediakan kontinu resolusi kontrol. Kemudian bekerja menyajikan sebuah skema yang menggabungkan kontrol multi- resolusi dengan kendala linier ke dalam satu kerangka, yang memungkinkan seseorang untuk melakukan manipulasi multi- resolusi kurva B-spline tidak seragam. Kontrol multi-resolusi dikombinasikan dengan kendala linier mengatur geometri yang tepat, dan menciptakan kerangka kerja untuk mengedit interaktif kurva B-spline tidak seragam. Untuk menambahkan satu segmen kurva yang tersambung mulus, hanya perlu menambahkan satu titik kontrol dan satu buah knot. Di mana pun titik kontrol tambahan itu diletakkan, hasil kurva B-spline yang terbentuk akan tersambung mulus. Melihat hasil kurva yang tergambar sungguh merupakan hal yang mengagumkan. Gambar 3.17 Dua segmen kurva B-spline kubik seragam Universitas Sumatera Utara 40 Kurva ini cocok untuk set baru titik kontrol setelah setiap langkah mengedit, dan pengguna disediakan dengan langsung umpan balik dari keseluruhan bentuk kurva ketika mengedit. Jumlah titik kontrol dalam jendela aktif dapat diubah oleh pengguna untuk menyediakan lebih rinci, dan lebih tinggi resolusi mengedit. Jumlah titik kontrol dapat dikurangi dalam jendela. Gerakan dari titik kontrol dalam jendela aktif dapat digambarkan melalui serangkaian skema yang memodifikasi semua kontrol poin lainnya dalam jendela sebagai fungsi dari perpindahan dari titik kontrol yang dipilih. Dua alternatif ide: interpolasi perpindahan yang dipilih titik kontrol dalam jendela aktif, dan interpolasi vektor pergeseran dengan vektor ortogonal untuk kurva. 3.3 Pemrograman GDI + Graphic Device Interface