Aplikasi Grafika Komputer untuk Transformasi 3 Dimensi
Aplikasi Grafika Komputer untuk Transformasi 3 Dimensi
Alfa Ryano 1 , Agung B.P. 2 , Eko Handoyo 2
1 Mahasiswa dan 2 Dosen Jurusan Teknik Elektro, Fakultas Teknik, Universitas Diponegoro,
Jl. Prof. Sudharto, Tembalang, Semarang, Indonesia
Abstrak
Transformasi memiliki bagian yang penting pada grafika komputer. Dengan transformasi, suatu objek dapat dipindahkan dapat berubah posisi dan atau bentuk.Tugas akhir ini mengimplementasikan transformasi 3 dimensi dalam bentuk suatu aplikasi studio. Aplikasi dapat membuat suatu objek yang kemudian dapat ditransformasikan. Transformasi yang dapat dilakukan berupa translasi, penskalaan, rotasi, dan shearing. Analisis dan desain aplikasi menggunakan pendekatan berorientasi objek. Aplikasi dibuat menggunakan bahasa pemrograman Delphi dan OpenGL. Aplikasi yang dibuat diharapkan dapat mentransformasi objek 3 dimensi melalui antarmuka aplikasi.
Kata kunci: transformasi, rotasi, penskalaan, translasi, shearing, OpenGL
1. Pendahuluan 1.5 Kegunaan Hasil Penelitian
1.1 Latar Belakang Masalah
mengimplementasikan Grafika
1. Mengetahui
bagaimana
transformasi 3 dimensi Pada aplikasi 3 dimensi komputer–berkembang cukup pesat. Ini terbukti dengan
komputer–salah
menggunakan OpenGL dan Delphi dengan pendekatan banyaknya bidang yang menerapkan grafika komputer
berorientasi objek.
seperti video game, CAD (Computer Aided Design),
2. Menghasilkan suatu aplikasi yang dapat melakukan animasi, simulasi, dan lain-lain.
Aplikasi ini dapat Transformasi 3 dimensi memiliki bagian yang
transformasi
3 dimensi.
dikembangkan lebih untuk fungsi-fungsi yang lebih luas penting pada grafika komputer. Dengan transformasi,
yang berkaitan dengan Grafika Komputer, seperti ukuran dan bentuk suatu objek geometri dapat diubah.
pewarnaan, texture mapping, rendering, dan animasi. Tugas akhir ini mencoba mengimplementasikan transformasi 3 dimensi dalam bentuk suatu aplikasi studio.
2. Transformasi Geometri pada Ruang 3 Dimensi Transformasi yang dapat dilakukan, yaitu translasi,
Untuk membangun suatu aplikasi studio yang penskalaan, rotasi, dan shearing. Pertama-tama, aplikasi
mendukung fungsi transformasi 3 dimensi setidaknya dimodelkan terlebih dahulu melalui pendekatan berorientasi
dibutuhan tiga bagian penting. Bagian-bagian tersebut, objek menggunakan UML kemudian aplikasi dibuat
yaitu pemahaman teori transformasi 3 dimensi, transformasi menggunakan bahasa pemrograman Delphi dan OpenGL.
3 dimensi menggunakan OpenGL, dan penggunaan OpenGL API pada bahasa pemrograman Delphi.
1.2 Identifikasi Masalah
Dalam pembuatan aplikasi terdapat 3 masalah utama, yaitu:
2.1 Transformasi 3 Dimensi
1. Bagaimana merepresentasikan objek geometri yang Teori transformasi 3 dimensi memegang peranan terdiri
penting karena bagian ini merupakan ilmu dasar yang akan ditampilkan di layar.
dari verkteks-verkteks
sehingga
dapat
diimplentasikan pada program aplikasi.
2. Bagaimana mentransformasi objek 3 dimensi pada Pada tugas akhir ini digunakan sistem koordinat aplikasi tersebut. Tansformasi meliputi translasi,
homogen. Sistem koordinat homogen menggunakan empat penskalaan, shearing, dan rotasi.
ordinat untuk menyatakan titik-titiknya. Ordinat keempat
3. Antarmuka pengguna dengan program sehingga
menyatakan faktor skala.
pengguna dapat melakukan transformasi pada objek.
P = [px py pz s] Titik hasil transformasi dapat diperoleh melalui persamaan
1.3 Batasan Masalah
1. Tugas Akhir ini membahas mengenai implementasi Q = P * M (2.1) transformasi 3 dimensi dalam bentuk suatu aplikasi
dengan :
studio. Q = [qx,qy,qz,1] menyatakan matriks 1x4 yang
2. Implementasi transformasi 3 dimensi menggunakan berisi titik hasil transformasi. bahasa pemrograman Delphi dan API OpenGL.
P = [px,py,pz,1] menyatakan matriks 1x4 yang berisi
3. Analisis dan desain aplikasi menggunakan pendekatan titik yang akan ditransformasikan berorientasi objek.
M = Matriks transformasi berukuran 4x4 seperti
pada persamaan 2.2.
1.4 Tujuan Penelitian
m 00 m 01 m 02 m 03
10 12 m 13 (2.2) dimensi dalam bentuk suatu aplikasi studio.
Tujuan penelitian adalah implementasi transformasi 3
m 11 m
20 m 21 m 22 m 23 m 30 m 31 m 32 m 33
Transformasi 3 dimensi terdiri dari beberapa fungsi PROJECTION, dan TEXTURE. MODELVIEW adalah transformasi, yaitu translasi, rotasi, penskalaan, dan
matriks yang digunakan untuk melakukan transformasi. shearing. Matriks masing-masing transformasi adalah
PROJECTION adalah matriks yang digunakan untuk sebagai berikut.
proyeksi, dan TEXTURE adalah mariks yang digunakan untuk mengatur tekstur/tampilan permukaan.
glLoadIndentity;
Procedure glTranslate(x,y,z);
Procedure glRotate(degree,x,y,z); tx ty tz 1
Procedure glScale(x,y,z);
Perintah pertama mengatur agar matriks yang digunakan
sx 0 0 0
diisi dengan matriks identitas. Perintah kedua digunakan M S =
untuk melakukan translasi sebesar x, y, dan z. Perintah
ketiga digunakan untuk rotasi sebesar sudut degree dengan sumbu x, y, dan z. Perintah keempat digunakan untuk
penskalaan sebesar x, y, dan z.. 1 0 0 0
aplikasi, penyusun tidak 0 Cos ( θ ) Sin ( θ ) M 0 = (2.6)
Pada
pembuatan
menggunakan prosedur transformasi bawaan OpenGL
Rx
karena OpenGL tidak memiliki prosedur untuk shearing.
0 − Sin ( θ ) Cos ( θ ) 0
Penyusun membuat prosedur transformasi sendiri.
Cos ( θ ) 0 − Sin ( θ ) 0
2.3 Penggunaan OpenGL
dan Delphi untuk
Transformasi 3 Dimensi
M Ry (2.7) =
Sin ( θ ) 0 Cos ( θ ) 0
OpenGL dan Delphi perlu dihubungkan sehingga
transformasi 3 dimensi yang menggunakan Delphi dan
OpenGL dapat dilakukan. OpenGL dapat digunakan dengan menambahkan klausa openGL pada bagian Uses kode
Cos ( θ ) Sin ( θ ) 0 0
sumber.
OpenGL bukan merupakan bagian dari system operasi M Rz =
− Sin ( θ ) Cos ( θ ) 0 0 (2.8)
Windows sehingga diperlukan memberitahu Windows
bahwa program menggunakan API dari OpenGL. Informasi
yang perlu disampaikan, yaitu:
1. Format Pixel yang disampaikan melalui struktur data 1 Sh
TPixelFormatDescriptor. Format Pixel memberikan 0 1 0 0 M (2.9) xsh = informasi mengenai jumlah warna dalam bit per pixel,
Sh
kedalaman sumbu z, serta tipe pixel.
0 − Sh ⋅ Xref − Sh ⋅ Xref 1
2. Device Context yang menyatakan perangkat (device) yang akan digunakan oleh OpenGL untuk menggambar
di layer. Perangkat yang disediakan oleh Windows dan
M ysh =
perangkat yang disediakan oleh OpenGL harus
0 dihubungkan sehingga apa yang digambar oleh OpenGL 0 1 0 − Sh ⋅ Yref 0 − Sh ⋅ Yref 1
akan ditampilkan oleh Windows.
3. Pemodelan Aplikasi Grafika Komputer untuk
Transformasi 3D
M zsh =
grafika komputer untuk
transformasi objek 3 dimensi menggunakan pendekatan
− Sh ⋅ Zref − Sh ⋅ Zref 0 1
berorientasi objek (objek oriented analysis and design). Langkah-langkah yang dilakukan seperti model yang
Matriks-matriks di atas kemudian diubah ke dalam bentuk
diutarakan oleh Pressman [6] , yaitu:
prosedur-prosedur bahasa pemrograman Delphi. Prosedur-
1. Use case ,
prosedur tersbut akan digunakan untuk mentransformasi
2. Kartu Index CRC,
verteks-verteks penyusun objek geometri.
3. Diagram Kelas,
4. Model Hubungan Objek (Object Relationship), dan
2.2 Transformasi 3 Dimensi pada OpenGL 5. Model Tingkah Laku Objek (Object Behaviour). OpenGL sendiri sudah menyediakan perintah-perintah
Langkah-langkah tersebut kemudian dibuat dalam bentuk untuk melakukan transformasi. Perintah-perintah yang
diagram UML seperti berikut.
berhubungan dengan transformasi adalah:
3.1. Use Case
Procedure glMatriksMode(m:GLenum); Aplikasi yang akan dibangun paling sedikit memiliki 3 use case utama, yaitu membuat objek, menghapus objek
Untuk mengatur pemakaian matriks, ada tiga macam ,dan mentransformasi. Use case transformasi sendiri matriks yang dapat digunakan, yaitu: MODELVIEW,
merupakan generaliasi dari use case translasi, penskalaan, merupakan generaliasi dari use case translasi, penskalaan,
• Tinggi
include dari use case hapus objek dan transformasi karena
Operasi:
• sebelum melakukan rotasi dan hapus objek perlu membuat Gambar
• Create
objek terlebih dahulu. Diagramnya dapat dilihat pada
gambar 3.1. Tabel 3.5 Kartu index CRC kelas meja.
Kelas: Meja Tanggung Jawab:
Kolaborator:
Atribut:
Buat Objek
• Gambar • Create
Penskalaan
Tabel 3.6 Kartu index CRC kelas kursi.
<<include>>
Kelas: kursi
Pengguna Transformasi
Tanggung Jawab:
Hapus Objek
Shearing
Tabel 3.7 Kartu index CRC Transformasi. Gambar 3.1 Diagram use case aplikasi grafika komputer untuk
Kelas: Transformasi
transformasi objek 3 dimensi.
Tanggung Jawab:
Kolaborator:
Atribut:
3.2. Kartu Index CRC
• Objek Geometri Dari use case pada subbab 3.1, aplikasi paling sedikit
• Matriks
Operasi:
• membutuhkan 2 buah kelas utama, yaitu kelas transformasi PerkalianMatriks
• MatriksIdentitas
dan kelas geometri. Kelas geometri kemudian diturunkan
• Translasi
sehingga terbentuk anak kelas objek kubus, piramida,
• Penskalaan
silinder, meja, dan kursi.
• Rotasi • Shearing
Tabel 3.1 Kartu index CRC kelas geometri.
• Transform
Kelas: Geometri
• nolkanTransformasi
Tanggung Jawab:
Kolaborator:
• ambilPos3d
Atribut:
• nama
3.3. Diagram Kelas
• index Dari kartu index CRC pada subbab 3.2, penyusun • jenis
pusat • membuat diagram kelas-nya seperti pada gambar 3.2. Kelas
• jumTitik objek kubus, piramida, silinder, meja, dan kursi memiliki • titik
parent kelas geometri. Kelas transformasi dan kelas • sudut
geometri memiliki hubungan dari satu ke satu atau banyak. • Aktif
Artinya satu objek transformasi dapat mentransformasi satu
Operasi:
• Gambar
atau lebih objek geometri.
Transformasi Tabel 3.2 Kartu index CRC kelas kubus.
Geometri
Matriks
Kelas: nama : String Kubus index : Integer
Mentransformasi MatriksIdentitas() perkalianMatriks()
Tanggung Jawab:
Kolaborator:
jenis : String
pos isi : Single
Trans las i()
pus at : Single s udut : Single 1..* 1..*
1 1 Pens kalaan()
Atribut:
Shearing() Rotasi()
• Sisi
gambar()
Trans form() nolkanTransformasi()
Operasi:
ambilPos3d()
• Create • Gambar
Kubus s isi : Single
Tabel 3.3 Kartu index CRC kelas piramid. Kursi
sis i : Single Kelas: tinggi : Single Piramid gambar() tinggi : Single
radius : Single
gambar() create() gambar() create()
Tanggung Jawab:
Kolaborator:
create()
create() gambar()
gambar()
Atribut:
Gambar 3.2 Diagram kelas aplikasi grafika komputer untuk • Sisi
• Tinggi
transformasi objek 3 dimensi.
Operasi:
3.4. • Model Hubungan Objek (Object Relationship) Create
• Gambar
Model hubungan objek (object relationship model) Tabel 3.4 Kartu index CRC kelas silinder.
dapat digambarkan dengan menggunakan diagram runtun
Kelas: Silinder
(sequence diagram). Pada gambar 3.3 terdapat 3 skenario,
Tanggung Jawab:
Kolaborator:
yaitu menciptakan objek geometri, mentransformasi objek
Atribut:
geometri, dan menghapus objek geometri. • Radius
4. Implementasi dan Pengujian Aplikasi Grafika Komputer untuk Transformasi 3D
: Pengguna Panel
Hasil pembuatan aplikasi dapat dilihat pada gambar 4.1-4.6. Gambar 4.1 merupakan tampilan form utama
yang akan dibuat dan nilai atributnya Memilih objek
aplikasi grafika komputer untuk transformasi 3 dimensi.
Membuat objek geometri
gambar objek
pada layar
Menampilkan objek geometri
transformasi dan Memilih jenis nilainya
Memberi nilai sesuai input
Mentransformasi
Gambar
objek geometri
objek pada layar
Menampilkan objek geometri hasil
transformasi
Memilih objek yang akan
dihapus Menghapus objek geometri
objek pada Hapus
layar
Meampilkan hasil menghapus objek geometri
Gambar 4.1 Tampilan aplikasi grafika komputer untuk transformasi 3 dimensi.
Gambar 3.3 Diagram runtun aplikasi grafika komputer untuk Toolbar (gambar 4.2) digunakan untuk meemilih jenis
transformasi objek 3 dimensi. transformasi yang akan dilakukan, mengubah arah kamera, dan memilih sumbu.
3.5. Model Tingkah Laku Objek (Object Behaviour)
Gambar 3.4 merupakan diagram statechart yang menggambarkan perilaku 2 objek, yaitu objek transformasi (a) dan objek geometri (b). Model tingkah laku objek menunjukkan bagaimana system akan merespon kejadian
Gambar 4.2 Toolbar dan menu aplikasi. atau stimulus eksternal.
Tab-tab objek (gambar 4.3) digunakan untuk membuat
objek geometri seperti kubus, dilinder, piramida, meja, dan
Mulai
kursi.
Mentransform asi
Membuat
objek geometri
objek transform asi
Objek transformasi
Menunggu
tercipta
perintah transformasi selanjutnya
Menghapus objek geometri
Selesai
Objek transformasi
Posisi, sudut, dan
bentuk yang baru
Membuat objek geometri
Mentransformasi
objek geom etri
Objek geometri tercipta
Menunggu transformasi
selanjutnya
Gambar 4.3 Tampilan tab-tab untuk objek kubus, kursi, meja, piramida,
Menghapus objek geometri
silinder, dan kamera.
Status bar (gambar 4.4) digunakan untuk menampilkan
Selesai
Objek geometri
terhapus
informasi mode transformasi yang sedang aktif, posisi kursor pada koordinat world, posisi kursor pada layar, dan
(b)
sumbu putar yang sedang aktif
Gambar 3.4 Diagram statechart aplikasi grafika komputer
untuk transformasi objek 3 dimensi: (a) diagram statechart objek transformasi (b) diagram statechart objek geometri.
Gambar 4.4 Status Bar.
Popup menu (gambar 4.5) digunakan untuk menampilkan form-form transformasi (gambar 4.6) dan menghapus objek yang aktif terpilih.
(b)
Gambar 4.7 Pengujian transformasi: (a) keadaan awal; (b) hasil translasi (1 1 -1); (c) hasil penskalaan (2 2 2);
Gambar 4.5 Tampilan popup menu klik kanan. o (d) hasil rotasi (30 0 1 0); (e) hasil shearing (X 1 1).
Form-form transformasi (gambar 4.6) digunakan untuk Tabel 4.1. Perbandingan antara hasil perhitungan dan hasil mentransformasi objek geometri. Transformasi melalui aplikasi untuk translasi (1,00 1,00 -1,00);
form transformasi dapat dilakukan lebih presisi daripada
Titik
Koordinat
Hasil Transformasi
Awal
Aplikasi Perhitungan
1,00 1,00 -1,00 1,00 1,00 -1,00 transformasi diberikan dengan angka.
menggunakan mouse karena nilai-nilai untuk parameter
1,00 1,50 -1,00 1,00 1,50 -1,00
2 -0,50 -0,50 0,50
0,50 0,50 -0,50 0,50 0,50 -0,50
3 0,50 -0,50 0,50
1,50 0,50 -0,50 1,50 0,50 -0,50
4 0,50 -0,50 -0,50
1,50 0,50 -1,50 1,50 0,50 -1,50
5 -0,50 -0,50 -0,50
0,50 0,50 -1,50 0,50 0,50 -1,50
6 -0,50 -0,50 0,50
0,50 0,50 -0,50 0,50 0,50 -0,50
Tabel 4.2. Perbandingan antara hasil perhitungan dan hasil aplikasi untuk transformasi penskalaan (2,00 2,00 2,00);
Titik
Koordinat
Hasil Transformasi
Awal
Aplikasi Perhitungan
2 -0,50 -0,50 0,50
-1,00 -1,00 1,00 -1,00 -1,00 1,00
3 0,50 -0,50 0,50
1,00 -1,00 1,00 1,00 -1,00 1,00
4 0,50 -0,50 -0,50
1,00 -1,00 -1,00 1,00 -1,00 -1,00
5 -0,50 -0,50 -0,50 -1,00 -1,00 -1,00 -1,00 -1,00 -1,00 Gambar 4.6 Form untuk transformasi translasi, penskalaan, rotasi dan
6 -0,50 -0,50 0,50
-1,00 -1,00 1,00 -1,00 -1,00 1,00
shearing .
Tabel 4.3. Perbandingan antara hasil perhitungan dan hasil Transformasi-transformasi 3D pada aplikasi diuji.
aplikasi untuk transformasi rotasi (30 o 0,00 1,00 0,00). Pengujian dilakukan
dengan membandingkan
Hasil Transformasi
transformasi aplikasi dengan hasil transformasi melalui
Awal
Aplikasi Perhitungan
perhitungan. Pengujian dilakukan pada objek geometri
0,00 0,00 0,00 0,00 0,00 0,00 piramida yang memiliki 7 titik. Gambar 4.7a menunjukkan
0,00 0,50 0,00 0,00 0,50 0,00 posisi awal piramida ketika dibuat pada aplikasi. Untuk -0,18 -0,50 0,68 2 -0,50 -0,50 0,50 -0,18 -0,50 0,68
0,68 -0,50 0,18 0,68 -0,50 0,18 translasi digunakan translasi (1 1 -1) (gambar 4.7b).Untuk
3 0,50 -0,50 0,50
0,18 -0,50 -0,68 0,18 -0,50 -0,68 penskalaan digunakan penskalaan (2 2 2) (gambar 4.7c).
4 0,50 -0,50 -0,50
-0,68 -0,50 -0,18 -0,68 -0,50 -0,18 Untuk rotasi digunakan rotasi (30 o
5 -0,50 -0,50 -0,50
-0,18 -0,50 0,68 -0,18 -0,50 0,68 digunakan shearing (X 1 1). Tabel 4.4 Perbandingan antara hasil perhitungan dan hasil
0 1 0). Untuk shearing
6 -0,50 -0,50 0,50
aplikasi untuk transformasi shearing (X 1,00 1,00).
Titik
Koordinat
Hasil Transformasi
Awal
Aplikasi Perhitungan
0,00 -1,00 -1,00 0,00 -1,00 -1,00
0,00 -0,50 -1,00 0,00 -0,50 -1,00
2 -0,50 -0,50 0,50
-0,50 -2,00 -1,00 -0,50 -2,00 -1,00
3 0,50 -0,50 0,50
0,50 -1,00 0,00 0,50 -1,00 0,00
4 0,50 -0,50 -0,50
0,50 -1,00 -1,00 0,50 -1,00 -1,00
-0,50 -2,00 -2,00 -0,50 -2,00 -2,00 (a)
5 -0,50 -0,50 -0,50
(b)
6 -0,50 -0,50 0,50
-0,50 -2,00 -2,00 -0,50 -2,00 -2,00
Hasil pengujian pada tabel 4.1-4.4 memperlihatkan kesamaan antara hasil aplikasi dan hasil melalui perhitungan. Dengan demikian, jika dilihat dari pengujian, aplikasi dapat melakukan transformasi dengan tepat.
(c)
(d)
5. Kesimpulan dan Saran
[13] ---, Tutorial on UML, Chapter 12, TIMe Electronic
Kesimpulan
Textbook version 4.0, SINTEF, July 16 th , 1999.
1. Fleksibilitas fungsi-fungsi transformasi yang dibuat sendiri lebih tinggi daripada menggunakan fungsi- fungsi bawaan OpenGL karena OpenGL hanya
BIOGRAFI PENULIS
mendukung transformasi
penskalaan tetapi tidak untuk shearing. Fungsi-fungsi Alfa Ryano Yohannis, lahir di Kendari, transformasi yang dibuat sendiri juga dapat dimodifikasi
Sulawesi Tenggara, 16 juli 1984. dengan mudah sesuai kebutuhan.
Menempuh pendidikan di SD Kristen
2. Rotasi pada suatu objek geometri yang menggunakan Kendari, SLTP Negeri 1 Kendari, dan sumbu putar yang tidak melewati titik origin dapat
SMU Negeri 1 Makassar. Saat ini sedang dilakukan dengan mentranslasikan terlebih dahulu
pendidikan program sumbu tersebut ke titik origin. Kemudian objek dirotasi
menyelesaikan
1 Jurusan Teknik Elektro sesuai dengan sudut yang ditentukan. Setelah itu,
Strata
Diponegoro dengan sumbu ditranslasikan kembali ke posisi semula.
Universitas
mengambil konsentrasi teknik informatika dan komputer.
3. Perbandingan antara hasil perhitungan dan hasil Topik Tugas Akhir yang diambil tentang transformasi objek transformasi aplikasi menunjukkan bahwa aplikasi
3 dimensi pada grafika komputer.
grafika komputer untuk transformasi 3 dimensi ini dapat melakukan transformasi dengan tepat.
4. Untuk beberapa komputer dan sistem operasi, aplikasi Menyetujui dan mengesahkan, grafika komputer untuk transformasi 3 dimensi ini hanya dapat berjalan jika regional and language options
Dosen Pembimbing I diubah ke regional dan bahasa Indoensia. Ini terjadi karena format penulisan angka yang digunakan menggunakan koma (,) untuk desimal.
Agung B. P., S.T., M.I.T.
Saran
NIP. 132 137 932
1. Aplikasi dapat dikembangkan lebih lanjut dengan Tanggal………………... menambahkan fasilitas pewarnaan (coloring) dan texture mapping sehingga warna suatu objek dapat diubah sesuai kehendak pengguna dan objek memiliki
Dosen Pembimbing II tekstur yang membuat tampilannya menjadi lebih realistis.
2. Aplikasi dapat dikembangkan lebih lanjut dengan menambahkan fasilitas untuk memuat objek geometri
Eko Handoyo, S.T., M.T. dari berkas berekstensi .obj sehingga objek yang dapat
NIP. 132 309 142 ditampilkan lebih bervariasi.
Tanggal………………...
6. Referensi
[1] Baker, H., Computer Graphics with OpenGL, Third Edition, Prentice Hall, New Jersey, 2004. [2] Bambang, H., Grafik komputer dengan C, Penerbit ANDI, 2004. [3] Dharwiyanti S., Wahono R.S., Pengantar Unified Modelling Language (UML) , ilmukomputer.com, 2003. [4] Maksimchuk, R.A., Naiburg, E.J., UML for Mere Mortals , Addison Wesley Proffesional, October 26 th , 2004. [5] Nugroho, Edi., Teori dan Praktek gafika Komputer Menggunakan Delphi dan OpenGL , Penerbit Graha ilmu, 2005. [6] Pressman,
R.S.,
Pendekatan Praktisi , Buku Satu dan Dua, McGraw- Hil Book Co., Penerbit ANDI, 2003. [7] Susilo, D., Gafika Komputer dengan Delphi, Penerbit Graha ilmu, 2005. [8] ---, http://www.autodesk.com/, Maret 2006. [9] ---, http://www.caperaven.co.za/, Maret 2006. [10] ---, http://www.blender.org/, Maret 2006. [11] ---, http://www.delphi3d.net/, Maret 2006. [12] ---, http://www.sulaco.co.za/, Maret 2006.