Anda di halaman 1dari 28

Transformasi 2D

Transformasi 2D adalah suatu teknik memindahkan atau


mengubah nilai posisi objek dalam sistem koordinat dua
dimensi.

Contoh transformasi 2D adalah translasi, penskalaan, rotasi,


shearing, dan refleksi. Transformasi ini sering dikenal dengan
transformasi affine.
Translasi
Translasi adalah proses perpindahan suatu objek dari satu tempat ke tempat
yang lain dalam arah yang sejajar dengan sumbu X dan sumbu Y.
Translasi

Koordinat baru titik yang ditranslasi dapat diperoleh


menggunakan rumus:
x’ = x + tx
y’ = y + ty
Keterangan:
x : koordinat x awal
y : koordinat y awal
x′ : koordinat x setelah translasi
y′ : koordinat y setelah translasi
tx : translasi sumbu-x
ty : translasi sumbu-y
Penskalaan
Penskalaan adalah suatu operasi membuat suatu objek berubah ukuran, baik
menjadi kecil atau besar.
Penskalaan

Koordinat baru penskalaan dapat diperoleh dengan rumus:

x’ = x * sx
y’ = y * sy
Keterangan:
x : koordinat x awal
y : koordinat y awal
x′ : koordinat x setelah penskalaan
y′ : koordinat y setelah penskalaan
sx : faktor penskalaan sumbu-x
sy : faktor penskalaan sumbu-y
Rotasi
Rotasi adalah suatu operasi yang menyebabkan objek berputar pada titik pusat
yang dipilih berdasarkan sudut putaran tertentu.

Untuk rotasi searah jarum jam, sudut


diberi tanda negatif (-)

Untuk rotasi berlawanan arah jarum jam,


sudut diberi tanda positif (+)
Rotasi

Koordinat baru rotasi dapat diperoleh dengan rumus:

x’ = x * cosθ + y * -sinθ
y’ = x * sinθ + y * cosθ
Keterangan:
x : koordinat x awal
y : koordinat y awal
x′ : koordinat x setelah rotasi
y′ : koordinat y setelah rotasi
θ : besar sudut putar
Shearing dan Refleksi
Shearing
Shearing adalah bentuk transformasi yang membuat distorsi dari bentuk suatu objek,
seperti menggeser sisi tertentu.
Shearing

Rumus yang digunakan untuk mengubah sisi objek (distorsi), yaitu:

1. TERHADAP SUMBU-X
x’ = x + shx . y
y’ = y
Keterangan:
x : koordinat x awal
2. TERHADAP SUMBU-Y y : koordinat y awal
x′ = x x′ : koordinat x setelah distorsi
y′ = shy . x + y y′ : koordinat y setelah distorsi
shx : shear x
shy : shear y
Contoh soal:
1. Transformasi shear dengan nilai shx=2 dengan koordinat A(1,1), B(3,1), C(3,3), dan
D(1,3).

Jawab: • Titik A(1,1) • Titik C(3,3)


x′ = 1 + 2 . 1 = 3 x′ = 3 + 2 . 3 = 9
y′ = 1 y′ = 3 TERHADAP SUMBU-X
x’ = x + shx . y
→ A’ = (3,1) → C’ = (9,3) y’ = y

• Titik B(3,1) • Titik D(1,3)


x′ = 3 + 2 . 1 = 5 x′ = 1 + 2 . 3 = 7
y′ = 1 y′ = 3
→ B’ = (5,1) → D’ = (7,3)
Contoh soal:
2. Transformasi shear dengan nilai shy=2 dengan koordinat A(0,0), B(1,0), C(1,1), dan
D(0,1).

Jawab: • Titik A(0,0) • Titik C(1,1)


x′ = 0 x′ = 1
y′ = 2 . 0 + 0 = 0 y′ = 2 . 1 + 1 = 3 TERHADAP SUMBU-Y
x′ = x
→ A’ = (0,0) → C’ = (1,3) y′ = shy . x + y

• Titik B(1,0) • Titik D(0,1)


x′ = 1 x′ = 0
y′ = 2 . 1 + 0 = 2 y′ = 2 . 0 + 1 = 1
→ B’ = (1,2) → D’ = (0,1)
Refleksi
Refleksi adalah transformasi yang membuat pencerminan (mirror) dari suatu objek.
Refleksi

Rumus yang digunakan untuk refleksi objek, yaitu:


1. TERHADAP SUMBU-X 3. TERHADAP SUMBU X->Y
x’ = x x’ = -x
y’ = -y y’ = -y Keterangan:
x : koordinat x awal
y : koordinat y awal
2. TERHADAP SUMBU-Y 4. TERHADAP SUMBU Y = X x′ : koordinat x yang dibentuk setelah
x′ = -x x′ = y pencerminan
y′ = y y′ = x y′ : koordinat y yang dibentuk setelah
pencerminan
Contoh soal:
1. Suatu objek berupa segitiga dengan koordinat A(1,1), B(3,1), dan C(1,3). Tentukan
koordinat refleksi terhadap sumbu x, sumbu y, sumbu x->y, dan sumbu x=y!

