Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
PEMODELAN OBYEK DENGAN METODE KURVA PARAMETRIK Ina Agustina Jurusan Sistem Informasi, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Sawo Manila, Pejaten Pasar Minggu No.61, Jakarta 12520 Email:
[email protected] ABSTRAK Kurva parametrik didefinisikan oleh sebuah himpunan titik diskret yang dikenal sebagai titik kendali atau puncak kendali, bersama-sama dengan sebuah himpunan fungsi dasar atau campuran. Metode pemodelan yang diguanakan adalah kurva parametric. Dengan metode tersebut diperoleh fungsi garis-garis dimensi yang deskriptif pada semua titik obyek. Kata kunci: kurva, parametrik. ABSTRACT Parametric curve is set of discrete points that functioned as controlled point. Each points has an specific mathematic function. On this paper we are modelling an object by using parametric curve method. The result is descriptively mathematic function that constitute the object. Keywords: parametric curve, object, modelling
I. PENDAHULUAN Kurva parametrik didefinisikan oleh sebuah himpunan titik diskret yang dikenal sebagai titik kendali atau puncak kendali, bersama-sama dengan sebuah himpuna n fungsi dasar atau campuran. Ini benar-benar berbeda dengan cara yang normal untuk menentukan sebuah kurva dalam bentuk sebuah fungsi yang lengkap.
II. KURVA PARAMETRIK 2.1 Pengenalan Parametrik Benda Padat Tiga-Dimensi Penyajian parametrik benda padat dan kurva kini merupakan alat yang diterapkan dalam grafik komputer, khususnya dalam rancangan yang dibantu computer (computer-aided design, CAD). Teknik yang asli dikembangkan untuk memodelkan badan mobil dan bentuk pesawat terbang kini banyak digunakan da lam banyak cabang yang bermacam-macam pada grafik computer. Sebagai contoh, teknik yang digunakan dalam pemodelan objek dan rancangan interaktif selanjutnya dan dalam bingkai-kunci animasi. 90
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
Salah satu formulasi parametrik yang terkenal adalah lekatan Bezie r yang dikembangkan dalam tahun 1960-an oleh Pierre Bezier yang digunakan dalam rancangan mobil Renault. Sistem CADnya, UNISURF, digunakan pada tahun 1972, tanpa ragu bertanggungjawab untuk banyak model yang bermacam-macam yang muncul dari pabrik Renault pada tahun 1970-an. Kenyataannya pekerjaan Bezier telah didahului oleh P. De Casteljau pada Citroen pada awal tahun 1960-an. Akan tetapi laporan internal tidak ditemukan hingga tahun 1975. Pendekatan biasa dalam memperhatikan penyajian parametrik adalah mulai dengan uraian kurva tiga-dimensi dan kemudian untuk mensama-ratakan permukaan. Kita akan mengambil kecenderungan ini, dengan memusatkan perhatian pada rumus Bezier dan B-Spline. 2.2 Penyajian Parametrik Kurva Tiga-Dimensi Sebuah contoh praktis yang sede rhana dari sebuah kurva tiga-dimensi adalah sebuah titik yang bergerak dalam ruang (Gambar 2.1). z
t1 r(t1 ) t2 r(t2 ) x
y
Gambar 2.1. Sebuah titik yang bergerak dalam ruang tiga-dimensi. Posisi ditentukan oleh vektor r, yang merupakan fungsi dari waktu t. Ini memberikan deskripsi parameter dari suatu kurva sebagai sebuah himpunan yang terdiri dari tiga persamaan dalam t: x = x( t ) y = y( t ) z = z( t ) Dengan mengikuti ini kita dapat menguraikan sembarang kurva ruang secara parameter, dengan menggunakan sembarang parameter u, misalnya, sebuah kurva kubus diberikan oleh : x( u ) = ax u3 + bx u2 + c x u + dx y( u ) = ay u3 + by u2 + c y u + dy z( u ) = azu3 + bzu 2 + c zu + d z dimana 0 = u = 1, dan masing-masing x, y, dan z adalah sebuah polinomial kubus dari parameter u. Ada sejumlah alasan untuk menggunakan uraian parametrik dalam grafik komputer daripada fungsi impilisit. (Sebuah fungsi implisit adalah f(x,y,z) = 0, misalnya uraian fungsi implisit dari sebuah bola adalah x2 + y2 + z2 - r2 = 0). Pertama, titik pada sebuah kurva dapat dihitung secara berurutan, daripada dengan menyelesaikan persamaan bukan-linier untuk masing-masing titik dalam sebuah definisi implicit. Kurva (dan permukaan) parametric mudah di transformasikan. Dengan menggunakan sebuah transformasi linier terhadap penyajian parametric suatu kurva mentransformasikan kurva itu sendiri. Kebanyakan pemakaian rancangan melibatkan kurva yang tidak dapat diuraikan dengan fungsi yang sederhana, sedangkan sebuah penyajian parametric memungkinkan uraian potongan dan sebuah kurva atau sebuah permukaan dapat berupa sebuah himpunan yang terdiri dari polynomial potongan. (polynomial derajat tinggi dapat menguraikan kurva kom pleks akan tetapi memerlukan sejumlah besar koefisien dan bisa menimbulkan osilasi yang tidak diinginkan ke dalam kurva tersebut). Suatu kurva parametrik C didalam bidang adalah sepasang fungsi 91
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
x = f(t), y = g(t) (pers. Parametrik) yang memberikan x dan y fungsi kontinu untuk t dalam interval tertentu, t bilangan real (parameternya). Contoh: x = cos t, y = sin t, 0≤ t ≤ 2π Atau 1− t2 2t x (t ) = , y (t ) = , − ∞ < t < +∞ 2 1+ t 1+ t2 Kurva parameter dari fungsi parameter x= cos 3t, y = sin 5t, 0 ≤ t ≤ 2π Cycloid: Suatu lingkaran berjari r menggelinding sepanjang garis horisontal, jejak sebuah titik pada lingkaran tsb. membentuk kurva cycloid
Persamaan parameterik dari cycloid (lintasan jejak titik P) dengan radius a dan titik pusat C(at,a) x = a(t – sin t) y = a(1 - cos t)
Garis tangen pada persamaan parametrik Kurva parametrik x = f(t), y= g(t) dikatakan mulus (smooth) jika turunannya kontinu dan keduanya tidak nol secara bersamaan. Gunakan aturan rantai untuk menghitung gradien grs. Tangen
dy dy g ' (t ) = dt = dx dx f (t) dt
92
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
Contoh: Cari persamaan garis tangen pada t yang ditentukan x=
3t 1+ t3
y=
3t 2 di t = 1 1+ t3
Parametrik Koordinat Polar Kurva dalam koordinat polar, r = f(θ ), dinyatakan sbg kurva parametrik dg parameter θ : x(θ ) = f(θ ) cos θ , y(θ ) = f(θ ) sin θ, (x dan y dinyatakan dgn parameter θ).
dapat
Kemiringan dy/dx dari garis tangen dy dy f ' (θ ) sin θ + f (θ ) cos θ r ' sin θ + r cos θ = dθ = = dx dx f ' (θ ) cos θ − f (θ ) sin θ r ' cos θ − r sin θ d θgaris tangen dari kurva parametrik Cari persamaan x = 4 cos 3 t
y = sin 3 t di t =
π 3
dy 2 dy dt = 12 sin ( t ) cos( t ) = dx dx − 12 sin( t ) cos 2 ( t ) dt π = − tan( t ) = − tan( ) = − 3 3 π Di t = , 3 π π ( x ( t ), y ( t )) = ( 4 cos 3 ( ), 4 sin 3 ( )) 3 3 1 3 3 = , 2 2 Conic Sections Persamaan
dari garis tangen adalah : y = − 3 ( x −
1 3 3 )+ 2 2
(a)
93
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
(b)
(c) 2.3 Kurva Kubus Bezier Kini kita melihat pada sebuah bentuk khusus dari penyajia n parametrik: kurva kubus Bezier. Rumusan Bezier pada sebuah kurva kubus melibatkan penentuan sebuah himpunan titik kendali dari mana polynomial kubus tersebut diturunkan. Bentuk ini diturunkan, dalam kebanyakan buku, berawal dengan pencampuran atau fungsi dasar (lihat di bawah ini). Q( u ) = au3 + bu3 + cu + d Dan ini adalah cara normal untuk menyatakan sebuah parameter polynomial kubus. Dengan menggunakan basis Bezier atau fungsi campuran Bernstein. (1 – u)3 3u (1 – u)2 3u2 (1 – u) u3 polynomial tersebut dinyatakan dalam suku-suku fungsi ini dan empat titik kendali: Q( u ) = P 0(1 – u) 3 + P 13u(1 – u)2 + P 23u 2(1 – u) + P3u3 Atau dalam notasi matriks: Q( u ) = UBP = [u3 u2 u 1]
-1 3 -3 1
3 -6 3 0
-3 3 0 0
1 0 0 0
P0 P1 P2 P3
94
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
Dari titik pandang intuisi rumusan matriks tersebut secara khusus tidak berguna, definisi fungsi campuran, yang diberikan dibawah, lebih disukai; akan tetapi sebuah rumusan matriks berguna bila memperhatikan implementasi perangkat keras. P 0, P 1, P 2, dan P3 adalah empat titik kendali yang menentukan kurva, P0 dan P3 menjadi titik ujung. Mereka disebut titik kendali karena menggerakkan mereka berkeliling dalam ruang yang mengendalikan atau mempengaruhi bentuk kurva tersebut. Poligon yang dibentuk dengan menggabungkan titik kendali bersama-sama disebut poligon karakteristik atau poligon kendali. Bentuk Bezier merupakan sebuah rumusan kembali dari sebuah bentuk polinomial kubus hermite. Ia memungkinkan bentuk kurva ditentukan secara keseluruhan dari posisi empat titik kendali. Secara khusus, pemakai tidak harus menentukan atau mengendalikan vektor tangen, atau turunan pertama, yang diperlukan untuk spesifikasi Hermite. 2.3.1
Sifat Kurva Bezier
? Derajat polinomial selalu kurang satu dari jumlah titik kendali. Dalam grafik komputer umumnya kita menggunakan derajat tiga. ? Kurva tersebut “mengikuti” bentuk poligon titik kendali dan dibatasi dalam “convex hull” yang dibentuk oleh titik kendali. ? Titik kendali tidak menggunakan kendali “lokal”. Dengan menggerakkan sembarang titik kendali mempengaruhi semua kurva menjadi lebih besar atau lebih kecil. ? Titik kendali yang pertama dan terakhir adalah titik ujung dari segmen kurva tersebut. ? Vektor tangen terhadap kurva tersebut pada titik ujung berimpit dengan edge awal dan akhir dari poligon titik kendali. ? Kurva tersebut tidak berisolasi mengelilingi sembarang garis lurus lebih sering dari poligon titik kendali-ini dikenal sebagai variasi sifat pengurangan. ? Kurva tersebut ditransformas ikan dengan menggunakan sembarang transformasi “affine” (yakni, segala kombinasi transformasi linier) terhadap penyajian titik kendalinya. Kurva tersebut adalah “invariant” (tidak berubah bentuk) pada transformasi ini. Output Program :
95
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
2.4 Kurva B-spline Dua kerugian yang berhubungan dengan kurva Bezier diatasi dengan menggunakan kurva Bspline adalah ketidak-lokalan dan hubungan antara derajat kurva dan jumlah titik kendali. Sifat yang pertama-ketidak-lokalan-secara tidak langsung menjelaskan bahwa meskipun sebuah titik kendali sangat mempengaruhi bagian kurva yang paling dekat kepadanya, ia juga memiliki beberapa pengaruh pada semua kurva. Semua fungsi dasar adalah bukan nol pada seluruh jangkauan nilai u. Kerugian yang kedua berarti bahwa kita tidak dapat menggunakan sebuah kurva kubus Bezier untuk memperkirakan atau menyatakan n titik tanpa ketidak-nyamanan dari penggunaan segmen kurva jamak (atau dengan meningkatkan derajat kurva tersebut). Sebenarnya “spline” adalah alat Bantu bagi seorang juru gambar. Ia berupa sebuah strip metal yang tipis (atau kayu) yang digunakan untuk menggambar kurva melalui titik tetap dengan menambahkan beban pada titik yang disebut “nodes” atau “knots”. Kurva yang dihasilkan adalah mulus dan meminimalkan tegangan internal dalam spline tersebut. Matematik yang setara adalah spline polynomial kubus. Seperti sebuah kurva Bezier, sebuah kurva B-spline tidak lewat melalui titik kendali. Sebuah B-spline adalah sebuah potongan lengkap polinomial kubus yang berisi sembarang jumlah segmen kurva. (untuk kesederhanaan notasi kita hanya akan memperhatikan B-spline kubus. Akan tetapi kita dapat memiliki B-spline sampai sembarang derajat). Ia adalah sebuah segmen kubus pada interval tertentu, dan pergi dari salah satu interval menuju yang berikutnya, koefisien berubah. Untuk sebuah segmen tunggal saja, kita dapat membandingkan rumusan B-spline dengan rumusan Bezier dengan menggunakan notasi matriks yang sama. Rumus B-spline adalah : Q( u ) = UBs P = [u3 u 2 u 1] 1/ 6
-1 3 -3 1
3 -6 3 0
-3 3 0 0
1 0 0 0
Pi-3 Pi -2 Pi-1 Pi
Dimana Qi adalah segmen B-spline yang ke-i dan Pi adalah sebuah himpunan yang terdiri dari empat titik kendali yang berurutan. 2.4.1 B -Spline Seragam Dalam sebuah kurva B -spline didefinisikan oleh empat fungsi dasar dan empat puncak kendali. Oleh karena itu ada tiga fungsi dasar lagi dan tiga puncak kendali lagi daripada segmen kurva. Titik hubung pada suatu nilai u antara segmen disebut “knot value” dan B-spline yang seragam berarti bahwa knot -knot berjarak pada interval yang sama pada parameter u. 2.4.2 B -Spline yang Tidak Seragam B-spline yang tidak seragam adalah sebuah kurva dimana interval parameter antara nilai knot yang berurutan tidak perlu sama. Ini secara tidak langsung menjelaskan bahwa fungsi campuran tidak lagi mentranslasikan satu sama lain akan tetapi berubah dari interval ke interval. Bentuk yang paling umum dari B-spline yang tidak seragam adalah dimana beberapa interval antara nilai knot yang berurutan dikurangi menuju nol dengan menyisipkan knot jamak. Fasilitas ini digunakan untuk menginterpolasikan titik kendali (titik ujung dan titik perantara) dan ia memiliki keuntungan tertentu disbanding metode yang digunakan dalam bagian sebelumnya -penyisipan titik kendali jamak. Secara khusus, sebuah titik kendali dapat diinterpolasi tanpa pengaruh yang terjadi dengan puncak kendali jamak, katakan segmen kurva garis-lurus pada salah satu sisi dari titik kendali. 96
Jurnal Basis Data, ICT Research Center UNAS Vol.3 No.2 Nopember2008
ISSN 1978-9483
2.4.3 Sifat Kurva B -Spline Beberapa sifat yang kita daftar untuk kurva Bezier diterapkan pada kurva B-spline. Secara khusus : ? Kurva tersebut mengikuti bentuk poligon titik kendali dan dikekang agar terletak dalam “convex hull” titik kendali. ? Kurva tersebut menunjukkan variasi sifat yang berkurang. ? Kurva tersebut ditransformasikan dengan menggunakan sembarang transformasi “affine” terhadap penyajian titik kendalinya. Output Program
:
III.
KESIMPULAN
Kurva parametrik didefinisikan oleh sebuah himpunan titik diskret yang dikenal sebagai titik kendali atau puncak kendali , bersama -sama dengan sebuah himpunan fungsi dasar atau campuran. Ini benar-benar berbeda dengan cara yang normal untuk menentukan sebuah kurva dalam bentuk sebuah fungsi yang lengkap. Kurva paramerik meliputi: Kurva Bezier, Kurva Bspline, Kurva Biparametrik, dan lainnya.. DAFTAR PUSTAKA [1] Basuki, Achmad dan Nana Ramadijanti, Grafika Komputer: Teori dan Implementasi, Andi Yogyakarta, 2006. [2] Hill, F.S, Computer Graphic Using OpenGl, Second Edition, Prentice Hall, 2001. [3] Kadir, Abdul, Pemrograman C++, Andi Yogyakarta, 2003. [4] Bambang wirawan, Paulus, Grafik Komputer dengan C, Jakarta : Penerbit Andi, 2003 [5] http :\ \ www.eprogramming.com [6] http :\ \www.google.com\openGL [7] http :\ \www.google.com\yoav Lahav
97