Pertemuan 12 Kurva Texture Mapping

21
Kurva & Texture Mapping

description

Kebanyakan kurva yang digunakan dalam GrafikaKomputer adalah kurva parametrik (parametriccurves), yang mana posisi kurva berada pada ruang(x,y) yang diberikan oleh beberapa fungsiparameternya.

Transcript of Pertemuan 12 Kurva Texture Mapping

Page 1: Pertemuan 12 Kurva Texture Mapping

Kurva & Texture Mapping

Page 2: Pertemuan 12 Kurva Texture Mapping

5.1 Kurva 2D

• Kebanyakan kurva yang digunakan dalam GrafikaKomputer adalah kurva parametrik (parametriccurves), yang mana posisi kurva berada pada ruang(x,y) yang diberikan oleh beberapa fungsiparameternya.

• Bentuk eksplisit suatu fungsi, misalkan y = f(x) secara• Bentuk eksplisit suatu fungsi, misalkan y = f(x) secaraumum tidak appropriate karena :– Tidak mungkin mendapatkan nilai y ganda untuk suatu x

yang diberikan.– Bentuknya tidak invariant untuk suatu rotasi– Kurva tidak bisa dideskripsikan dengan suatu tangent

vertical

Page 3: Pertemuan 12 Kurva Texture Mapping

Kurva 2D

• Bentuk implicit suatu fungsi, misalkan f(x,y) = 0, sangat tidak sesuai untuk merepresentasikan kurva-kurva karena :– Persamaan yang diberikan mungkin mempunyai – Persamaan yang diberikan mungkin mempunyai

banyak penyelesaian– Batasan solusi untuk satu cabang membutuhkan

banyak konstrain– Penggabungan kurva-kurva dapat mengakibatkan

suatu permasalahan

Page 4: Pertemuan 12 Kurva Texture Mapping

Selanjutnya suatu bentuk kurva ketiga, yangdikenal dengan fungsi parameter (parameterizedfunction) digunakan untuk merepresentasikankurva 2D secara umum. Adapun fungsinya,misalkan x = x(t) dan y = y(t), dimana t adalahsuatu indeks yang dapat dianggap sebagai waktu

Kurva 2D

misalkan x = x(t) dan y = y(t), dimana t adalahsuatu indeks yang dapat dianggap sebagai waktuatau jarak sepanjang kurva. Polinomial kubiksering kali digunakan karena secara fleksibelmemuaskan untuk pendekatan kurva secaraumum serta tidak terlalu banyak mempunyaikoefisien ( parameter).

Page 5: Pertemuan 12 Kurva Texture Mapping

5.2 Kurva Polinomial KubikBentuk umum segmen kurva diberikan oleh q(t) = (x(t), y(t))’ dimana :

Dimana dengan menggunakan notasi matriks dan vektor maka dapat dituliskan dalam bentuk :

