Kamis, 19 April 2012

GRAFIKA KOMPUTER



 GRAFIKA KOMPUTER
Membuat Translasi, Skala, dan Rotasi dengan menggunakan Processing
                Pada grafika komputer, sistem koordinat suatu objek dapat di transformasi. Transformasi ini memungkinkan terjadinya perpindahan posisi suatu objek tanpa harus membuat model objek yang baru. Jenis-jenis transformasi yang sering digunakan pada grafika komputer dibagi menjadi 3 macam, yaitu translasi, rotasi, dan skalasi.
A.    Translasi (Translation)
Translasi merupakan bentuk transformasi yang memindahkan posisi suatu objek, baik pada sumbu x, sumbu y, atau sumbu z. Fungsi yang digunakan untuk melakukan translasi adalah :
glTranslatef(Tx, Ty, Tz)
glTranslated(Tx, Ty, Tz)
Parameter Tx digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu x. Parameter Ty digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu y. Sedangkan parameter Tz digunakan untuk menentukan arah dan seberapa jauh suatu benda akan dipindahkan berdasarkan sumbu z (berlaku pada model 3D).

B.     Rotasi (Rotation)
Rotasi merupakan bentuk transformasi yang digunakan untuk memutar posisi suatu benda. Fungsi yang digunakan untuk melakukan rotasi ialah :
glRotatef(θ, Rx, Ry, Rz)
glRotated(θ, Rx, Ry, Rz)
Parameter yang dibutuhkan pada fungsi tersebut ada 4 macam, yaitu parameter θ untuk besar sudut putaran, parameter Rx untuk putaran berdasarkan sumbu x, parameter Ry untuk putaran berdasarkan sumbu y, dan parameter Rz untuk putaran berdasarkan sumbu z. Jika parameter θ bernilai postif, maka objek akan diputar berlawanan arah jarum jam. Sedangkan jika parameter θ bernilai negatif, maka objek akan diputar searah jarum jam.
C.    Skalasi (Scaling)
Skalasi merupakan bentuk transformasi yang dapat mengubah ukuran(besar-kecil) suatu objek. Fungsi yang digunakan untuk melakukan skalasi ialah :
glScalef(Sx, Sy, Sz)
glScaled(Sx, Sy, Sz)
Perubahan ukuran suatu objek diperoleh dengan mengalikan semua titik atau atau vertex pada objek dengan faktor skala pada masing-masing sumbu (parameter Sx untuk sumbu x, Sy untuk sumbu y, dan Sz untuk sumbu z).
 Contoh      : Translasi, Skala, dan Rotasi dengan menggunakan Processing
TRANSLASI
Untuk menggambarkan translasi suatu objek yang berupa segitiga dengan koordinat A(10,10), B(30,10), dan C(10,30) dengan translation vektor (10,20), pertama-tama dihitung koordinat hasil translasi satu demi satu.
Titik A (10, 10)
X’= X + tX
    = 10 + 10 =20
Y’= Y + tY
    = 10 + 20 = 30
Hasil translasi titik A’ (20, 30)
Titik B (30, 10)
X’= X + tX
    = 30 + 10 =40
Y’= Y + tY
    = 10 + 20 = 30
Hasil translasi titik B’ (40, 30)
Titik C (10, 30)
X’= X + tX
    = 10 + 10 =20
Y’= Y + tY
    = 30 + 20 = 50
Hasil translasi titik C’ (20, 50)



 SKALA
Untuk menggambarkan skala suatu objek yang merupakan segi empat dengan koordinat A(10,10), B(30,10), C(30,20), D(10,20) diskala dengan skala vektor (3,2), pertamatama dihitung koordinat hasil skala satu demi satu.
Titik A (10, 10)
X’= X . sX
    = 10 . 3 =30
Y’= Y . sY
    = 10 . 2 = 20
Hasil skala titik A’ (30, 20)
Titik B (30, 10)
X’= X . sX
    = 30 . 3 =90
Y’= Y . sY
    = 10 . 2 = 20
Hasil skala titik B’ (90, 20)
Titik C (30, 20)
X’= X . sX
    = 30 . 3 =90
Y’= Y . sY
    = 20 . 2 = 40
Hasil skala titik C’ (90, 40)
Titik D (10, 20)
X’= X . sX
    = 10 . 3 =30
Y’= Y . sY
    = 20 . 2 = 40
Hasil skala titik D’ (30, 40)

 

ROTASI
Untuk menggambarkan rotasi suatu objek yang berupa segitiga dengan koordinat A(10,10), B(30,10), dan C(10,30) dengan sudut rotasi 300 terhadap titik pusat koordinat Cartesian (10,10), dilakukan dengan menghitung koordinat hasil rotasi tiap titik satu demi satu.
Titik A (10, 10)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (10 – 10) 0,9 – (10 – 10) 0,5
    = 10 + 0 – 0 = 10
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (10 – 10) 0,5 + (10 – 10) 0,9
    = 10 + 0 – 0 = 10
Hasil rotasi titik A’ (10, 10)
Titik B (30, 10)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (30 – 10) 0,9 – (10 – 10) 0,5
    = 10 + 18 – 0 = 28
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (30 – 10) 0,5 + (10 – 10) 0,9
    = 10 + 10 – 0 = 20
Hasil rotasi titik B’ (28, 20)
Titik C (10, 30)
X’= Xp + (X - Xp) cos(300) - (Y-Yp) sin(300)
    = 10 + (10 – 10) 0,9 – (30 – 10) 0,5
    = 10 + 0 +10 = 20
Y’= Yp + (X-Xp) sin(300) + (Y-Yp) cos(300)
    = 10 + (10 – 10) 0,5 + (30 – 10) 0,9
    = 10 + 0 + 18 = 28
Hasil rotasi titik C’ (20, 28)



Tidak ada komentar:

Posting Komentar