Professional Documents
Culture Documents
3 DIMENSI
Disusun Oleh :
TI - 0801029
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|Page
bidang pemodelan 3 dimensi dan mereka-mereka yang baru mau mulai untuk
mempelajari dan mendalami bidang ini.
ii | P a g e
DAFTAR ISI
KATA PENGANTAR.......................................................................
i
PENDAHULUAN ......................................................................... 1
PEMBAHASAN ......................................................................... 3
A. PENDAHULUAN................................................. 3
B. TRANSLASI.......................................................
4
C. SCALING...........................................................
5
PERKALIAN MATRIKS....................................................................
11
PENUTUP .........................................................................
21
iii | P a g e
DAFTAR PUSTAKA........................................................................
23
iv | P a g e
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|Page
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.
2|Page
PEMBAHASAN
A. PENDAHULUAN
Matriks Identitas :
1 0 0 0
0 1 0 0
I=
0 0 1 0
0 0 0 1
3|Page
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
B. TRANSLASI
x’ = x+dy
y’ = y+dy
z’ = z+dy
x' x dx
y ' = y + dy
z ' z dz
4|Page
1 0 0 dx
0 1 0 dy
0 0 1 dz
0 0 0 1
1 0 0 dx
0 1 0 dy
T=
0 0 1 dz
0 0 0 1
trans.m[0][3] = dx;
trans.m[1][3] = dy;
trans.m[2][3] = dz;
C. SCALING
x’ = mx x
y’ = my y
z’ = mz z
Proses scaling dengan menggunakan definisi vektor3D dapat
dituliskan dengan:
v1 mx 0 0v1
v2 = 0 my 0
v 2
1 0 0 1
1
5|Page
x' mx .x mx .x + 0. y + 0.z + 0.1
y ' my . y 0.x + my . y + 0.z + 0.1
= =
z ' mz .z 0.x + 0. y + mz .z + 0.1
1 1 0.x + 0. y + 0.z +1.1
mx 0 0 0x
0 my 0 0
y
0 0 mz 0 z
0 0 0 1 1
mx 0 0 0
0 my 0 0
S=
0 0 mz 0
0 0 0 1
scale.m[0][0] = mx;
scale.m[1][1] = my;
scale.m[2][2] = mz;
x’ = x
y’ = y cos ( θ ) - z sin ( θ )
z’ = y sin ( θ ) + z cos ( θ )
6|Page
x' x 1.x + 0. y + 0.z + 0.1
y ' y. cos( θ ) − z. sin( θ ) 0.x + y. cos( θ ) − z. sin( θ ) + 0.1
= =
z ' y. sin( θ ) + z. sin( θ ) 0.x + y. sin( θ ) + z. cos( θ ) + 0.1
1 1 0.x + 0. y + 0.z +1.1
1 0 0 0 x
0 cos( θ ) − sin( θ ) 0
= y
0 sin( θ ) cos( θ ) 0 z
0 0 0 1 1
1 0 0 0
0 cos( θ) − sin( θ) 0
Rx =
0 sin( θ) cos( θ) 0
0 0 0 1
float cs = cos(theta);
float sn = sin(theta);
rotate.m[1][1] = cs;
rotate.m[1][2] = -sn;
rotate.m[2][1] = sn;
7|Page
Gambar : Rotasi terhadap sumbu x
x’ = x cos ( θ ) + z sin ( θ )
y’ = y
z’ = -x sin ( θ ) + z cos ( θ )
8|Page
Maka matriks transformasi sumbu y adalah:
cos θ 0 sin( θ) 0
0 1 0 0
Rx =
−sin( θ) 0 cos( θ) 0
0 0 0 1
float cs = cos(theta);
float sn = sin(theta);
rotate.m[0][0] = cs;
rotate.m[0][2] = sn;
9|Page
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( θ )
y’ = x sin( θ ) + y cos( θ )
z’ = z
cos θ −sin( θ) 0 0
sin( θ) cos( θ) 0 0
Rx =
0 0 1 0
0 0 0 1
float cs = cos(theta);
float sn = sin(theta);
rotate.m[0][0] = cs;
rotate.m[0][1] = -sn;
10 | P a g e
Gambar : Rotasi terhadap sumbu z
G. PERKALIAN MATRIKS
11 | P a g e
3
Cij = ∑ aik bkj
k =0
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];
3
Ci = ∑a ik bk
k =0
int i,j;
vektor c;
for (i=0;i<4;i++) {
c.v[i] = 0;
for (j=0;j<4;j++) { 12 | P a g e
c.v[i]+= mat.m[i][j] *
b.v[j];
PENUTUP
13 | P a g e
o Rotasi adalah perpindahan objek dari titik P(x,y,z) ke titik
P’(x’,y’,z’) yang berupa pemindahan berputar sebesar sudut θ .
o Rotasi dalam hal ini ada 3 macam yaitu rotasi terhadap sumbu x,
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
DAFTAR PUSTAKA
15 | P a g e