sedemikian hingga q(t) = Ct.

]1,0[t

Page 6: Pertemuan 12 Kurva Texture Mapping

• Berikut ditampilkan contoh potongan kubik

Gambar 5.1. Contoh potongan-potongan kubik

• Suatu kontinuitas dan kelembutan (smoothness) melaluipencocokkan penurunan ( atau slope) suatu kurva padasaat penggabungan titik-titiknya. Selanjutnya dihitung :

Page 7: Pertemuan 12 Kurva Texture Mapping

Dimana :

• beberapa tipe kontinuitas didefinisikan sebagai berikut :– kontinuitas geometrik G0 gabungan kurva– kontinuitas geometrik G1 gabungan kurva dengan arah tangen

yang sama– kontinuitas C1 gabungan kurva dengan arah dan magnitude

tangen yang sama– kontinuitas Cm gabungan kurva dengan turunan ke –n yang

sama

Page 8: Pertemuan 12 Kurva Texture Mapping

Selanjutnya bagaimana menggabungkan segmen? • Terdapat empat tidak diketahui (unknown) untuk tiap x dan y yang

selanjutnya kita memerlukan empat empat konstrein untukmenentukan sistem persamaan untuk tiap-tiap segmen, adapunkonstrein yang dipunyai adalah :– Konstrein pada end points.– Konstrein pada tangen vector (derivatives)– Konstrein pada kontinuitas antara segmen dan end point– Konstrein pada kontinuitas antara segmen dan end point

• Terdapat tiga tipe utama kurva yaitu :– Hermite = didefinisikan oleh dua end point dan tangent vector

pada end point.– Bezier = didefinisikan oleh dua end point dan dua titik control

yang menentukan tangent vector pada end points.– B-Spline = didefinisikan oleh empat titik control, dengan

kontinuitas C2.

Page 9: Pertemuan 12 Kurva Texture Mapping

5.3 Kurva Hermite

• Suatu bentuk polynomial hermite digambarkan melaluipendefinisian dua end points p1, p4 dan dua end tangentvector r1, r4. Pertanyaannya sekarang adalah bagaimanamenentukan koefisien-koefisien polynomial, yang manamatriks C sebagai suatu konstrein disini?.matriks C sebagai suatu konstrein disini?.

• Langkah penting adalah mengekspansi C ke dalam duamatriks. Misalkan baris C korespondensi dengan koefisien-koefisien x, Cx. Maka dapat dituliskan sebagai :

Page 10: Pertemuan 12 Kurva Texture Mapping

• dimana Gx adalah komponen x yang juga dinamakan denganmatriks geometri dan MH adalah Matriks dasar Hermite yangmendefiniskan fungsi dasar yang digunakan untukmerepresentasikan fungsi x(t). Dengan menggunakanpersamaan di atas maka dapat dituliskan MH sebagai :

• sekarang x(t) dapat dituliskan dalam dua cara : sebagai fungsi atau sebagai kombinasi linier pada finite support fungsi dasar tidak linier GxBH(t) dimana BH(t) = MH t merupakan fungsi dasar Hermite.

Page 11: Pertemuan 12 Kurva Texture Mapping

• Berikut ini diberikan gambar fungsi dasar Hermite.

Gambar 5.2. Fungsi Dasar Hermite

Page 12: Pertemuan 12 Kurva Texture Mapping

5.4 Kurva Bezier

• Kurva Bezier hampir sama dengan Kurva Hermitehanya bedanya di sini menggunakan empat titikkontrol yaitu p1, p2, p3, p4. Titik kontrol tengahdiberikan oleh awal dan akhir tangent vectorsedemikian hingga r = 3(p – p ) dan r = 3(p – p ).sedemikian hingga r1 = 3(p2 – p1) dan r4 = 3(p4 – p3).Sedangkan matriks geometri Bezier Gx adalah :

Page 13: Pertemuan 12 Kurva Texture Mapping

• Fungsi basis Bezier diperlihatkan dalamgambar 5.3. Fungsi dasar ini dinamakandengan polynomial Bernstein.

Gambar 5.3. Fungsi Dasar Bezier

Page 14: Pertemuan 12 Kurva Texture Mapping

• Jika dua kurva Bezier digabungkan, dengan titik-titikkontrolnya adalah : p1, p2, p3, p4 dan p5, p6, p7 makadibutuhkan suatu kondisi tambahan untuk memastikankontinuitas G1 atau C1. Dengan dipunyainya p4 dalamkedua kurva memastikan kontinuitas G0 atau C0, makadipunyai :– Kontinuitas G1 jika p3 – p4 = k(p4 – p5), dimana k > 0– Kontinuitas G1 jika p3 – p4 = k(p4 – p5), dimana k > 0– Kontinuitas C1 jika p3 – p4 = p4 – p5

Page 15: Pertemuan 12 Kurva Texture Mapping

5.5 B-splines

• Spline mempunyai sejarah yang panjang dalam grafika komputersebelum dikenal dalam teknik gambar. Secara alamiah spline kubikmerupakan model matematis untuk sejenis thin strip, yang manamelalui semua titik control yang dapat meminimalkan energi dasar.Spline kubik alami (natural cubic spline) mempunyai kontinuitas C2

(terdiri C1, C0) dan lebih halus jika dibandingkan dengan kurvaHermite ataupun Bezier.Hermite ataupun Bezier.

• B-Spline, spline-splinenya tergantung hanya pada titik-titik kontorllocal, dan B dianggap sebagai basisnya. Cubic B-Spline didekatidengan menggunakan serangkaian titik-titik control m + 1, pi,dimana i = 1, 2, 3, …, m + 1 dan m kurang dari 3. Pendekatan kurvaterdiri dari m – 2 bagian (segment) Qj, j = 3,4,..., m. Untuk tiapterdapat suatu knot (atau join) diantara Qj-1 dan Qj pada nilaiparameter tj. Titik awal dan akhir t3 dan tm+1 juga merupakan knot,memberikan m -1 knot.

Page 16: Pertemuan 12 Kurva Texture Mapping

• Seringkali didapati bahwa knot-knot ti uniform sepanjang ruangkurva ( uniform non rational B – Spline). Non-rational merujuk padakenyataan bahwa spline-spline tidak dapat digambarkan sebagairasio dua polynomial kubik. B- spline dapat digambarkan sebagaikombinasi linier atau fungsi dasar non-linier pasti.

Gambar 5.4. Contoh uniform non-rotional B-Spline

Page 17: Pertemuan 12 Kurva Texture Mapping

• Seperti kurva Hermite dan Bezier makamatriks Geometri B-Spline dapat didefinisikansebagai :

• untuk tiap bagian kurva Qj , tiap waktumengasumsikan variasi t dari j -3 sampai j -2mengasumsikan variasi t dari j -3 sampai j -2atas bagian tersebut. Sedangkan Matriks DasarB-Spline adalah :

Gambar 5.5. memperlihatkan fungsi dasar B-Spline.

Page 18: Pertemuan 12 Kurva Texture Mapping

Fungsi basis (blending) B (t) dapat juga diturunkan lagi, seperti yang

Gambar 5.5. Fungsi Dasar B- Spline

• Fungsi basis (blending) BBs (t) dapat juga diturunkan lagi, seperti yangterlihat dalam gambar 5.5.

• Non-uniform non-rational B-splines dapat juga didefinisikan di mana,spacing di antara titik knot tidak lagi uniform. Sehingga di situ tidakterdapat fungsi basis (blending) yang pasti, meskipun begitu melaluipenambahan titik kontrol pada atas satu dengan lainnya maka kontinuitaskurva pada titik-titik tersebut seperti ditunjukkan pada gambar 5.5. Inimeningkatkan fleksibilitas dan kemampuan untuk representasikan keduaperubahan smooth dan sharpness dalam arah menggunakan sejumlahtitik kontrol yang kecil. Kemampuan ini secara ideal sesuai untukmendreskipsikan shape dari font ( seperti quadratic B-splines digunakanuntuk mendefinisikan tipe font yang benar).

Page 19: Pertemuan 12 Kurva Texture Mapping

• Rational kurva-kurva dihasilkan denganmenggunakan rasio (seperti kubik) polinomialsebagai berikut :

• dimana X(x), Y(t), dan W(t) adalah kurva polinomial kubik. Kegunaan rational polinomial adalah sama dengan pemakain koordinat homogen, dimana bisa ditulis bagian kurvanya sebagai Q(t) = [ X(t), Y(t), W(t)].

Page 20: Pertemuan 12 Kurva Texture Mapping

• Rational kurva bersifat invariant di bawah operasi translasi, rotasi, scalingdan proyeksi perspektif. Selanjutnya suatu proyeksi perspektif suaturational kurva polinomial dapat diperoleh melalui penerapan operatorproyeksi terhadap titik kontrol. Rational kurva dapat juga secara nyatadidefinisikan dengan beberapa bagian conic. Dalam banyak aplikasi CAD,penggunaan rational kurva memberikan suatu efisiensi. Kebanyakanbentuk umum rational kurva yang digunakan dinamakan dengan NURBS (Non-Uniform Rational B-Spline).

Page 21: Pertemuan 12 Kurva Texture Mapping

Referensi :

• Hills, Francis S Jr,Computer Graphics Using OpenGl 2nd

Edition. New Jersey: Prentice Hall, 2000.• Foley, James D, Andries van Dam, Steven K. Feiner and

John F. Hughes, Computer Graphics: Principles and Practice, Second Edition in C. Addison-Wesley ,1994.Practice, Second Edition in C. Addison-Wesley ,1994.

• Edward Angel ,Interactive Computer Graphics: A Top-Down Approach with OpenGL. 2nd , Addison Wesley, 2005

• Suyoto, Teori dan Pemrograman Grafika Komputerdengan Visual C++ V.6 dan OpenGl, Gava Media, Yogyakarta, 2003.