Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Nim : 1990343013
Nilai :
Keterangan :
Ahlul Muddin
Nim : 1990343013
PRAKTIKUM VII
“Transformasi 2 Dimensi (Translasi Dan Scalling 2)”
III. Teori
Transformasi 2 Dimensi
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. Untuk memindahkan
objek digunakan dua operasi dasar yaitu vektor dan matrik. Vektor menunjukan posisi
saat dari suatu objek, sedangkan matriks adalah operator untuk memindahkan objek.
untuk mengimplementasi transformasi 2D. Ada empat jenis transformasi 2 dimensi,
yaitu:
Translasi
Scalling
Refleksi
Rotasi
Dasar teori pada praktikum pertemuan minggu ini akan dibahas mengenai translasi
dan scalling, sedangkan refleksi dan rotasi akan dibahas pada pertemuan berikutnya,
yaitu sebagai berikut :
1. Translasi
Translasi adalah perpindahan obyek dari titik P(x,y) ke titik P’(x’,y’) secara linier.
Dalam translasi 2D diperlukan dua paramater yaitu pemindahan ke arah sumbu x
dan pemindahan ke arah sumbu y. Translasi (dx,dy) didefinisikan dengan
persamaan (1) atau dapat juga ditulis seperti persamaan (2). Ilustrasi dari translasi
dapat dilihat pada gambar 1.
(1)
(2)
(4)
2. Scalling
Scalling m adalah perpindahan obyek dari titik P ke titik P’, dimana jarak titik P’
adalah m kali titik P. Scalling digunakan untuk mengubah ukuran dari sebuah
objek. Persamaan scalling ditulis seperti pada persaman (5) dengan persamaan
bentuk vektor seperti pada persamaan (6). Ilustrasi dari scalling dapat dilihat pada
gambar 2.
(5)
(6)
V. Prosedur Praktikum
Untuk proses percobaannya sama seperti pada praktikum sebelumnya yaitu membuat
project dengan nama tertentu, sebagaimana contoh source code yaitu sebagai berikut :
#include<stdio.h>
#include<math.h>
#include<gl/glut.h>
typedef struct
{
float m[3][3];
} matrix2D_t;
typedef struct
{
float v[3];
} vector2D_t;
typedef struct
{
float x;
float y;
} point2D_t;
typedef struct
{
float r, g, b;
} color_t;
matrix2D_t createIdentity(void)
{
matrix2D_t u;
int i, j;
//-------------------------
// Pemindahan Struktur Data
//-------------------------
void userdraw(void);
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
userdraw();
glutSwapBuffers();
}
void drawAxes(void)
{
drawLine(-310,0,310,0); drawLine(310,0,300,5);
drawLine(310,0,300,-5); drawcharX(300,-20);
drawLine(0,-230,0,230); drawLine(0,230,5,220);
drawLine(0,230,-5,220); drawcharY(-20,220);
}
userdraw(void)
{
static int tick = 0;
point2D_t A1[8] = {{10,10}, {27.5,50}, {32.5,50}, {50,10}, {40,10},
{35,20}, {25,20}, {20,10}};
point2D_t A2[3] = {{27.5,27.5}, {32.5,27.5}, {30,37.5}};
point2D_t M[12] = {{70,10}, {70,50}, {80,50}, {90,40}, {100,50},
{110,50}, {110,10}, {100,10},
{100,37.5}, {90,27.5}, {80,37.5}, {80,10}};
vector2D_t vecA1[8];
vector2D_t vecA2[3];
vector2D_t vecM[12];
matrix2D_t scale;
matrix2D_t trans;
int i, loop;
setColor(0,0,0);
drawAxes();
drawPolygon(A1, 8);
drawPolygon(A2, 3);
drawPolygon(M, 12);
glutSetWindowTitle("Translasi dan Scalling Ahlul Muddin => AM");
trans = translationMTX(62,22);
scale = scalingMTX(1.2,1.2);
return 0;
}
Output
VI. Analisa
Pada praktikum translasi dan scalling hasil yang dimana Scalling atau penskalaan adalah
proses untuk mengubah ukuran objek, dengan cara Mengubah jarak setiap titik pada objek
terhadap titik acuan. Objek dapat diskalakan dengan arah horizontal maupun vertical dengan
cara mengalikan koordinat tiap objek dengan factor konstanta.scalling ini dapat dianalisakan
dalam menggeserkan titik (x,y). translasi adalah program untuk menggeserkan titik yang
menggunakan GL_POLYGON dan GL_QUARDS untuk membuat segi banyak di opengl,
pada program ini untuk pendeklarasian arah gerak objek ke atas, bawah, kanan, dan kiri
menghasilkan translasi dari suatu objek grafis.
Pada viod userdraw terdapat static int tick = 0; kemudian point2D_t pada
point2D_t yang merupakan titik koordinat bentuk dari huruf yang ingin dibuat.
Pada int loop terdapat 4 buah setColor yang dimana untuk garis Y dan garis X
yang berwarna hitam dan untuk setColor yang lain untuk hurufnya seperti warna
merah dan biru.
Pada program ini menggunakan nilai translasi dx = 62 dan dy = 22. Dan nilai
scalling factorx = 1.2 dan factory = 1.2.
VII. Kesimpulan
Translasi berarti memindahkan objek sepanjang garis lurus dari suatu lokasi koordinat
tertentu ke lokasi yang lain tanpa mengubah bentuk objek. Bila suatu objek terbentuk
dari beberapa titik maka bila melakukan translasi akan dikenakan terhadap setiap titik
pembentuk objek tersebut.
Skala digunakan untuk mengubah ukuran suatu objek, bila pada translasi operasi yang
digunakan adalah penjumlahan sedangkan pada skala operasi yang digunakan adalah
perkalian.
VIII. Referensi
- Jobsheet.
- https://www.studiobelajar.com/transformasi-geometri/
- https://blog.ruangguru.com/pengertian-dan-jenis-jenis-transformasi-geometri.
object3D_t inisialN =
{
20, {{1,-1,0}, {2,-1,0}, {3,-3.25,0}, {3,-1,0}, {4,-1,0}, {4,-5,0}, {3,-
5,0},
{2,2.75,0}, {2,-5,0}, {1,-5,0},{1,-1,2}, {2,-1,2}, {3,-3.25,2}, {3,-
1,2},
{4,-1,2}, {4,-5,2}, {3,-5,2}, {2,2.75,2}, {2,-5,2}, {1,-5,2}},
12,
{
{10,{0,1,2,3,4,5,6,7,8,9}}, {10,{10,11,12,13,14,15,16,17,18,19}},
{4,{0,10,18,9}},
{4,{18,9,19,8}},
{4,{19,8,17,7}},
{4,{17,7,16,6}},
{4,{16,6,15,5}},
{4,{15,5,4,14}},
{4,{4,14,13,3}},
{4,{13,3,2,12}},
{4,{2,12,11,1}},
{4,{11,1,0,10}}
}
};