makalah uas grafika

23
TRANSFORMASI 3 DIMENSI Disusun Oleh : TI - 0801029 Muhammad Furqan. Q. Ts.

Upload: -

Post on 20-Jun-2015

438 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Makalah UAS Grafika

TRANSFORMASI

3 DIMENSI

Disusun Oleh :

TI - 0801029

Muhammad Furqan. Q. Ts.

Page 2: Makalah UAS Grafika

KATA PENGANTAR

Puji dan syukur dipanjatkan ke hadirat Alloh Tuhan Semesta Alam, yang telah

memberikan kesehatan dan mengaruniakan berkat-Nya, sehingga penyusunan

Makalah yang berjudul : “Transformasi 3 Dimensi”, dapat diselesaikan oleh

penulis dengan baik.

Karya ini disusun untuk memberikan pengetahuan yang baru dan lebih

mendalam kepada para pembaca mengenai pembuatan objek grafik atau

gambar yang tampak lebih nyata dengan menggunakan program komputer

dengan memperhitungkan model-model proyektif dan perspektif. Penulis

berharap agar kiranya, setelah selesai membaca makalah ini, pembaca mampu

menerapkan prinsip-prinsip penggambaran objek grafik 3 dimensi dengan

menggunakan library openGL secara terstruktur dan terkonsep, mulai dari

penyusunan dan pendeklarasian struktur data titik dan face, hingga pemodelan

dan penggambaran objek grafik 3 dimensi dengan menggunakan prosedur serta

struktur data yang telah dideklarasikan sebelumnya.

Penulis menyadari bahwa makalah ini masih sangat jauh dari kesempurnaan.

Masih terdapat banyak kesalahan-kesalahan maupun kekeliruan-kekeliruan yang

dibuat oleh penulis selama menyusun makalah ini. Oleh karenanya, penulis

memohon kritik dan saran yang membangun dari para pembaca sekalian agar

nantinya dapat menyusun karya-karya yang lebih baik di masa mendatang.

Akhir kata, penulis mengucapkan terima kasih kepada pihak-pihak yang turut

mengambil bagian dalam penyusunan karya ini. Semoga karya ini mampu

memberikan informasi yang bermanfaat bagi para pembaca yang tertarik di

i | P a g e

Page 3: Makalah UAS Grafika

bidang pemodelan 3 dimensi dan mereka-mereka yang baru mau mulai untuk

mempelajari dan mendalami bidang ini.

Bandung, 10 Juli 2010

ii | P a g e

Page 4: Makalah UAS Grafika

DAFTAR ISI

KATA PENGANTAR.......................................................................i

DAFTAR ISI ......................................................................... iii

PENDAHULUAN ......................................................................... 1

PEMBAHASAN ......................................................................... 3

A. PENDAHULUAN................................................................... 3B. TRANSLASI......................................................................... 4C. SCALING ......................................................................... 5D. ROTASI terhadap Sumbu x................................................. 6E. ROTASI terhadap Sumbu y................................................. 8F. ROTASI terhadap Sumbu z................................................. 9

PERKALIAN MATRIKS....................................................................11

A. Perkalian Matriks dengan Matriks......................................11

B. Perkalian Matriks dengan Vektor.......................................12

PENUTUP .........................................................................21

DAFTAR PUSTAKA........................................................................23

iii | P a g e

Page 5: Makalah UAS Grafika

PENDAHULUAN

Pada saat pertama kali ditemukan, komputer digunakan terutama sebagai alat

bantu untuk memproses hitung-menghitung. Dalam perkembangan selanjutnya,

data yang harus ditangani bertambah banyak. Hal itu tentu menimbulkan

persoalan baru, yakni bagaimana data yang sangat banyak bisa ditangani dan

disajikan dengan cara lebih efisien dan efektif. Memang, komputer bisa mencetak

hasil keluaran hingga berates-ratus halaman, bahkan beribu-ribu halaman jika

diperlukan. Meskipun demikian, tentu akan sangat membosankan bila orang

harus membaca laporan-laporan yang sangat panjang, yang tentu saja akan

memakan banyak waktu. Kemungkinan terjadinya kesalahan menjadi lebih

besar. Jelasnya, mereka yang membaca laporan-laporan tersebut harus benar-

