Transformasi dua dimensi adalah suatu model atau bentuk atau teknik memindahkan atau mengubah nilai posisi objek dalam sistem koordinat dua dimensi. Pemindahan objek ini dapat diartikan sebagai pemindahan titik. Ada dua cara yang dapat digunakan untuk mentransformasi gambar yaitu :
·
Transformasi objek
Transformasi objek adalah mengubah
koordinat-koordinat dari tiap titik di objek dengan beberapa aturan ,
meninggalkan underlying sistem koordinat yang tidak bisa diubah lagi.
·
Transformasi koordinat
Transformasi koordinat adalah system koordinat
yang baru dibuat sebelumnya merupakan perwakilan dari semua titik objek dalam
sistem yang baru.
Objek grafik 2
dimensi adalah sekumpulan titik-titik 2 dimensi yang dihubungkan dengan garis
lurus, baik berupa polyline, polygon atau kurva. Objek grafik 2 dimensi
didefinisikan sebagai kumpulan titik 2dimensi yang secara komputasi dinyatakan
sebagai array 1D, atau linkedlist sesuai dengan struktur data yang digunakan
dalam menyatakan kumpulan titik 2D ini. Pada
dasarnya, operasi yang dapat dilakukan dengan menggunakan model transformasi
ada 3, yaitu :
Translation : Pemindahan Objek ke posisi yang baru
Rotation : Proses memutarkan objek
Scaling : Memperbesar dan Memperkecil Objek,
disini kita bisa merubah
ukuran
objek tersebut tidak harus seragam antara panjang, lebar atau tingginya,
sehingga kita bebas untuk me-resize objek yang telah kita buat
Penerapan obyek
dua dimensi dalam grafika computer biasanya dalam membuat obyek 2 dimensi
seperti desain rumah, jam, bintang dan lain sebagainya dengan menerapkan
primitive obyek. Dalam pembuatan bintang memerlukan fungsi fungsi primitive
yang digunakan antara lain adalah :
·
Perpindahan
(Translasi)
Pengertian
translasi adalah perpindahan objek dari titik P(x, y) ke titik P’(x’, y’)
secara linier. Dalam translasi
dua dimensi diperlukan dua parameter, yaitu pemindahan kearah sumbu x dan pemindahan
kearah sumbu
y. Translasi (dx, dy) didefinisikan dengan :
x’=
x + dx
y’
= y + dy
Bentuk umum :
glTranslatef(
x, y, z )
glTranslated(
x, y, z )
glVertex3f(1.0f,
-1.0f, -10.0f );
glColor3f(
1.0, 0.0, 0.0 );
glVertex3f(-1.0f,
-1.0f, -10.0f );
glEnd();
·
Penskalaan
(Scale)
Definisi
dari penskalaan m adalah perpindahan objek dari titik P ke titik P’, dimana
jarak titik P’ adalah m kali
titik P atau suatu operasi yang membuat suatu objek berubah ukurannya baik menjadi mengecil
ataupun membesar
secara seragam atau tidak seragam tergantung pada faktor penskalaan yang
diberikan.
Proses penskalaan dapat
didefinisikan dengan :
x’ = mx x
y’ = my y
Bentuk umum :
·
Perputaran (Rotate)
Definisi
rotasi adalah perpindahan objek dari titik P(x, y) ke titik P’(x’,y’) yang
berupa pemindahan berputar
sebesar sudut _ atau suatu operasi yang menyebabkan objek bergerak berputar
pada titik pusat atau pada sumbu
putar yang dipilih berdasarkan sudut putaran tertentu.
Operasi rotasi dapat diuraikan sebagai
berikut :
1. Rotasi
dari titik P yang berada di sumbu x, P(x, 0) menjadi P’(x’, y’) dapat
digambarkan dengan :
x’ = x .cos
θ
y’ = x.sin θ
2. Rotasi
dari titik P yang berada di sumbu y, P(y, 0) menjadi P’(x’, y’) dapat
digambarkan dengan :
x’ = -y .cos θ
y’
= y.sin θ
3. Rotasi
dari titik P(x, y) menjadi P’(x’, y’) merupakan kombinasi dari kedua macam
transformasi di atas R =
Rx
+ Ry.
x’
= x .cos θ
- y.sin θ
y’
= x.sin θ
+ y.cos θ
Bentuk umum :
glRotatef( sudut, sx, sy, sz );
0 komentar:
Speak up your mind
Tell us what you're thinking... !