Transfromasi Modelling PDF
Transfromasi Modelling PDF
IN 3D
WRITTEN BY :
Marshal Samos
M.Arif Rahman
Neige Devi Samyono
Shekar Denanda Megadyati
Erfiandi
3IA15
UNIVERSITAS GUNADARMA
1
Kata Pengantar
Segala puji dan syukur penulis naikkan ke hadirat Allah S.W.T yang Maha
Kuasa yang telah memberikan berkat, anugerah dan karunia yang melimpah,
sehingga penulis dapat menyelesaikan buku berjudul “Transformasi Model
3D” Tingkat Pendidikan Perkuliahan untuk Mahasiswa Program Studi Pendi-
dikan Teknik Informatika.
Buku ini telah disusun untuk memberi kemudahan bagi mahasiswa dalam
mengenal dan memahami tentang Transformasi Model 3D yang termasuk
ke dalam Pengolahan Citra, dimana diharapkan pembaca dapat memahami
tentang titik-titik pada model tiga dimensi, sistem koordinat, transformasi,
translasi, rotasi, skala, refleksi, serta pemindahan pada animasi tiga dimen-
si. Materi pada buku setiap tema bahasan dapat dikembangkan melalui ke-
terampilan dan kreativitas dalam pemrograman menggunakan Processing,
sehingga dapat mendukung pengembangan dari kompetensi dasar itu sendi-
ri.
Penulisan buku ini diharapkan mampu mengembangkan kreativitas, ba-
ik secara mandiri maupun kelompok melalui pemahaman mengenai konsep
serta materi yang ada pada setiap sub bahasan.
Pada kesempatan kali ini, penulis mengucapkan terimakasih kepada se-
mua pihak yang telah memberi bantuan sehingga buku ini dapat terselesaik-
an. Penulis mengharapkan saran yang membangun dari pembaca agar dapat
mengembangkan buku ini menjadi lebih baik di lain hari, sehingga mampu
memberi manfaat bagi seluruh mahasiswa, khususnya pada bidang Teknik
Informatika.
Penulis
2
Daftar Isi
Kata Pengantar 2
Daftar Isi 5
1 Pendahuluan 6
1.1 Sistem Koordinat 3D . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Sistem Koordinat Tangan Kiri . . . . . . . . . . . . . . 6
1.1.2 Sistem Koordinat Tangan Kanan . . . . . . . . . . . . . 7
1.2 Transformasi 3D . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Sifat 3 Dimensi . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2 Modelling Transformation . . . . . . . . . . . . . . . . 9
2 Konsep Transformasi 3D 10
2.1 Matriks Transformasi . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Transformasi Pada Bidang . . . . . . . . . . . . . . . . 10
2.1.2 Implementasi Transformasi . . . . . . . . . . . . . . . 23
2.2 Matriks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.1 Pengertian Matriks . . . . . . . . . . . . . . . . . . . . 23
2.2.2 Operasi Matriks . . . . . . . . . . . . . . . . . . . . . . 26
2.2.3 Matriks Invers . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.4 Determinan Matriks . . . . . . . . . . . . . . . . . . . 29
3
DAFTAR ISI DAFTAR ISI
4
4.4 Arm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Penutup 59
5.1 Kesimpulan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2 Saran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5
Bab 1
Pendahuluan
Tiga dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki
panjang, lebar, dan tinggi. Grafik tiga dimensi merupakan teknik penggam-
baran yang berpusat pada titik koordinat sumbu x (datar), sumbu y (tegak),
dan sumbu z (miring). Representasi dari data geometrik tiga dimensi se-
bagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika
komputer 2D. tiga dimensi, biasanya digunakan dalam penanganan grafis.
Perbedaan paling utama dari objek dua dimensi dan objek tiga dimensi yaitu
kedalamannya. Yaitu suatu jarak antara pengamat dengan suatu objek yang
dilihat (point of view). Jadi, jika objek 2 dimensi hanya menggunakan dua
ukuran (panjang dan lebar), maka tiga dimensi menggunakan tiga ukuran
meliputi panjang, lebar, kedalaman yang disimbolkan dengan sumbu x, y, z.
6
1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN
1.2 Transformasi 3D
Transformasi merupakan suatu metode untuk mengubah lokasi suatu titik
pembentuk objek, sehingga objek tersebut mengalami perubahan. Perubah-
an objek dengan mengubah koordinat dan ukuran suatu objek disebut de-
ngan transformasi geometri Transformasi 3D pada dasarnya hampir sama
dengan transformasi 2D, hanya pada 3D kita menghitung sumbu Z. Sama
7
1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN
seperti pada 2D, ada tiga transformasi dasar yang dapat dilakukan terhadap
verteks, yaitu:
3. Rotasi : Mereposisi semua titik semua titik dari suatu objek sepanjang
jalur lingkaran dengan pusatnya pada titik pivot.
Dimana:
• Q : (Qx, Qy, Qz) menyatakan matrix 1x3 yang berisi titik hasil transfor-
masi.
• P : (Px, Py, Pz) menyatakan matrik 1x3 yang berisi titik yang akan
ditransformasi.
• Tr : (trx, try, trz) menyatakan matriks 1x3 yang berisi banyaknya per-
geseran sumbu x,y, z.
8
1.2. TRANSFORMASI 3D BAB 1. PENDAHULUAN
Posisi sebuah titik dalam 3 dimensi dituliskan dalam bentuk (x,y,z). Kompu-
ter dapat digunakan untuk mengolah benda tiga dimensi. Ada tiga persoalan
dalam mengolah benda tiga dimensi menggunakan komputer :
• Manipulasi titik 3D
9
Bab 2
Konsep Transformasi 3D
• Translasi (Pergeseran).
10
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Perpindahan titik-titik pada bidang dengan jarak dan arah tertentu yang
diwakili oleh ruas garis berarah (Vector) atau dengan suatu pasangan
bilangan. Misal
Contoh Perhitungan :
11
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain
• Rotasi (Rotate)
12
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Rotasi artinya berputar. Ketika suatu bentuk benda sengaja diputar maka
perlu di tentukan pusat dan besar sudut putar. sedangkan translasi adalah
pergeseran. Benda yang telah berpindah dari pusatnya berarti mengalami
pergeseran, yaitu apakah dia bergerak maju mundur ataupun menuju ke
atas bawah. Rotasi berbeda dengan translasi karena perubahan posisi pada
translasi tidak mengacu pada suatu titik tertentu. Keistimewaan dari rota-
si adalah jarak antara titik pusat dengan masing-masing bagian dari obyek
yang diputar akan selalu tetap, seberapa jauh pun obyek itu diputar. Pada
sebuah game yang menggunakan grafik vektor dan grafik bitmap, rotasi dan
translasi sangat di butuhkan. Untuk membangkitkan rotasi pada objek 3D
kita harus membuat aksis dari rotasi dan jumlah sudut rotasi . Sebagai pusat
perputaran,rotasi 3D menggunakan sumbu koordinat sebagai pusat perpu-
taran. Dengan demikian ada 3 macam rotasi yang dapat dilakukan, yaitu:
Mengingat ada 3 buah sumbu rotasi maka matriks transformasi yang di-
gunakan juga bergantung kepada sumbu putar. Adapun isi masing-masing
transformasi sesuai dengan sumbu putar didefinisikan sebagai berikut
13
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
• Translasi, sampai garis sumbu rotasi berhimpit dengan salah satu sum-
bu koordinat
• Rotasi, sampai sumbu rotasi berhimpit dengan salah satu sumbu koo-
rdinat
Contoh Perhitungan:
14
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Langkah kedua adalah vektor s diubah menjadi unit vektor dengan mem-
bagi vektor dengan panjang absolut vektor.
Langkah ketiga adalah mencari besar sudut alpha yang dibentuk oleh
vektor s dan u2 (vektor searah sumbu y positif).
Langkah keempat adalah mencari besar sudut betha yang dibentuk oleh
vektor u (x, 0, z) dan u1 (vektor searah sumbu x positif).
15
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Karena vektor u bernilai 0 maka sudut betha yang dibentuk oleh vektor
u dan u1 bernilai 0o.
Langkah kelima adalah memutar titik pada sumbu Y sehingga terletak di
bidang XY.
16
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Langkah keenam adalah memutar titik pada sumbu z sebesar sudut yang
ditentukan untuk transformasi rotasi.
Langkah ketujuh adalah memutar balik titik sebesar –alpha pada sumbu
Z.
17
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Langkah kedelapan adalah memutar balik titik sebesar –betha pada sum-
bu Y.
Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain.
• Skala (Scale)
Skala merupakan salah satu bentuk transformasi yang merubah ukuran dari
objek yang ditentukan, baik membesar ataupun mengecil. Perubahan ukur-
an tersebut didasarkan pada sumbu x, sumbu y, maupun sumbu z, dimana
jika yang diubah hanya sumbu x, maka besarnya objek akan berubah sesuai
dengan sumbu x baru yang telah ditentukan, begitu pula jika diubah terha-
dap sumbu dan zy, maka objek akan menguikuti perubahan sesuai sumbu
y maupun z baru yang telah ditentukan. Perubahan skala diperoleh dari
18
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
mengalikan nilai koordinat objek dengan skala tertentu sesuai dengan sum-
bu masing - masing. Bentuk dari matriks skala adalah:
Operasi invers dapat dilakukan dengan mengubah sx, sy, dan sz menjadi
1/sx, 1/sy, 1/sz sehingga hasil perkalian matriks menjadi [x/sx y/sy z/sz 1].
19
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
Contoh perhitungan:
1. Diketahui sebuah prisma dengan lokasi verteks seperti pada tabel ber-
ikut:
20
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
21
2.1. MATRIKS TRANSFORMASI BAB 2. KONSEP TRANSFORMASI 3D
22
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
Dengan cara perhitungan yang sama, untuk titik-titik piramida yang lain.
2.2 Matriks
23
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
matriks. Masalah tersebut antara lain : grafika dan citra, chanel assignment
pada telekomunikasi, rantai markov, Operation Research, dan lain-lain. Pada
bab ini, selain menjelaskan tentang matriks dan operasi dasar pada matriks,
juga akan memaparkan tentang operasi baris elementer sebagai alat analisa
yang akan terus digunakan menelaah dalam buku ini. Matriks merupakan
kumpulan bilangan yang berbentuk segi empat yang tersusun dalam baris
dan kolom.
Contoh 1.1 : Notasi suatu matriks dalam buku ini dituliskan dalam ben-
tuk :
Matriks bujur sangkar merupakan matriks yang jumlah baris dan jumlah ko-
lomnya adalah sama, dengan kata lain ukuran dari matriks bujur sangkar
adalah n x n.
• Matriks diagonal
24
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
Matriks diagonal adalah matriks bujur sangkar dimana unsur selain unsur
diagonalnya adalah 0. Jika i= j maka aijdinamakan unsur diagonal. Semen-
tara itu, Jika setiap unsur diagonal pada matriks diagonal sama dengan 1
maka matriks tersebut dinamakan matriks identitas (matriks satuan) .
Berikut ini adalah contoh matriks diagonal dan matriks identitas :
Matriks diagonal 3x3
• Matriks segitiga
Matriks segitiga atas adalah matriks bujur sangkar yang semua unsur diba-
wah unsur diagonalnya bernilai 0, sedangkan matriks segitiga bawah adalah
matriks bujur sangkar yang semua unsur diatas unsur diagonalnya bernilai
0.
25
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
26
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
• Penjumlahan Matriks
Agar dua buah matriks dapat dijumlahkan, maka syarat yang harus dipenuhi
oleh keduanya adalah ukuran kedua matriks tersebut harus sama. Penjum-
lahan dua buah matriks akan menghasilkan sebuah matriks dengan ukuran
yang sama dengan kedua matriks yang dijumlahkan, dan setiap unsur dida-
lamnya merupakan hasil penjumlahan dari unsur yang seletak pada kedua
martriks tersebut.
• Perkalian Matriks
27
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
Perhatikan bahwa unsur baris ke-2 kolom ke-1 dari AB merupakan jumlah
dari hasil kali unsur-unsur pada baris ke-2 matriks A dengan unsur-unsur
pada kolom ke-1 matriks B.
Khusus untuk perkalian antara dua matriks, jika Adan B merupakan ma-
triks bujursangkar, maka belum tentu AB= BA (tidak berlaku sifat komu-
tatif). Selain kedua operasi diatas, ada juga operasi pada matriks yang di-
kenakan pada setiap baris pada matriks tersebut. Operasi yang demikian
dinamakan Operasi Baris Elementer (OBE).
28
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
29
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
Jika matriks
30
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
maka det(B)
• Metode Kofaktor
31
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
Terlebih dahulu siswa dijelaskan tentang sub matriks atau minor dari suatu
matriks. Minor suatu matriks A dilambangkan dengan M ij adalah matriks
bagian dari A yang diperoleh dengan cara menghilangkan elemen-elemennya
pada baris ke-i dan elemen-elemen pada kolom ke-j.
32
2.2. MATRIKS BAB 2. KONSEP TRANSFORMASI 3D
33
Bab 3
3.1 Processing
• Mode Statik
Mode Statik digunakan untuk membuat gambar statik. Contoh berikut meng-
gambar sebuah segi empat kuning di layar.
• Mode Aktif
Mode Aktif menyediakan bagian setup() opsional yang akan berjalan ketika
program mulai berjalan. Bagian draw() akan berjalan selamanya sampai
progam dihentikan. Contoh ini menggambar segi empat yang mengikuti
34
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
• Mode Java
Mode Java adalah yang paling fleksibel, namun tidak tersedia sampai dengan
rilis Processing 1.0 Beta. Mode ini memungkinkan menulis program Java
secara lengkap di dalam Lingkugan Processing. Contoh ini sama dengan di
atas, namun ditulis dalam style Java:
3.1.3 Komentar
Komentar merupakan bagian yang penting dalam program. Kehadirannya
sangat membantu pemrogram maupun orang lain dalam memahami pro-
gram, karena berupa
penjelasan-penjelasan mengenai program atau bagian-bagian dari pro-
gram. Dalam hal ini penjelasannya bisa berupa:
• Tujuan atau fungsi program
• Saat program dibuat atau direvisi
• Keterangan - keterangan lain tentang kegunaan dari sejumlah pernya-
taan dalam program.
35
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
3.1.4 Pernyataan
Pernyataan (statement) digunakan untuk melakukan suatu tindakan. Terda-
pat berbagai macam pernyataan.
Pernyataan nol atau pernyataan kosong adalah pernyataan yang berisi titik-
koma saja. Perintah ini tidak melaksanakan apa-apa. Tetapi kehadirannya
kadang-kadang diperlukan. Misalnya pada kaidah suatu pernyataan yang
memerlukan pernyataan lain, padahal pernyataan lain tersebut tidak diper-
lukan.
Pernyataan majemuk sering kali disebut dengan istilah blok. Yang dimak-
sudkan pernyataan ini adalah nol atau sejumlah pernyataan yang berada di
dalam kurung kurawal.
36
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Pernyataan break digunakan pada pernyataan switch, for, while dan do-
while. Kegunaannya yaitu untuk memekasa keluar dari pernyataan-pernyataan
itu. Pernyataan continue dipakai untuk mengarahkan eksekusi ke putaran
atau iterasi berikutnya pada pernyataan pengulangan.
3.1.6 Bentuk 1
3.1.6.1 point (titik)
37
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Deskripsi Point atau titik adalah koordinat dalam ruang. Dalam Proces-
sing, point memiliki dimensi satu piksel. Parameter pertama adalah nilai
horizontal dari point, nilai kedua adalah nilai vertikal dari point, dan nilai
opsional ketiga adalah nilai kedalaman.
Parameter x1 int atau float: koordinat x dari point y1 int atau float: koo-
rdinat y dari point z1 int atau float: koordinat z dari point
Mengembalikan nilai: tidak
Penggunaan: Web dan aplikasi
Perintah terkait: beginshape()
Deskripsi line adalah garis langsung antara dua point. Versi line() dengan
empat parameter menggambar garis dalam bidang XY dengan Z=0. Versi
dengan enam parameter memungkinkan garis ditempatkan dimana saja di
dalam ruang XYZ. Untuk mewarnai garis, gunakan fungsi stroke(). Sebuah
garis tidak dapat diisi warna, dengan demikian method fill() tidak dapat
mempengaruhi warna garis. Garis digambar dengan lebar satu piksel.
38
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Sintaks line(x1, y1, x2, y2); line(x1, y1, z1, x2, y2, z2);
Parameter x1 int atau float: koordinat x dari titik pertama y1 int atau float:
koordinat y dari titik pertama z1 int atau float: koordinat z dari titik pertama
x2 int atau float: koordinat x dari titik kedua y2 int atau float: koordinat y
dari titik kedua z2 int atau float: koordinat z dari titik kedua
Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi Perintah ter-
kait: beginShape()
3.1.6.3 rect
Deskripsi Menggambar rectangle atau segi empat di layar. Sebuah segi em-
pat adalah bentuk yang memiliki empat sisi dan setiap sisi mempunyai sudut
90 derajat. Dua parameter pertama mengeset letak, yang ketiga mengeset
lebar, yang keempat mengeset tinggi. Titik asal dapat diubah dengan meng-
gunakan fungsi rectMode().
Parameter x int atau float: koordinat x dari segi empat y int atau float:
koordinat y dari segi empat lebar int atau float: lebar dari segi empat tinggi
int atau float: tinggi dari segi empat
Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi
3.1.6.4 ellipse
39
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Parameter x int atau float: koordinat x dari elips y int atau float: koordinat
y dari elips width int atau float: lebar dari elips height int atau float: tinggi
dari elips
Mengembalikan nilai: tidak Penggunaan: Web dan aplikasi
3.1.6.5 ellipseMode
Deskripsi Titik asal dari ellipse dapat diubah dengan fungsi ellipseMode().
mode default dari ellipse mode adalah ellipseMode(CORNER), yang menen-
tukan titik asal ellipse terletak di sisi kiri atas batas kotak yang membentuk
ellipse. Memanggil fungsi ellipseMode(CENTER_DIAMETER) akan meng-
gambar bentuk ellipse dari pusat ellips. Parameter harus ditulis dengan "HU-
RUF BESAR" semuanya karena Processing adalah bahasa case sensitive atau
membedakan huruf besar dan huruf kecil.
Sintaks ellipseMode(MODE);
3.1.6.6 Kurva
Nama: curve() curve(10, 26, 83, 24, 83, 61, 25, 65);
40
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Parameter x1 int atau float: koordinat x dari titik pertama y1 int atau float:
koordinat y dari titik pertama x2 int atau float: koordinat x dari titik kedua
y2 int atau float: koordinat y dari titik kedua x3 int atau float: koordinat
x dari titik ketiga y3 int atau float: koordinat y dari titik ketiga x4 int atau
float: koordinat x dari titik keempat y4 int atau float: koordinat y dari titik
keempat
Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi
3.1.7 Data 1
3.1.7.1 Variabel
Secara internal, semua data di dalam komputer digital modern disimpan se-
bagai bilangan biner nol atau satu. Data biasanya merepresentasikan infor-
masi dalam dunia nyata seperti nama, rekening bank, dan lain sebagainya,
41
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
dan data biner tingkat rendah (lowlevel) diatur sedemikian rupa oleh bahasa
pemrogaman menjadi konsep-konsep tingkat tinggi (nama, rekening bank,
dan lain sebagainya). Secara praktek, tipe data digunakan untuk memberi
nama atau label bagi suatu nilai atau operasi yang bisa dilakukan oleh nilai
tersebut. Tipe data dapat diklasifikasikan menurut kategori-kategori sebagai
berikut: • Tipe data primitif, merupakan tipe data paling sederhana seperti
integer dan bilangan floating point, • Tipe data bentukan, tipe yang dibentuk
dari tipe dasar, seperti tipe data abstrak, • Sub-tipe atau tipe turunan, • Tipe
data fungsi, contohnya fungsi biner, • Tipe data obyek, contohnya variabel
tipe, • Tipe data kelas (class), contohnya obyek dalam bahasa pemrograman
dengan metode berorientasi obyek, • Dan lain sebagainya.
3.1.8 Kontrol 1
3.1.8.1 For
for(int i=30; i<80; i=i+5) { for(int j=0; j<80; j=j+5) { point(i, j); } }
42
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Parameter init pernyataan dieksekusi sekali ketika memulai loop test bila
tes menhasilkan true, pernyataan dieksekusi update dieksekusi pada bagian
akhir dari tiap pengulangan pernyataan kumpulan pernyataan yang diekse-
kusi setiap saat selama loop
Penggunaan: Web dan aplikasi Perintah terkait: while()
3.1.9 Bentuk 2
3.1.9.1 BeginShape
43
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
44
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Sintaks beginShape(MODE);
45
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Sintaks beginShape();
Mengembalikan nilai: Tidak Penggunaan: Web dan aplikasi Perintah ter-
kait: beginShape()
Sintaks beginShape(MODE)
46
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
3.1.10 Struktur 2
3.1.10.1 Setup & Draw
Nama: setup()
void setup() { size(200, 200); noStroke(); fill(102); }
int a = 0;
void draw() { background(0); rect(a++%width, 10, 2, 80); }
Deskripsi Fungsi yang dipanggil sekali ketika progtam mulai berjalan. Di-
gunakan untuk menentukan properti-properti lingkungan awal seperti ukur-
an layar, warna background, memuat gambar, dsb. sebelum draw() mulai
mengeksekusi dan menggambar image ke layar. Variabel-variabel yang di-
deklarasikan di dalam setup setup() tidak dapat diakses dalam draw(). Bila
sebuah program memanggil fungsi setup() maka ia akan juga akan memang-
gil draw().
47
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
3.1.10.2 Method
3.1.10.3 Parameter
3.1.11 Lingkungan 2
3.1.11.1 Mengekspor dan dokumentasi
Anda dapat mengekspor hasil pekerjaan anda ke dalam format yang dapat
diakses melalui Web. Caranya dengan menggunakan menu File -> Eksport to
Web. Selain itu anda dapat menggunakan shortcut dengan menekan tombol
Ctrl+E pada keyboard.
3.1.12 Kontrol 2
3.1.12.1 If
48
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
Nama: else
for(int i = 5; i < 95; i += 5) { if(i < 35) { line( 30, i, 80, i ); } else {
line( 20, i, 90, i ); } }
for(int i = 5; i < 95; i += 5) { if(i < 35) { line( 30, i, 80, i ); } else if (i
< 65) { line( 20, i, 90, i ); } else { line( 0, i, 100, i ); } }
49
3.1. PROCESSING BAB 3. PERANGKAT LUNAK TRANSFORMASI 3D
50
Bab 4
51
4.2. SCALE (SKALA). BAB 4. STUDI KASUS PROCESSING
52
4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING
Rotasi bekerja secara simultan pada sumbu x dan sumbu y, dimana fungsi
transformasi seperti rotate() nilainya selalu bertambah, apabila memanggil
nilai rotate sebesar 1.0 dan rotate sebesar 2.0 maka hasilnya sama dengan
53
4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING
pemanggilan nilai rotate sebesar 3.0. Berikut ini merupakan penulisan sin-
taks menggunakan alat bantu processing:
• Rotasi.
Rotasi sebuah persegi terhadap sumbu z. untuk mendapatkan hasil yang dii-
nginkan dengan mengirimkan nilai fungsi parameter dari rotasi antara 0 dan
PI*2 (Nilai TWO_PI adalah 6.28). Apabila sudut pengambilan gambar yang
54
4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING
• Rotasi PushPop
55
4.3. ROTATE (ROTASI). BAB 4. STUDI KASUS PROCESSING
56
4.4. ARM. BAB 4. STUDI KASUS PROCESSING
4.4 Arm.
Sudut pandang setiap segmen dikendalikan menggunakan posisi mouseX
dan mouseY. Transformasi yang diaplikasikan pada segmen pertama diapli-
kasikan pada segmen kedua juga karena terdapat nilai pushMatrix() dan
popMatrix() pada grup yang sama. Berikut ini merupakan penulisan sintaks
menggunakan alat bantu processing:
57
4.4. ARM. BAB 4. STUDI KASUS PROCESSING
58
Bab 5
Penutup
5.1 Kesimpulan
Bidang tiga dimensi merupakan bentuk dari benda yang memiliki panjang,
lebar serta tinggi yang berpusat pada titik koordinat sumbu x, y serta z. Da-
lam representasi objek tiga dimensi mampu dilakukan pemrosesan berupa
tiga bentuk transformasi dasar, yaitu translasi (pergerakan atau perpindah-
an), pensekalan (memperbesar atau memperkecil), dan rotasi (mereposisi
semua titik pada objek). Setiap kali melakukan suatu proses transformasi,
selalu dilakukan perhitungan melalui matriks. Dimana dalam pemahaman
matriks serta operasinya itu sendiri dapat diterapkan dalam grafika dan citra,
chanel assignment pada telekomunikasi, rantai markov, operation research
dan lain-lain. Dalam perhitungan determinan matriks yang diterapkan juga
beragam, terdapat perhitungan matriks untuk ordo 2x2, 3x3, dan kofaktor.
Dalam pengaplikasian sintaks serta perhitungan transformasi yang telah
dilakukan, alat bantu yang digunakan adalah perangkat lunak Processing.
Perangkat lunak Processing terdapat tiga mode yaitu mode aktif, pasif dan
java.
5.2 Saran
Pada pembuatan buku ini banyak sekali kekurangan penulis, maka dari itu
penulis meminta maaf jika dalam penulisan ini masih jauh dari kata sempur-
na.
59