benar tahu arti sesungguhnya dari angka-angka yang tersaji di dalamnya.

Untuk menangani masalah tersebut, dikembangkan satu alat bantu yang bisa

dipakai untuk menyajikan data dalam jumlah yang sangat besar ke dalam sebuah

bagan sehingga memudahkan pemahaman. Bahkan ada pepatah yang

mengatakan bahwa sebuah gambar lebih bermakna dari satu juta angka.

Keberadaan alat bantu tersebut, pada saat-saat tertentu dan untuk keperluan

tertentu, menyebabkan penggunaan bagan lebih disukai dibandingkan bila hanya

melihat deretan angka yang sangat membosankan. Sejalan dengan hal tersebut,

para ahli komputer telah mengembangkan perangkat yang bisa membuat

komputer semakin pandai, yakni dengan menambahkan kemampuan grafis.

Dengan demikian, bisa dikatakan bahwa semua komputer kini memiliki

kemampuan grafis. Kemudian, lahirlah apa yang disebut grafika komputer

(computer graphics).

1 | P a g e

Page 6: Makalah UAS Grafika

Grafika komputer pada dasarnya adalah suatu bidang ilmu komputer yang

mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara

manusia dengan mesin (komputer) dengan jalan membangkitkan, menyimpan,

dan memanipulasi gambar model suatu objek menggunakan komputer. Grafika

komputer memungkinkan kita untuk berkomunikasi lewat gambar-gambar,

bagan-bagan, dan diagram-diagram.

Dalam makalah ini kita akan melihat lebih banyak mengenai objek grafik yang

bersifat lebih hidup dan lebih nyata. Kita akan lebih banyak berbicara dan

mengulas masalah-masalah transformasi dari grafik 3 dimensi meliputi translasi,

scaling, rotasi (sumbu x, y, dan z), sehingga gambar atau objek yang kita

hasilkan bisa digunakan di berbagai jarak dan perubahan.

Oleh karenanya diharapkan, dengan adanya pemodelan dan penggambaran

dengan konsep yang seperti demikian, penyajian data dapat menjadi lebih

mudah dipahami oleh karena bentuk penyajiannya yang jauh lebih menarik dan

lebih hidup atau nyata. Sehingga target pencapaian utama dari sebuah alat

pengolah data yang populer dengan istilahnya “komputer” bisa tercapai dengan

maksimal, yakni mengolah data menjadi informasi yang mudah untuk dipahami

dan dimengerti oleh masyarakat secara umum dan luas.

2 | P a g e

Page 7: Makalah UAS Grafika

PEMBAHASAN

A. PENDAHULUAN

Matriks transformasi adalah matriks yang membuat

sebuah objek mengalami perubahan, baik berupa perubahan

posisi maupun perubahan ukuran. Matriks transformasi 3D

dinyatakan dalam ukuran 4x4, di mana kolom ke-4 digunakan

untuk menyediakan tempat untuk proses transformasi.

A=

Transformasi 3D dapat dilakukan dengan menggunakan

perkalian antara matriks transformasi dan vektor posisi dari

setiap titik pada objek. Hasil transformasi ini masih berupa

vektor. Untuk lebih mudah dalam perkalian matriks, maka dapat

kita ciptakan matriks awal yaitu matriks identitas, sebagai

berikut:

Matriks Identitas :

I=

Dengan implementasi dalam program sbb:

3 | P a g e

Page 8: Makalah UAS Grafika

B. TRANSLASI

Translasi adalah perpindahan objek dari titik P(x,y) ke

titik P’(x’,y’) secara linier. Dalam translasi 3D diperlukan tiga

parameter yaitu pemindahan ke arah sumbu x, pemindahan ke

arah sumbu y, dan pemindahan ke arah sumbu z.

Tranlasi (dx,dy,dz) didefinisikan dengan:

x’ = x+dyy’ = y+dyz’ = z+dy

atau dapat ditulis dengan:

Proses translasi dengan menggunakan operasi matriks dapat

ditulis dengan:

4 | P a g e

