• Tidak ada hasil yang ditemukan

ABSTRAK. Kata kunci : Komputer grafis tiga dimensi, Mesh, Face, Texture, Pewarnaan, Obyek tiga dimensi, Bitmap.

N/A
N/A
Protected

Academic year: 2021

Membagikan "ABSTRAK. Kata kunci : Komputer grafis tiga dimensi, Mesh, Face, Texture, Pewarnaan, Obyek tiga dimensi, Bitmap."

Copied!
13
0
0

Teks penuh

(1)

ABSTRAK

Steven Christiansen Megaprawira:

Skripsi

Perancangan dan Pembuatan Perangkat Lunak Pewarnaan Obyek secara 3 Dimensi

Perkembangan dunia teknologi di bidang komputer grafis tiga dimensi yang sangat pesat, menyebabkan komputer dapat menampilkan obyek-obyek tiga dimensi dengan kecepatan tinggi. Obyek tiga dimensi ini disebut sebagai mesh yang tersusun atas beberapa face yang berbentuk segitiga. Namun masih terdapat kesulitan dalam pemodelan obyek tiga dimensi ini, yaitu saat memberikan warna, karena satu face hanya memiliki satu warna saja. Perangkat lunak yang dibuat pada tugas akhir ini berusaha untuk bisa mewarnai obyek tiga dimensi tanpa dibatasi kesulitan tersebut.

Konsep pewarnaan dari perangkat lunak ini seperti menyemprotkan cat pada patung. Metode yang dipakai dibuat sendiri, dimana langkah-langkah yang dipakai adalah, pertama-tama dibuat sebuah texture yang dapat mewakili pewarnaan pada face dari obyek tersebut. Kemudian mendeteksi titik yang ingin diwarnai lalu menyimpan pewarnaan itu ke dalam texture. Setelah selesai, perangkat lunak menyimpan data itu dalam bentuk file obyek tiga dimensi dan file bitmap untuk texture-nya.

Pengujian terhadap perangkat lunak ini menunjukkan bahwa perangkat lunak bisa mewarnai pada koordinat titik yang ingin diwarnai dengan tepat.

Kesimpulan dari pengujian adalah perangkat lunak ini hanya dapat membaca file obyek tiga dimensi dengan jumlah face kurang dari 5000 face.

Kata kunci :

Komputer grafis tiga dimensi, Mesh, Face, Texture, Pewarnaan, Obyek tiga dimensi, Bitmap.

vi

(2)

ABSTRACT

Steven Christiansen Megaprawira:

Thesis

Designing and Implementation Software to Apply a Color on Three- Dimensional Object

Lately, the world of technology has been developing rapidly, especially in three-dimensional computer graphics development. This make computer able to render three-dimensional object in high frame per second. A three-dimensional object is called mesh, that was formed by many triangle faces. But there’s a problem in applying a color on a three-dimensional object, because a face can only have one color. The software developed for this thesis is trying to solve that problem.

The concept of this coloring is like coloring a statue with an airbrush. The method used to detecting and coloring is own creation. First, the software will create a texture that can represent all face from the object, and then detecting the coloring coordinate and saved that coloring onto a texture. After finished, the result will be saved in three-dimensional object file and in a bitmap file for the texture.

The result from this software testing proved that the software can apply a color in the coloring coordinates precisely. And the conclusions are, this software only can open three-dimensional object file that only have less than 5000 faces.

Key words:

Three-dimensional computer graphics, Mesh, Face, Texture, Coloring, Three-dimensional object, Bitmap.

(3)

DAFTAR ISI

HALAMAN JUDUL ... i

LEMBAR PENGESAHAN ... ii

LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH ... iii

KATA PENGANTAR ... iv

ABSTRAK ... vi

ABSTRACT ... vii

DAFTAR ISI ... viii

DAFTAR GAMBAR ... x

DAFTAR RUMUS ... xiii

DAFTAR SEGMEN PROGRAM ... xiv

DAFTAR TABEL ... xviii

1. PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah dan Ruang Lingkup... 2

1.3. Tujuan Tugas Akhir ... 3

1.4. Metodologi ... 3

1.5. Sistematika Penulisan ... 3

2. TEORI PENUNJANG ... 5

2.1. Grafis 3 Dimensi ... 5

2.1.1. Proyeksi ... 6

2.1.1.1. Proses Perhitungan Camera ... 6

2.1.1.2. Proses Perhitungan Perspective ... 8

