bab 1. geometri tiga dimensi dalam grafik · pdf filengan-kanan merupakan konvensi matematika...

Download BAB 1. Geometri Tiga Dimensi Dalam Grafik · PDF filengan-kanan merupakan konvensi matematika standar meskipun sistem tangan- ... Translasi (0.5, 1.7, -0.6) (2) F: Skala (I, 1, 1)

If you can't read please download the document

Upload: buikhue

Post on 07-Feb-2018

260 views

Category:

Documents


5 download

TRANSCRIPT

  • 1 GeometriTiga-DimensidalamGrafikKomputer

    1.1 Manipulasi struktur tiga-dimensi

    Transformasi merupakan alat penting dalam menghasilkan obyek gambar tiga-di-mensi. Transformasi digunakan untuk memindahan obyek di dalam suatu ling-kungan, dan juga untuk membangun pandangan dua-dimensi atas lingkungantersebut untuk permukaan tampilan. Bab ini berhubungan dengan transformasitiga dimensi dasar, dan memperkenalkan beberapa transformasi perubahan-ben-tuk yang berguna dan geometri tiga-dimensi dasar yang akan kita gunakan dalamseluruh naskah.

    Oalam graftk komputer metode yang paling terkenal untuk menyajikan sebuahobyek adalah model jaring poligon. Penyajian ini akan diuraikan sepenuhnyadalam Bab 2. Yang kita perlukan pada tahap ini hanyalah bahwa entah bagaimanakita dapat menyajikan sebuah obyek sebagai sebuah daftar titik-titik dalam ruangtiga-dimensi. Kita melakukan ini dengan menyajikan permukaan sebuah obyeksebagai sekumpulan poligon planar terhubung di mana masing-masing poligonmerupakan sebuah daftar titik-titik. Bentuk penyajian ini apakah eksak atau hanyaaproksimasi tergatung pada sifat eksak obyeknya. Sebagai contoh, sebuah kubusdapat disajikan secara eksak dengan enam bujur sangkar. Sebaliknya, sebuahsilinder hanya dapat diaproksimasi dengan poligon; misal empat persegi panjanguntuk permukaan yang melengkung dan dua hexagon untuk bidang ujung. Jumlahpoligon yang digunakan dalam aproksimasi menentukan bagaimana ketelitianobyek disajikan dan hal ini memiliki akibat dalam pemodelan biaya, penyim-panan dan rendering (pembentukan gambar) serta mutu. Ketenaran teknikpemodelan jaring poligon dalam graftk komputer tidak diragukan lagi karena

  • -- _u _____.__

    2 Pengantar Komputer Grafik

    kesederhanaan sifat yang melekat dan perkembangan algoritma pembuatan ba-yangan yang tidak mahal untuk bekerja dengan model yang sedemikian rupa.

    Sebuah model jaring poligon terdiri dari struktur vertex, masing-masing ver-tex berupa titik tiga-dimensi yang disebut juga ruang koordinat. Selanjutnya

    akan kita per~atikan bagaimana vertex tersebut dihubungkan untuk membentukpoligon dan bagaimana poligon disusun ke dalam obyek yang lengkap. Akantetapi untuk memulainya kita akan memperhatikan obyek yang hanya berupasebuah himpunan vertex tiga-dimensi dan lihatlah bagaimana vertex ini ditrans-formasikan dalam ruang tiga-tlimensi dengan menggunakan transformasi linear.

    1.2 Transformasi afinitas

    Transformasi afinitas tiga-dimensi (three-dimensional affine transformations)adalah transformasi yang mempengaruhi rotasi, penyekalaan (scaling), pemo-tongan (shear) dan translasi. Sebuah transformasi afinitas dapat dinyatakan olehsebuah matriks dan sebuah himpunan transformasi afinitas yang dapat diga-bungkan ke dalam sebuah transformasi afinitas menyeluruh tunggaI. Secarateknis kita mengatakan bahwa sebuah transformasi afinitas merupakan kombinasitransformasi linear (rotasi, penyekalaan, dan pemotongan) yang diikuti dengantranslasi (secara teknik, translasi bukan merupakan transformasi linear).

    Obyek yang ditentukan dalam sebuah sistem koordinat secara konvensionalberupa sistem yang mengikuti aturan tangan-kanan. Sistem koordinat tiga-di-mensi tangan-kanan dan tangan-kiri diperlihatkan pada Gambar 1.1. Sistem ta-ngan-kanan merupakan konvensi matematika standar meskipun sistem tangan-kiri juga masih ada, digunakan dalam konteks khusus mengenai sistem pandang(viewing systems) dalam grafik komputer. Kita berhubungan dengan masalah inidalam Bagian 3.1.1. Perbedaan antara kedua sistem tersebut denganmemperhati-kan sumbuz diperlihatkandalam Gambar 1.1.Putarlahjari anda di sekitar sumbu z,dari sumbu x positifmenuju sumbuy positif,memberikanarabz yangberbedauntukibujari andatergantungpadasistemmanayangdigunakan.

    Kadang-kadang lebih menyenangkan untuk mendefinisikan obyek dalamsistem koordinat lokal mereka. Ada tiga alasan untuk hal ini. Pada saat sebuahobyek tiga-dimensi dimodelkan, adalah sangat membantu untuk membentuk ver-tex yang berhubungan dengan beberapa titik referensi obyek tersebut. Pada ke-nyataannya sebuah obyek kompleks bisa memiliki sejumlah sistem koordinat

  • . - - . - - - -- -. - - ~- -

    Geometri Tiga-{>imensicia/am Graftk Komputer 3

    lokal, satu untuk masing-masing sub bagian. Bisa jadi bahwa obyek yang sarnatampak beberapa kali dalarn sebuah garnbar dan definisi dengan sebuah titik asallokal merupakan cara yang bijaksana untuk menyusunnya. Misalnya sebuahobyek dengan menggunakan carnpuran translasi, transformasi rotasi danpenyekalaan selanjutnya dapat terlihat sebagai pentransformasian sistem koordi-nat lokal masing-masing obyek ke sistem koordinat. Akhirnya bila sebuah obyekdirotasi, ia 'akan lebih mudah jika rotasi ditentukan terhadap titik referensi lokal

    seperti sebuah sumbu simetri. (Filosofi ini diambil, misalny~, 'dalam standargrafik PRIGS, dimana pemrograrn menentukan struktur dalam sistem koordinatpemodelan. Transformasi pemodelan menentukan pemetaan dari ruang koordinatini inenuju ruang koordinat tiga dimensi.)

    Sebuah himpunan vertex atau titik tiga-dimensi yang termasuk dalam sebuahobyek dapat ditransformasikan menuju himpunan titik yang lain dengan trans-formasi linear. Kedua himpunan titik tersebut masih dalam sistem koordinatyang sama. Notasi matriks digunakan dalam grafik komputer untuk menguraikantransformasi dan sesuai dengan konvensi dalam grafik komputer adalah agarmemiliki titik atau vektor sebagai sebuah matriks baris, yang diikuti denganmatriks transformasi T.

    Dengan menggunakan notasi matriks, sebuah titik V ditransformasikan de-ngan translasi, penyekalaan dan rotasi sebagai:

    V' = V + DV'=VSV'=VR

    dimana D adalah vektor translasi dan S serta R merupakan matriks skala danrotasi.

    Tiga operasi ini merupakan transformasi yang paling umum digunakan dalamgrafik komputer yang memungkinkan mereka untuk diperlakukan dengan carayang sama dan tergabung, kita menggunakan koordinat homogen. Secara efektif,kita meningkatkan ukuran ruang untuk membuat translasi sebuah transformasilinear, Dalarn praktek, ini memberi kita dengan sebuah sistem yang menyatu bagispesifikasi transformasi. Dalam sistem homogen vertex

    V(x,y, z)

    dinyatakan sebagai

  • 4 Pengantar Komputer Grajik

    y y

    z

    .r

    (al (h)

    Gambar 1.1 (a) Sistem koordinat tangan-kanan dan (b) tangan-kiri.

    V(X, Y, Z, w)

    untuk sembarang faktor skala w *-O.Penyajian koordinat cartesian tiga dimensimenjadi:

    x =X/wy = Y/wz = Z/w

    dalam grafik komputer w selalu diambill dan penyajian matriks sebuah titik adalah

    [x y z 1]Sekarang translasi dapat diperlakukan sebagai matriks perkalian, seperti halnyadua transformasi yang lain, dan menjadi

    V'=VT

    1{

    0 01 0[x' y' z' 1] = [x Y z 0 1

    Tx Ty T;= [x y z 1] T

  • Geometri Tiga-Dimensi do/am Grafik Komputer 5

    Spesifikasi ini secara tidak langsung menyatakan bahwa obyek tersebut ditrans-lasikan dalam tiga dimensi dengan menerapkan pemindahan Tx, Ty, dan Tz ter-hadap masing-masing vertex yang menentukan obyek tersebut. Notasi matriksm~rupakan sebuah alternatif yang menyenangkan untuk penulisan transformasisebagai sebuah himpunan yang terdiri dari tiga persamaan:

    x' = x + Tx

    y' = y + Tyz' = z + T:

    Himpunan transformasi tersebut disel~saikan dengan penyekalaan dan rotasi.Pertama, penyekalaan:

    V'= VS

    [

    Sx

    s= 0oo

    oSyoo

    Di sini Sx, Sy, dan Sz merupakan faktor penyekalaan. Untuk penyekalaan yangseragam, Sx = Sy =Sz;selain itu akanterjadipenyekalaandiferensialsepanjangsumbu ini yang mana faktor penyekalaan adalah non unity. Sekali lagi prosestersebut dapat dinyatakan secara lebih ringkas dengan sebuah himpunan yangterdiri dari tiga persamaan:

    x' = xSxy' = ySyz' = zS:

    yang digunakan untuk setiap vertex dalam obyek.Untuk merotasikan sebuah obyek dalam ruang tiga dimensi kita perlu menen-

    tukan sebuah sumbu rotasi. Hal ini dapat memiliki orientasi spatial dalam ruangtiga-dimensi, akan tetapi yang paling mudah adalah mempertimbangkan rotasiyang sejajar dengan salah satu sumbu koordinat. Matriks transformasi untuk

    rotasi yang searahjarum jam sekitar sumbuX, Y, dan Z masing-masing adalah:

    ocose

    -sin eo

    osinecose

    o ~]

  • 6 Pengantar Komputer Grafik

    Spesifikasi matriks sumbu Z adalah ekuivalen dengan himpunan tiga persamaanberikut ini:

    x' = x cos () - y sin ()y' = x sin () + y cos ()z' = z

    Gambar 1.2 mempertihatkan contoh transformasi ini yang beroperasi pada sebuah

    kubus dengan salah satu vertexnya berada pada sumbu titik asal.Inverse dari transformasi ini sering diperlukan. T -I diperoleh dengan me-

    negasikan T", Ty, dan Tz. Penggantian S", Sy, dan Sz secara timbal batik memberi-kan S-I, dan penegasian sudut rotasi menghasilkan R-1 .

    Himpunan rotasi, penyekalaan, dan translasi dapat dikalikan atau dikon-ketenasikan bersama-sama untuk menghasilkan net transformation matrix. Se-bagai contoh jika:

    [x' y' z' 1]=[x Y Z I]M1

    dan

    [x" y" z" 1] = [x' y' z' 1] M1

    maka matriks transformasi dapat dirangkaikan:

    dan

    [x" y" z" 1]=[x y Z I]M3

    Meskipun translasi adalah komutatif, namun rotasi tidak dan

    l=6

    0 -sin ()

    ]

    R = 0 1 0y si () 0 cos ()

    0 0

    l cos6

    sin () 0

    ]R, -sr 6

    cos () 00 10 0

  • Geometri Tiga-Dimensi da/am Grafik Komputer 7

    z z z

    .t

    (d)

    X scaling

    [

    2 0 0 0

    ]

    () 1 0 0

    o 0 I 0o 0 0 I

    Translation

    [

    1 () 0 0

    ]

    o I 0 ()o 0 I 0

    51MJ 5(MJ 0 1

    If)

    Translation and

    rotation

    [

    0'8M 0.5 0 0

    ]

    -11.5 O.K66() 0o () I 0

    .BU.: 60.3 0 1

    Gambar 1.2 Contoh transformasi afinitas pada sebuah kubusyang terletak dengan salah satu ed