matriks identitas(void) {

int i,j;

matriks mat;

for (i=0;i<4;i++) {

for (j=0;j<4;j++) {

if (i==j)

mat.m[i][j] = 1;

else

Page 9: Makalah UAS Grafika

Sehingga matriks transformasi dari translasi:

T =

Dengan implementasi dalam program sebagai berikut:

C. SCALING

Scaling m adalah perpindahan objek dari titik P ke titik P’

dimana jarak titik P’ adalah m kali titik P.

Proses scaling dapat didefinisikan dengan:

x’ = mx x y’ = my yz’ = mz zProses scaling dengan menggunakan definisi vektor3D dapat

dituliskan dengan:

5 | P a g e

matriks translasi(float dx, float dy, float dz) {

matriks trans = identitas();

trans.m[0][3] = dx;

trans.m[1][3] = dy;

trans.m[2][3] = dz;

Page 10: Makalah UAS Grafika

Matriks transformasi dari scaling adalah:

S =

Dengan implementasi dalam program sebagai berikut:

D. ROTASI TERHADAP SUMBU X

Rotasi adalah perpindahan objek dari titik P(x,y,z) ke titik

P’(x’,y’,z’) yang berupa pemindahan berputar sebesar sudut ,

yang dapat digambarkan sebagai berikut:

x’ = xy’ = y cos ( ) - z sin ( )z’ = y sin ( ) + z cos ( )

Operasi rotasi sumbu x dapat dituliskan sebagai berikut:

6 | P a g e

matriks scaling(float mx, float my, float mz) {

matriks scale = identitas();

scale.m[0][0] = mx;

scale.m[1][1] = my;

scale.m[2][2] = mz;

Page 11: Makalah UAS Grafika

Maka matriks transformasi dari rotasi sumbu x adalah:

Rx =

Dengan implementasi dalam program sebagai berikut:

7 | P a g e

matriks rotasiX(float theta) {

matriks rotate = identitas();

float cs = cos(theta);

float sn = sin(theta);

rotate.m[1][1] = cs;

rotate.m[1][2] = -sn;

rotate.m[2][1] = sn;

Page 12: Makalah UAS Grafika

Gambar : Rotasi terhadap sumbu x

E. ROTASI TERHADAP SUMBU Y

Rotasi adalah perpindahan objek dari titik P(x,y,z) ke titik

P’(x’,y’,z’) yang berupa pemindahan berputar sebesar sudut ,

yang dapat digambarkan sebagai berikut:

x’ = x cos ( ) + z sin ( )y’ = yz’ = -x sin ( ) + z cos ( )

Operasi rotasi sumbu y dapat dituliskan sebagai berikut:

Maka matriks transformasi sumbu y adalah:

8 | P a g e

Page 13: Makalah UAS Grafika

Rx =

Dengan implementasi dalam program sebagai berikut:

Gambar : Rotasi terhadap sumbu y

F. ROTASI TERHADAP SUMBU Z

Rotasi adalah perpindahan objek dari titik P(x,y,z) ke titik

P’(x’,y’,z’) yang berupa pemindahan berputar sebesar sudut ,

yang dapat digambarkan sebagai berikut:

x’ = x cos ( ) – y sin( )

9 | P a g e

matriks rotasiY(float theta) {

matriks rotate = identitas();

float cs = cos(theta);

float sn = sin(theta);

rotate.m[0][0] = cs;

rotate.m[0][2] = sn;

Page 14: Makalah UAS Grafika

y’ = x sin( ) + y cos( )z’ = z

Operasi rotasi sumbu z dapat dituliskan sebagai berikut:

Maka matriks transformasi sumbu z adalah:

Rx =

Dengan implementasi dalam program sebagai berikut:

10 | P a g e

matriks rotasiZ(float theta) {

matriks rotate = identitas();

float cs = cos(theta);

float sn = sin(theta);

rotate.m[0][0] = cs;

rotate.m[0][1] = -sn;

Page 15: Makalah UAS Grafika

Gambar : Rotasi terhadap sumbu z

Gambar : Rotasi terhadap sumbu x, y, dan z

G. PERKALIAN MATRIKS

Dalam transformasi posisi, selain menyediakan fungsi-

fungsi untuk transformasi juga diperlukan beberapa pengolahan

matriks, seperti penjumlahan matriks dan perkalian matriks.

Perkalian matriks merupakan hal yang penting saat melakukan

transformasi. Kami akan membahas 2 jenis perkalian matriks,

yaitu:

a. Perkalian Matriks dengan Matriks

Perkalian matriks ini digunakan untuk operasi

transformasi dari objek 3D dan untuk menggabungkan

transformasi. Perkalian matrik a dan matriks b akan

menghasilkan matriks c yang dirumuskan dengan:

11 | P a g e

Page 16: Makalah UAS Grafika

Dimana i dan j bernilai 0 s/d 3.

Implementasi perkalian matriks dengan matriks:

b. Perkalian Matriks dengan Vektor

Perkalian matriks ini digunakan untuk operasi

transformasi dari objek 3D guna menghasilkan vektor baru

dari titik objek yang ditransformasika. Perkalian matriks

vektor a dan vektor b akan menghasilkan vektor c yang

dirumuskan dengan:

Dimana i bernilai 0 s/d 3.

Implementasi perkalian matriks dengan vektor:

12 | P a g e

vektor kali (matriks mat, vektor b) {

int i,j;

vektor c;

for (i=0;i<4;i++) {

c.v[i] = 0;

for (j=0;j<4;j++) {

c.v[i]+= mat.m[i][j] * b.v[j];

matriks kalim (matriks a, matriks b) {

int i,j,k;

matriks c;

for (i=0;i<4;i++) {

for (j=0;j<4;j++) {

c.m[i][j] = 0;

for (k=0;k<4;k++) {

c.m[i][j]+=a.m[i][k] * b.m[k][j];

Page 17: Makalah UAS Grafika

PENUTUP

o Objek 3 dimensi adalah model struktur data yang menyatakan

suatu gambar 3 dimensi dibentuk dan disusun, yang terdiri atas

sekumpulan titik 3 dimensi (x, y, dan z) yang membentuk luasan-

luasan (face) yang digabungkan menjadi satu kesatuan.

o Berbeda dengan sistem koordinat 2 dimensi, pada sistem

koordinat 3 dimensi digunakan tiga buah nilai, yakni x, y, dan z.

dimana z menyatakan kedalaman dari objek yang dibentuk.

o Sistem koordinat 3 dimensi sering disebut sebagai sistem

koordinat ruang.

o Titik 3 dimensi merupakan elemen dasar dalam menggambar atau

membentuk sebuah objek 3 dimensi yang mempunyai tiga nilai

P(x,y,z).

o Transformasi titik dan objek 3 dimensi terdiri dari translasi, scaling,

dan rotasi.

o Translasi adalah perpindahan objek dari titik P(x,y) ketitik P’(x’,y’)

secara linier. Dalam translasi 3D diperlukan tiga parameter yaitu

pemindahan ke arah sumbu x, pemindahan ke arah sumbu y, dan

pemindahan ke arah sumbu z.

o Scaling adalah perpindahan objek dari titik P ke titik P’ dimana

jarak titik P’ adalah m kali titik P.

o Rotasi adalah perpindahan objek dari titik P(x,y,z) ke titik

P’(x’,y’,z’) yang berupa pemindahan berputar sebesar sudut .

13 | P a g e

Page 18: Makalah UAS Grafika

o Rotasi dalam hal ini ada 3 macam yaitu rotasi terhadap sumbu x,

rotasi terhadap sumbu y, dan rotasi terhadap sumbu z.

o Dalam melakukan proses transformasi, diperlukan proses perkalian

antara matriks dengan matriks atau matriks dengan vektor untuk

menentukan posisi (x, y, dan z) yang baru (setelah mengalami

proses transformasi).

o Implementasi penggambaran objek 3 dimensi dapat dilakukan

dengan menggunakan bahasa pemograman Visual C++ dengan

memakai library openGL.

14 | P a g e

Page 19: Makalah UAS Grafika

DAFTAR PUSTAKA

Basuki, A dan Nana Ramadijanti. 2006. Grafika Komputer Teori dan

Implementasi. Yogyakarta: Penerbit Andi

Vince, John. 2006. Mathematics for Computer Graphics, Second Edition.

London: Springer-Verlag

http://www.nehe.gamedev.net. 7 April 2009. OpenGL Tutorial and Lessons

http://www.scribd.com. 8 April 2009. OpenGL Programming Guide

15 | P a g e