2.1.1.3. Proses Perhitungan Viewport ... 9

2.1.2. Transformasi ... 10

2.1.3. Obyek 3 Dimensi ... 11

2.1.3.1. Vertex ... 11

2.1.3.2. Edge ... 11

2.1.3.3. Face... 12

2.1.3.4. Texture ... 12

2.2. Format File ASE, Obj, dan 3DS ... 14

2.2.1. Format ASE ... 14

2.2.2. Format Obj ... 17

2.2.3. Format 3DS ... 20

viii

(4)

2.3. Mendeteksi Koordinat Mouse ... 22

2.3.1. Mencari Face yang Ditunjuk ... 23

2.3.2. Mencari Koordinat yang Ditunjuk pada Face ... 23

2.4. Pemberian Warna ... 25

2.4.1. Pencil ... 25

2.4.2. Spray ... 25

2.4.3. Burn ... 25

2.4.4. Dodge ... 25

2.5. Flowchart ... 26

2.6. Hubungan antar Class ... 29

3. DESAIN SISTEM ... 33

3.1. Struktur Class dari Aplikasi ... 33

3.2. Desain Aplikasi ... 44

3.2.1. Proses Input File ... 45

3.2.2. Proses Pembuatan Texture ... 45

3.2.3. Proses Proyeksi ... 48

3.2.4. Proses Pewarnaan ... 49

3.2.5. Proses Penyimpanan File ... 50

3.3. Ilustrasi Cara Kerja Program ... 50

3.4. Desain User Interface ... 52

3.4.1. Menu ... 53

3.4.2. Toolbar ... 55

3.4.3. Layar ... 55

4. IMPLEMENTASI SISTEM... 59

4.1. Implementasi dari Flowchart dan Source Code Program ... 59

4.1.1. Inisialisasi Layar OpenGL pada Delphi 7... 62

4.1.2. Aplikasi pada saat Idle ... 63

4.1.3. Membuka File Obyek ... 64

4.1.4. Membuat Texture pada Obyek yang Sudah Dibaca ... 83

4.1.5. Mendeteksi Koordinat Mouse pada Obyek ... 94

4.1.6. Proses Pewarnaan... 97

4.2. Implementasi Variabel Global ... 102

5. PENGUJIAN SISTEM ... 103

5.1. Pengujian Terhadap Pembacaan File dengan Format ASE, 3DS, Obj ... 103

5.2. Pengujian Terhadap Semua Brush yang Ada ... 107

5.3. Pengujian Menggunakan Texture dengan Ukuran 256 x 256... 114

5.4. Pengujian Menggunakan Texture dengan Ukuran 512 x 512... 116

5.5. Pengujian Menggunakan Texture dengan Ukuran 1024 x 1024... 117

5.6. Pengujian Terhadap Obyek 3 Dimensi yang Memiliki Banyak Face ... 118

6. KESIMPULAN DAN SARAN... 121

6.1. Kesimpulan ... 121

6.2. Saran ... 121

(5)

DAFTAR REFERENSI ... 123

LAMPIRAN

x

(6)

DAFTAR GAMBAR

2.1. Sistem Koordinat 3 Dimensi ... 5

2.2. Koordinat u, v pada Texture ... 12

2.3. Penggambaran Texture pada suatu Bidang ... 13

2.4. Titik yang dicari Koordinat 3 Dimensinya ... 24

2.5. Contoh Flowchart ... 26

2.6. Simbol Terminator ... 27

2.7. Simbol Preparation... 27

2.8. Simbol Proses... 27

2.9. Simbol Input/Output ... 28

2.10. Simbol Decision ... 28

2.11. Simbol One Page Connector ... 29

2.12. Simbol Other Page Connector ... 29

2.13. Simbol Subroutine ... 29

2.14. Simbol Object Class ... 30

2.15. Simbol Relationship Set ... 30

2.16. Simbol Aggregation ... 31

2.17. Simbol Composition ... 32

2.18. Simbol Inheritance ... 32

3.1. Class yang Digunakan Dalam Aplikasi ... 34

3.2. Diagram Cara Kerja Aplikasi ... 44

3.3. Diagram Proses Input File ... 45

3.4. Diagram Proses Pembuatan Texture ... 46

3.5. Diagram Proses Pembagian Obyek Berdasarkan Face ... 47

(7)

3.6. Diagram Proses Pembuatan Koordinat Texture Baru ... 48