Jawab: • Terhadap sb-x • Terhadap sb x->y 1. TERHADAP SUMBU-X


x’ = x
→ A’ = (1,-1) → A’ = (-1,-1) y’ = -y

→ B’ = (3,-1) → B’ = (-3,-1) 2. TERHADAP SUMBU-Y


→ C’ = (1,-3) → C’ = (-1,-3) x′ = -x
y′ = y

3. TERHADAP TITIK ASAL (0,0)


• Terhadap sb-y • Terhadap sb x=y x’ = -x
y’ = -y
→ A’ = (-1,1) → A’ = (1,1)
4. TERHADAP SUMBU Y = X
→ B’ = (-3,1) → B’ = (1,3) x′ = y
→ C’ = (-1,3) → C’ = (3,1) y′ = x
Transformasi 3D
Transformasi 3D merupakan pengembangan dari transformasi 2D.
Jika dalam ruang 2D posisi suatu titik dinyatakan oleh dua sumbu
(x,y), maka dalam ruang 3D posisi sebuah titik dinyatakan dengan
tiga sumbu (x,y,z).

Untuk merepresentasikan suatu titik, kita dapat menggunakan


kaidah tangan kanan, dimana sumbu x positif mengarah ke kanan,
sumbu y positif mengarah ke atas, dan sumbu z positif mengarah
mendekati kita.
Translasi
Translasi 3D menggunakan sumbu x, sumbu y, dan sumbu z. Translasi berfungsi untuk
menggeser benda dari suatu posisi awal menuju posisi baru sesuai dengan keinginan
pengguna.
Translasi

Koordinat baru titik yang ditranslasi dapat diperoleh


menggunakan rumus:

x’ = x + tx Keterangan:
y’ = y + ty
x : koordinat x awal
z’ = z + tz
y : koordinat y awal
z : koordinat z awal
x′ : koordinat x setelah translasi
y′ : koordinat y setelah translasi
z’ : koordinat z setelah translasi
tx : translasi sumbu-x
ty : translasi sumbu-y
tz : translasi sumbu-z
Rotasi
Rotasi atau perputaraan merupakan proses memutar titik koordinat terhadap sebuah titik pusat
perputaraan dengan sudut putar sesuai dengan kebutuhan.

Jika sudut putar bernilai positif, arah putaran adalah berlawanan dengan arah jarum jam,
sebaliknya jika negatif, arah putaran searah jarum jam.
Rotasi
Koordinat baru titik rotasi sebesar sudut θ:

1. TERHADAP SUMBU-X 2. TERHADAP SUMBU-Y 3. TERHADAP SUMBU-Z


x’ = x x′ = x . cosθ + z . sinθ x’ = x . cosθ - y . sinθ
y’ = y . cosθ - z . sinθ y′ = y y’ = x . sinθ + y . cosθ
z’ = y . sinθ + z . cosθ z’ = -x . sinθ + z . cosθ z’ = z

Keterangan:
x : koordinat x awal
y : koordinat y awal
z : koordinat z awal
x′ : koordinat x setelah rotasi
y′ : koordinat y setelah rotasi
z’ : koordinat z setelah rotasi
θ : besar sudut putar
Penskalaan
Penskalaan atau perkalian adalah transformasi geometri yang mengubah ukuran suatu objek
dengan faktor skala tertentu terhadap suatu titik acuan.
Penskalaan

Koordinat baru penskalaan dapat diperoleh dengan rumus:

x’ = x * sx
y’ = y * sy
Keterangan:
z’ = z * sz x : koordinat x awal
y : koordinat y awal
z : koordinat z awal
x′ : koordinat x setelah penskalaan
y′ : koordinat y setelah penskalaan
z’ : koordinat z setelah penskalaan
sx : faktor penskalaan sumbu-x
sy : faktor penskalaan sumbu-y
sz : faktor penskalaan sumbu-z
PengAplikasian
Transformasi 2D dan 3D
OpenGL
OpenGL (Open Graphics Library) adalah API (Application
Programming Interface) yang berfungsi untuk melakukan rendering
grafik 2D dan 3D. OpenGL bersifat cross-language, cross-platform, dan
open source. OpenGL umumnya digunakan untuk melakukan interaksi
dengan GPU (graphics processing unit) untuk mencapai hasil render
yang diakselerasi dengan hardware.
OpenGL
Tujuan

❖ Untuk menyembunyikan kompleksitas dari interfacing dengan


berbagai 3D accelerators, memamerkan oleh programmer dengan
satu, seragam API.

❖ Untuk menyembunyikan kemampuan yang berbeda dari hardware


platform, oleh semua yang memerlukan mendukung implementasi
penuh fitur openGL set .
GLUT

GLUT (GL Utility Toolkit) :

❑ Merupakan pengembangan dari OpenGL yang didesain untuk


aplikasi dengan level kecil hingga menengah dan menggunakan
callback functions untuk menambahkan interaksi dari user .

❑ Merupakan library lintas platform yang membungkus fungsi-fungsi


windowing dan interaksi untuk aplikasi yang berbasis openGL.
Hasil

2D 3D

Anda mungkin juga menyukai