3.7. Diagram Proses Pewarnaan ... 49

3.8. Obyek yang Dibaca ... 50

3.9. Membuat Texture dari Obyek yang Dibaca ... 50

3.10. Mewarnai Salah Satu Face dari Obyek ... 51

3.11. Mencari Face yang Diwarnai ... 51

3.12. Mencari Koordinat Mouse pada Face ... 51

3.13. Mewarnai Texture ... 52

3.14. Implementasi Interface Program ... 53

3.15. Menu File ... 53

3.16. Menu Model View ... 53

3.17. Menu Camera ... 54

3.18. Menu Brush... 54

3.19. Toolbar ... 55

3.20. Layar ... 56

3.21. Layar Brush Viewport ... 56

3.22. Combobox Nama Brush ... 57

3.23. Form untuk Menyimpan Brush Baru ... 58

5.1. Contoh Pembuatan Obyek Menggunakan 3D Studio Max 7 ... 103

5.2. Membuka File Obyek ... 104

5.3. Form Texture Size ... 104

5.4. Tampilan Texture dari Obyek ... 105

5.5. Tampilan dari Obyek “Kubus.ASE” ... 105

5.6. Tampilan dari Obyek “Kubus.3DS” ... 106

xii

(8)

5.7. Tampilan dari Obyek “Kubus.Obj” ... 107

5.8. Pewarnaan dengan Menggunakan Pencil ... 108

5.9. Pewarnaan Menggunakan Spray dengan Opacity Sebesar 5 ... 109

5.10. Pewarnaan Menggunakan Spray dengan Opacity Sebesar 25 ... 109

5.11. Pewarnaan Menggunakan Burn dengan Opacity Sebesar 5 ... 110

5.12. Pewarnaan Menggunakan Burn dengan Opacity Sebesar 25 ... 110

5.13. Pewarnaan Menggunakan Dodge dengan Opacity Sebesar 5 ... 111

5.14. Pewarnaan Menggunakan Dodge dengan Opacity Sebesar 25 ... 112

5.15. Obyek yang sudah diberi Pewarnaan ... 113

5.16. Menghapus Menggunakan Eraser dengan Opacity Sebesar 5 ... 113

5.17. Menghapus Menggunakan Eraser dengan Opacity Sebesar 25... 114

5.18. Obyek I yang digunakan dalam Pengujian, (a) “Limas”, (b) “Kotak” (c) “Bola”, (d) “Teapot” ... 115

5.19. Pengujian pada Obyek I yang Mempunyai Jumlah Face Sedikit dengan Texture Berukuran 256, (a) “Limas”, (b) “Kotak” ... 115

5.20. Pengujian pada Obyek I yang Mempunyai Jumlah Face Banyak dengan Texture Berukuran 256, (a) “Bola”, (b) “Teapot” ... 116

5.21. Pengujian pada Obyek I yang Mempunyai Jumlah Face Sedikit dengan Texture Berukuran 512, (a) “Limas”, (b) “Kotak” ... 117

5.22. Pengujian pada Obyek I yang Mempunyai Jumlah Face Banyak dengan Texture Berukuran 512, (a) “Bola”, (b) “Teapot” ... 117

5.23. Pengujian pada Obyek I yang Mempunyai Jumlah Face Sedikit dengan Texture Berukuran 1024, (a) “Limas”, (b) “Kotak” ... 118

5.24. Pengujian pada Obyek I yang Mempunyai Jumlah Face Banyak dengan Texture Berukuran 1024, (a) “Bola”, (b) “Teapot” ... 118

5.25. Obyek II yang Digunakan dalam Pengujian, (a) “Pot”, (b) “Gear” (c) “Chair1”, (d) “Chair2” ... 119

5.26. Hasil Pembacaan Terhadap Obyek Pot (980 face) ... 119

(9)

5.27. Hasil Pembacaan Terhadap Obyek Gear (1226 face) ... 119

5.28. Hasil Pembacaan Terhadap Obyek Chair1 (3904 face) ... 120

xiv

(10)

DAFTAR RUMUS

2.1. Rumus mencari n pada perhitungan camera ... 7

2.2. Rumus mencari u pada perhitungan camera ... 7

2.3. Rumus mencari v pada perhitungan camera ... 7

2.4. Rumus mencari d pada perhitungan camera... 7

2.5. Bentuk matrix model view pada perhitungan camera ... 7

2.6. Rumus mencari vertex setelah dipengaruhi matrix model view ... 8

2.7. Penjabaran rumus untuk mencari matrix perspective ... 8

2.8. Bentuk matrix perspective pada perhitungan perspective ... 9

2.9. Rumus mencari vertex setelah dipengaruhi matrix perspective ... 9

2.10. Rumus mencari vertex setelah dipengaruhi viewport ... 9

2.11. Matrix Scaling ... 10

2.12. Matrix Translation ... 10

2.13. Matrix Rotasi terhadap sumbu x ... 11

2.14. Matrix Rotasi terhadap sumbu y ... 11

2.15. Matrix Rotasi terhadap sumbu z ... 11

2.16. Rumus persamaan bidang ... 24

2.17. Persamaan untuk mencari koordinat perpotongan vector dengan bidang ... 24

(11)

DAFTAR SEGMEN PROGRAM

4.1. Inisialisasi Layar OpenGL ... 62

4.2. Isi dari function Init pada class OpenGL ... 62

4.3. Hal-hal yang dilakukan aplikasi pada saat Idle ... 63

4.4. Membaca file berdasarkan format ... 64

4.5. Membaca file dengan format ASE ... 65

4.6. Membaca koordinat texture pada file ASE ... 67

4.7. Membaca informasi texture pada file ASE ... 69

4.8. Membaca file dengan format Obj ... 71

4.9. Membaca informasi texture pada file Obj ... 72

4.10. Membaca informasi vertex, koordinat texture, dan face pada file Obj ... 73

4.11. Membaca informasi hubungan antara vertex, koordinat texture, dan face pada file Obj ... 75

4.12. Membaca Obyek ber-texture pada file 3DS ... 77

4.13. Membaca Obyek tanpa texture pada file 3DS ... 81

4.14. Pembagian Obyek berdasarkan face dan proyeksi ... 83

4.15. Proses pergeseran vertex ... 85

4.16. Lanjutan Procedure FlattenVertex ... 88

4.17. Proyeksi pada Procedure DrawFaceFlatened ... 90

4.18. Pembuatan koordinat texture yang baru ... 91

4.19. Pembuatan texture yang baru ... 93

4.20. Mencari face yang ditunjuk mouse ... 94

4.21. Isi function PointInTriangle ... 95

4.22. Mencari koordinat mouse dalam koordinat 3 dimensi ... 96

xvi

(12)

4.23. Mencari koordinat mouse pada Texture ... 98

4.24. Mewarnai texture ... 101

(13)

DAFTAR TABEL

4.1. Daftar Procedure ... 59

4.2. Daftar Variabel Global ... 102

5.1. Daftar Vertex dan Face Obyek I ... 114

5.2. Daftar Vertex dan Face Obyek II ... 119

xviii

Referensi

Dokumen terkait

Menurut Hasibuan (2009:194) unsur yang dinilai dalam melakukan penilaian prestasi adalah kesetiaan karyawan terhadap pekerjaan, jabatan dan organisasi, hasil kerja karyawan

Sehubungan dengan hasil penelitian yang telah dilakukan untuk mendapatkan gambaran yang riil tentang pengelolaan pembelajaran aktif, kreaktif, efektif dan menyenangkan

Tidak diikutsertakannya komponen environment yang terdapat dalan GRI sebagai salah satu indikator kinerja untuk membuat indeks CSP berkaitan dengan masih sangat minimnya

Kelebihan penelitian ini adalah selain penilaian kemampuan prediksi mortalitas dari skor MSOFA pada kasus penyakit kritis tanpa riwayat DM baik pasien medis

Hasil penelitian ini membuktikan bahwa ada tiga faktor yang mempengaruhi kapasitas inovasi pada usaha skala kecil, yaitu manajemen pemilik usaha, karakteristik organisasi, dan

Penyuluhan yang dilakukan kepada 54 orang tua yang memiliki anak usia sekolah dasar, meliputi dampak positif dan negatif penggunaan handphone kepada anak – anak, kegiatan anak selama

Yulimen Krisyanto 455/KM.1/2013 25-Jun-13 88 Suhartanto Budhihardjo dan Rekan Ruko Sukarno Hatta Square A-6, Jalan Arteri. Sukarno

23 Bahwa kegiatan pembelajaran terhadap suatu mata pelajaran (mata kuliah) terkait sekali dengan masalah-masalah minat, motivasi dan tingkat kecemasan, agar dapat