Minggu, 14 Oktober 2012

Manfaat Grafika sebagai Sumber Informasi


BAB II

LANDASAN TEORI


2.1         Grafika Komputer
Grafika komputer merupakan salah satu bidang ilmu komputer yang perkembangannya terbilang sangat pesat.  Penggunaan grafika komputer sangat terasa manfaatnya hampir di seluruh kegiatan, terutama yang berhubungan dengan komputer.  Pada kenyataannya, sebagian besar kegiatan manusia memanfaatkan grafika komputer.  Indsutri film, televisi, desain grafis dan arsitektur adalah beberapa contoh kegiatan yang banyak sekali memanfaatkan grafika komputer. Bidang ilmu murni seperti Fisika, Matematika, Kimia dan Biologi pun merasakan manfaat dari grafika komputer.  Bidang-bidang tersebut memanfaatkan grafika komputer untuk visualisasi model-model objek yang secara kasat mata mustahil terlihat seperti; atom, sel dan bakteri.  Bahkan perkembangan bidang-bidang tersebut menjadi semakin cepat, karena para ilmuwan semakin berani melakukan eksperimen tanpa takut melakukan kesalahan yang mengakibatkan kerugian besar, sehingga mereka dapat menghasilkan penemuan-penemuan baru.
Pada saat ini industri film dan game adalah yang betul-betul telah merasakan manfaat dari grafika komputer.  Saat ini, film yang digemari bukan lagi film-film kartun, tetapi film animasi yang menggunakan teknologi 3D(tiga dimensi).  Dengan grafik 3D(tiga dimensi), dapat dihasilkan suatu objek yang menyerupai bentuk aslinya.  Hal yang sama terjadi pada industri game.  Jika dulu game-game yang digemari masih dalam bentuk dua dimensi (2D), dengan teknologi yang ada sekarang dapat dihasilkan suatu game yang lebih realistis karena sudah dalam bentuk tiga dimensi.
Bidang-bidang yang berhubungan dengan grafika komputer sudah menjadi alternatif pilihan pekerjaan yang banyak diminati di Indonesia, seperti; desain grafis, pengolahan citra dan digital fotografi.  Pada bidang ini juga, Indonesia tidak mengalami ketertinggalan yang jauh jika dibandingkan dengan bidang ilmu komputer yang lain seperti jaringan komputer dan pemrograman.  Bahkan banyak ditemui orang-orang yang sudah sangat ahli pada bidang-bidang yang digelutinya.

2.1.1   Sejarah Grafika Komputer
Sejarah grafika  computer telah dimulai sejak jaman dahulu yaitu ketika bangsa Mesir, Roma, dan Yunani perkembangan bidang grafika komputer tidak terpaut jauh dengan perkembangan dunia komputer, karena keduanya sangat berhubungan erat.  Meskipun pada mulanya komputer tidak menggunakan monitor, justru setalah menggunakan komputer dunia komputer mengalami perkembangan yang sangat pesat. Sejarah grafika komputer dimulai pada tahun 1961.  Ketika itu seorang mahasiswa MIT, Ivan Sutherland, membuat suatu program penggambar yang disebut Sketchpad.  Dengan menggunakan pena cahaya (light pen), Sketchpad mengijinkan seseorang untuk manggambar suatu bidang yang sederhana, menyimpan dan bahkan menampilkannya kembali.  Pena cahaya tersebut memiliki sel photoelectric kecil pada ujungnya.  Sel tersebut mengeluarkan getaran elektronik ketika diletakkan di depan layar komputer, kemudian pistol elektron yang terdapat pada layar menembakkan elektron ke arah pena tersebut diletakkan.
Dengan penemuannya tersebut, Sutherland mulai menemukan solusi dari permasalahan grafika komputer yang dia hadapi.  Bahkan sekarang, banyak standar antarmuka grafika komputer yang bermula dari program Sketchpad.  Salah satu contoh adalah dalam menggambar constraints.  Jika seseorang ingin menggambar kotak, misalnya, dia tidak perlu mengkhawatirkan tentang bagaimana menggambar empat garis secara sempurna untuk menghasilkan sisi-sisi kotak tersebut.  Dia hanya perlu menentukan lokasi dan ukuran kotak tersebut, kemudian software akan membuat kotak yang sempurna, dengan dimensi dan lokasi yang tepat.  Contoh lain adalah bahwa Sketchpad memodelkan objek, tidak hanya menggambar suatu objek.
         Hingga pertengahan tahun 80-an, banyak penelitian yang telah dilakukan dan menghasilkan penemuan-penemuan baru yang menambah khazanah bidang grafika komputer.  Fraktal, Animasi tiga dimensi, Texture Mapping dan Rendering adalah beberapa contoh penemuan di bidang grafika komputer yang sangat berpengaruh pada perkembangan ilmu pengetahuan secara umum. 

2.1.2   Pemanfaatan Grafika Komputer
Pada awal bab ini telah dijelaskan mengenai beberapa keuntungan dari pemanfaatan grafika komputer.  Untuk itu pada bagian ini akan dibahas mengenai spesifikasi bidang-bidang yang menggunakan atau memanfaatkan grafika komputer.  Bidang-bidang tersebut diantaranya adalah sebagai berikut :
a.             Pada Bidang Computer-Aided Design (CAD)
CAD merupakan suatu metode yang digunakan untuk merancang suatu model tiga dimensi yang sekarang sudah rutin digunakan untuk merancang gedung, mobil, model pesawat, komputer, tekstil dan banyak produk lainnya. 
b.            Pada Bidang Hiburan
Tidak dapat dielakan lagi pada bidang grafika komputer ini telah biasa digunakan, bahkan sudah menjadi suatu kebutuhan untuk menggunakannya. Pada industri perfilman dan pertelevisian dirasakan sekali akan pentingnya grafika komputer. Bahkan sampai sejauh ini hampir tidak ada satu pun film yang tidak memanfaatkan grafika komputer.  Selain itu, grafika komputer juga dimanfaatkan pada pengembangan game di seluruh dunia. 
c.             Pada Bidang Pendidikan dan Pelatihan
Pemodelan fisika, keuangan, dan sistem ekonomi sering digunakan sebagai tujuan pendidikan.  Pemodelan dari sistem fisika, sistem fisilogis dan perkembangan populasi bisa membantu untuk memahami jalannya suatu sistem. 
         Untuk beberapa aplikasi latihan, didesain sistem khusus.  Contoh dari sistem khusus tersebut adalah simulator untuk sesi praktik atau latihan bagi kapten kapal, pilot pesawat terbang, operator peralatan berat control lalu lintas udara.  Beberapa simulator tidak memiliki latar video, sebagai contoh adalah simulator penerbangan yang hanya terdapat panel kontrol untuk alat-alat penerbangan.  Kebanyakan simulator menyediakan layar grafis untuk operasi visual. 
d.            Pada Bidang  Visualisasi
Pada bidang visualisasi ini dapat digambarkan bahwa Ilmuwan, teknisi, personil medis, analis bisnis dan lainnya sering membutuhkan untuk menganalisa banyaknya informasi atau melakukan studi atas kelakuan dari proses penting.  Dengan menggunakan visualisasi akan semakin mempermudah untuk mempelajari, memahami dan melakukan analisa terhadap suatu permasalahan.  Dengan adanya visualisasi, suatu fungsi matematika dapat menjadi suatu bentuk grafis yang menarik, sehingga orang-orang akan lebih tertarik untuk mempelajarinya.
e.             Pada Bidang Pengolahan Citra
Perkembangan perangkat lunak grafis saat ini memungkinkan untuk melakukan pengolahan citra.  Suatu citra yang telah rusak dapat diperbaiki kembali sehingga kualitasnya hampir menyamai citra yang masih baru.  Selain itu, sering juga dipergunakan untuk melakukan eksperimen dan eksplorasi terhadap suatu citra, sehingga dapat menghasilkan citra lain yang lebih menarik. 
f.              Pada Bidang Graphical User Interface
Hingga akhir tahun 80-an, program-program yang tersedia kurang menarik karena kebanyakan tampilan pada monitor hanya berupa teks saja.  Hal ini sungguh sangat menjemukan bagi para pengguna komputer.  Microsoft dengan Windows-nya menggebrak dengan mengeluarkan sistem operasi yang menggunakan GUI (Graphical User Interface). 
Keuntungan dari penggunaan GUI ini adalah perangkat lunak atau program yang tersedia jadi lebih interaktif dan mudah mengoperasikannya karena perintah-perintah program yang biasanya diketik cukup diwakili oleh satu tombol saja, bahkan satu tombol tersebut bisa mewakili beberapa perintah sekaligus.  Tentu saja hal ini sangat menguntungkan karena setiap pengguna komputer tidak perlu lagi menghafal perintah-perintah yang jumlahnya relatif banyak dan bermacam-macam fungsinya.  Ditambah lagi dengan adanya GUI ini setiap pengguna tidak membutuhkan waktu yang lama untuk menggunakan suatu program.  Bahkan sudah banyak bahasa pemrograman yang digunakan untuk membangun suatu program yang menggunakan GUI seperti Delphi, Visual Basic dan Visual C.

2.2         Grafik Objek Tiga Dimensi
Menampilkan obyek gambar secara tiga dimensi dapat mempermudah visualisasi dan penyampaian makna gambar dibandingkan dengan visualisasi secara dua dimensi (2D).  Dari dahulu gambar tiga dimensi lebih dekat dengan orang awam, karena kemudahan proses penyampaian informasi.
Tujuan dari grafik tiga dimensi adalah untuk merepresentasikan alam tiga dimensi ke alam dua dimensi.  Representasi dilakukan dalam dua dimensi karena media untuk menampilkan grafik tersebut, yaitu layar komputer adalah dua dimensi.  Merepresentasikan obyek dalam tiga dimensi dapat dilakukan dengan menggunakan sistem koordinat yang menyediakan tiga sumbu koordinat.  Tiga sumbu ini biasanya dinamakan X,Y,Z. Terdapat dua macam sistem koordinat tiga dimensi yaitu sistem Tangan Kiri (Left-hand) dan sistem Tangan Kanan (Right-hand).  Perbedaan dari kedua sistem ini terletak pada arah sumbu Z.  Pada sistem Tangan Kiri koordinat yang lebih jauh mempunyai nilai Z yang lebih besar, sedangkan koordinat yang lebih dekat mempunyai nilai Z yang lebih kecil.  Pada layar komputer, arah sumbu-Z terlihat seolah-olah menjauhi pengguna komputer.  Pada sistem Tangan Kanan, arah sumbu-Z berkebalikan dengan Tangan Kiri, sehingga pada layar komputer terlihat seolah-olah mendekati pengguna komputer.

2.3         Grafik Komputer Modern
Grafik komputer modern merupakan implementasi lebih lanjut perkembangan grafik komputer. Banyak contoh aplikasi dari grafik modern seperti virtul realty, film animasi dan game. Salah satu bentuk implementasi grafik komputer modern adalah OpenGL.
OpenGL adalah interface perangkat lunak untuk perangkat keras grafik, yang berisi perintah dan sesuai dengan objek dan operasi yang spesifik serta dibutuhkan untuk membuat aplikasi 3D yang interaktif. OpenGL menyediakan perintah yang dapat membangun objek 2D atau objek 3D, menyatukan semua elemen geometri primitif dengan perintah tertentu yang dapat mengontrol objek tersebut diterjemahkan pada frame buffer .
OpenGL dirancang untuk bekerja lebih effisien walaupun komputer yang menampilkan grafik yang dibangun bukan komputer yang sesuai atau tidak memiliki fasilitas untuk mengeksekusi program grafik. Sebagai contoh pada suatu jaringan komputer yang terhubung satu sama lain untuk mengakses data digital, pada situasi ini komputer yang mampu membangun program dan menghasilkan OpenGL adalah client, dan komputer yang menerima adalah server. Format transmisi perintah OpenGL dari client pada server akan menghasilkan hal yang sama, program OpenGL dapat bekerja pada jaringan walaupun kedua komputer mempunyai spesifikasi yang berbeda.
OpenGL dapat diimplementasikan pada berbagai jenis perangkat keras yang berbeda untuk menghasilkan aplikasi 2D atau 3D. Tidak terdapat perintah khusus untuk mendapatkan qualitas visi yang baik pada OpenGL, menampikan atau mendapatkan objek, tetapi kita harus membangun terlebih dahulu objek dari ukuran geometrri terkecil seperti titik, garis dan polygon.

2.4    Pokok-Pokok Dasar Matematis Dalam Menggambarkan Objek
OpenGL berbasis pada dasar-dasar matematika yang sangat penting dan mengarahkan imajinasi untuk menciptakan sebuah objek, notasi matematika tersebut mendefinisikan titik koordinat sistem menjadi titik koordinat pada layar, dan menunjukan bagaimana menempatkan suatu image pada layar. OpenGL mendefinisikan situasi tersebut dalam fungsi pemanggil secara matematis.
Sebagai contoh pada gambar 2.2 di bawah ini, suatu sistem koordinat 3D yang akan menampilkan objek pada bagian alas objek. Pada objek tersebut ditunjukan dengan objek segi empat berwarna biru yang akan tampak pada layar. Empat titik koordinat mengaktifkan sinar ( rays ) untuk menciptakan objek dalam dunia imajiner yang biasa disebut point of view
Gambar 2.1
Ilustrasi objek 3D pada sistem koordinat
 glMatrixMode(GL_PROJECTION);
 glFrustum(-0.1, 0.1, -0.1, 0.1, 0.3, 25.0);
Fungsi pemanggil -0.1, 0.1, -0.1, 0.1 mendefinisikan ukuran pada layar virtual untuk posisi kiri, kanan, bawah dan atas segi empat. 0.3 mendefinisikan jarak titik pandang terdekat pada layar hal ini sama seperti teknik rencana pemotongan dan pemilihan bagian bidang objek ( Clipping plane  ) untuk ditampilkan pada layar. 25.0 mendefinisikan  titik terjauh bagian objek. Semua objek di depan titik pandang terdekat atau di belakang titik pandang terjauh akan tidak terlihat, kecuali dengan memanipulasi fungsi pemanggil jika membutuhkan tampilan objek yang komplek.
Titik untuk menggambarkan objek terbatas pada ketiga axis, setiap axis mendefinisikan satu titik  Titik-titik pada setiap axis yang sudah didefinisikan akan dihubungkan dengan sebuah vektor yang berupa garis. Kemudian objek akan dibentuk sebagai permukaan bidang dengan vertex yang merupakan titik axis yang digunakan sebagai sudut.
2.4.1  Konversi Geometri Primitif Menjadi Objek
OpenGL hanya mendukung bagian dari geometri primitif titik, garis dan poligon. Beberapa permukaan yang lebih komplek seperti lingkaran tidak bisa digambar sebagai objek primitif, tetapi bisa dibangun perkiraannya dengan poligon. Misalnya pada game 3D modern yang dibangun dengan segitiga, tetapi hal ini tidak membatasi pembuatan objek 3D.

[IMAGE]
Gambar 2.2
Ilustrasi objek 3D dengan elemen poligon pembentuknya
2.4.2 Gerakan Objek
Pergerakan objek merupakan bagian dari animasi yang meliputi metode translasi, scale dan rotasi. Dengan mengimplementasikan perintah dari keyboard atau mouse, setiap key didefinisikan menjadi sebuah aksi atau pergerakan objek. Dari penggalan program di atas kita bisa melihat indentifikasi dari setiap aksi pada keyboard, dengan demikian akan terjadi pergerakan pada layar.

2.5    Transformasi
Transformasi adalah perubahan bentuk, komputer merupakan salah satu transformator yang cukup ideal. Pada grafik komputer kemungkinan untuk mengubah bentuk atau penampilan dari suatu objek sangat luas bahkan untuk mengganti objek itu sendiri secara permanan.
Transformasi diperlukan untuk mengubah ( transform ) posisi suatu objek dari tempat asal ke posisi elemen grafik, transformasi juga diperlukan untuk memutarkan posisi suatu objek pada titik pusat, mengubah ukuran objek dan menarik sebagian objek sehingga tampak terdistorsi.
Bentuk-bentuk transformasi tersebut secara umum adalah sebagai berikut :
a.             Translation ( mengeser )
b.             Strecthing ( merubah lebar )
c.              Scale ( merubah ukuran )
d.             Rotation ( memutar )
2.5.1    Transformasi Pada Objek 2 D
2.5.1.1 Pergeseran ( Translasi )
Translasi suatu gambar atau objek 2D dilakukan dengan cara menambah atau mengurangi koordinat x atau y dengan sejumlah nilai tertentu sehingga objek bergeser dari suatu posisi ke posisi lain.
Sebuah objek merupakan deretan titik-titik yang membangun objek tersebut, jika dilakukan proses translasi, maka akan mengoperasikan seluruh titik tersebut dan membutuhkan proses yang komplek dan lama. Untuk mengatasi masalah tersebut maka perlu ditentukan suatu titik tertentu dari suatu objek yang menjadi titik orientasi sehingga pergeseran dilakukan terhadap titik orientasi tersebut dan diikuti offset vektornya.
Gambar 2.3
Ilustrasi pergeseran pada suatu objek yang berbentuk segi tiga

2.5.1.2 Mengubah Lebar ( Strecthing )
Prinsip dasar strecthing sama seperti translasi hanya pada strecthing pergeseran hanya pada satu titik tertentu hingga objek bertambah besar atau bertambah kecil pada titik koordinat yang ditentukan.
     Gambar 2.4
Ilustrasi strecthing

2.5.1.3 Merubah Ukuran ( Scale )
Scale dapat diartikan sebagai suatu perubahan terhadap objek tertentu sehingga ukuran objek tersebut berubah.
     Gambar 2.5
Ilustrasi scale
Dari ilustrasi di atas perubahan besar untuk lingkaran adalah pada radius r menjadi r’ dan perubahan besar pada segi empat pada P1, P2, P3 dan P4 menjadi  P1’, P2’, P3’ dan P4’, maka notasi matematik untuk perubahan besar adalah
                     
Di mana adalah vaktor perubahan besar x dan adalah vektor perubahan besar y,
2.5.1.4 Memutar ( Rotation )
Rotation dapat diartikan sebagai aksi pemutaran objek sebesar sudut  dari posisi awalnya pada titik rotasi  (  ).
     Gambar 2.6
Ilustrasi rotation
Keterangan :
 adalah sudut posisi awal.
 adalah sudut rotasi.
r adalah titik rotasi.
Rotasi suatu objek dengan P ( x, y ) dengan sudut  mendapatkan hasil titik P’ (x’, y’ ), dengan persamaan
                          

2.5.2 Transformasi Pada Objek 3D
2.5.2.1 Pergeseran ( Translation )
Suatu objek yang terdapat di dalam sistem koordinat ruang 3D dapat dipindahkan dari posisi awalnya sesuai dengan yang diinginkan selama objek tersebut masih terdapat dalam sistem koordinat ruang 3D. secara teoritis jarak geser tidak terbatas, tetapi pada kenyataannya untuk memudahkan indentifikasi keberadaan suatu objek ditentukan batas maksimumnya untuk mengkonversi objek dari sistem koordinat ke sistem koordinat layar, karena sistem koordinat layar memiliki batasan tertentu.
     Gambar 2.7
Ilustrasi Translation
Persamaan umum dari pergeseran objek 3 D adalah :
 adalah titik koordinat awal objek 3D, sedangkan ,  dan  adalah jarak geser pada objek.
2.5.2.2 Mengubah Lebar ( Strecthing )
Pada objek 3D prinsif dasar strecthing sama seperti scale hanya pada strecthing pergeseran hanya pada satu titik tertentu hingga objek bertambah besar atau bertambah kecil pada titik koordinat yang ditentukan.
     Gambar 2.8
Ilustrasi Strecthing

Sesuai dengan pemahaman sistem koordinat untuk ruang 3D, dari gambar 2.8 dapat disimpulkan bahawa perubahan lebar memiliki proses yang sama dengan scale, perbedaannya adalah pada perubaban lebar faktor scale dilakukan hanya pada satu sumbu dengan nilai perubahan tertentu.
2.5.2.3 Mengubah Ukuran ( Scale )
Suatu objek yang terdapat dalam sisitem koordinat 3D dapat dibesarkan atau dikecilkan dengan faktor tertentu yang disesuaikan dengan koordinat layar yang mempunyai keterbatasan. Ilustrasi pada perubahan ukuran sama seperti gambar 2.9, tetapi pada scalling mencakup semua sumbu koordinat.
     Gambar 2.9 
Gambaran Ilustrasi Scale
Keterangan :
Persamaan untuk scale adalah sebagai berikut :
          adalah vaktor perubahan besar x
          adalah vektor perubahan besar y
           adalah vektor perubahan besar z
2.5.2.4 Memutar ( Rotation )
Rotasi pada objek 3D mengikuti sumbu kordinat pada ketiga sumbu sistem koordinat x,y dan z. Secara umum rotasi di bagi menjadi dua yaitu rotasi yang berlawanan dengan arah jarum jam dan yang searah dengan jarum jam. Biasanya diberikan nilai positif dan negatif.
Selajutnya untuk rotasi yang searah jarum jam diberikan nilai negatif dan yang berlawanan arah jarum jam diberikan nilai positif untuk setiap sumbu koordinat x, y dan z.
Rotasi tersebut menggunakan sudut rotasi tertentu dari posisi P (x, y, z ) menjadi P ( x’, y’, z’ ).
a.      Rotasi Pada Sumbu X
     Gambar 2.10
Ilustrasi rotasi pada sumbu x

Gambar di atas merupakan ilustrasi rotasi pada sumbu x dengan sudut rotasi (  ),  pada rotasi ini pada sumbu x tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu y dan z.
Persamaan rotasi pada sumbu x adalah sebagai berikut :
Dari persamaan tersebut lebih jelas bahwa sumbu x tidak terjadi perubahan titik koordinat.


b.      Rotasi Pada Sumbu Y
     Gambar 2.11
Ilustrasi rotasi pada sumbu y

Gambar di atas merupakan ilustrasi rotasi pada sumbu y dengan sudut rotasi (  ),  pada rotasi ini pada sumbu y tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu x dan z.
Persamaan rotasi pada sumbu x adalah sebagai berikut :
Dari persamaan tersebut lebih jelas bahwa sumbu y tidak terjadi perubahan titik koordinat.

c.       Rotasi Pada Sumbu Z
     Gambar 2.12
Ilustrasi rotasi pada sumbu z

Gambar di atas merupakan ilustrasi rotasi pada sumbu z dengan sudut rotasi  (  ),  pada rotasi ini pada sumbu z tidak terjadi perubahan titik koordinat, yang berubah adalah titik koordinat pada sumbu x dan y.
Persamaan rotasi pada sumbu x adalah sebagai berikut :
Dari persamaan tersebut lebih jelas bahwa sumbu z tidak terjadi perubahan titik koordinat.

2.6         Sistem Koordinat
Sistem koordinat yang selama ini dikenal antara lain adalah sistem koordinat kartesian yang digunakan untuk membedakan lokasi atau posisi sembarang titik atau objek yang lain. Sistem koordinat kartesian terdiri atas sistem koordinat kartesian dua dimensi dan sistem koordinat kartesian tiga dimensi.
         Pada transformasi ini, objek-objek yang akan ditransformasikan berupa objek-objek dua dimensi. Dimana objek tersebut hanya terdapat sumbu x dan sumbu y yang akan mengalami proses transformasi. Transformasi dasar pada objek dua dimensi adalah translasi, skala dan rotasi. Translasi berarti memindahkan suatu objek sepanjang sepanjang garis lurus dari suatu koordinat tertentu kelokasi yang lain. Skala digunakan untuk mengubah ukuran suatu objek, sedangkan rotasi adalah pemindahan objek menurut garis melingkar.
Lokasi setiap titik dalam sistem koordinat kartesian dua dimensi ditentukan oleh dua besaran. Nilai dua besaran tersebut apabila digambar akan membentuk suatu sumbu koordinat mendatar yang sering dikenal dengan sumbu x dan sumbu koordinat tegak yang sering dikenal dengan sumbu y. Sedangkan dalam sistem koordinat tiga dimensi terdapat suatu sumbu lain selain sumbu x dan sumbu y yaitu sumbu z yang arahnya tegak lurus terhadap sumbu x dan sumbu y.
Gambar  2.13  Sistem Koordinat Kartesian Tiga Dimensi
Dalam sistem koordinat kartesian tiga dimensi dikenal dua buah aturan yaitu sistem koordinat kartesian tiga dimensi  aturan tangan kanan dan sistem koordinat kartesian tiga dimensi aturan tangan kiri yang selanjutnya lebih dikenal dengan sistem koordinat tangan kanan dan sistem koordinat tangan kiri.
Sistem koordinat tangan kanan dapat diilustrasikan dengan tiga buah jari tangan kanan yaitu ibu jari, jari telunjuk dan jari tengah dengan telapak tangan kanan menghadap ke pengamat. Ibu jari dianggap sebagai sumbu x, jari telunjuk sebagai sumbu y, dan jari tengah (yang mengarah ke pengamat) sebagai sumbu z.
Sistem koordinat tangan kiri dapat diilustrasikan dengan tiga buah jari tangan kiri, dengan punggung telapak tangan kiri menghadap pengamat. Dalam hal ini ibu jari sebagai sumbu x, jari telunjuk sebagai sumbu y, dan jari tengah (yang menjauhi pengamat) sebagai sumbu z.
Gambar 2.14
Sistem Koordinat Kartesian Tiga Dimensi Aturan Tangan Kanan


Gambar 2.15
Sistem Koordinat Kartesian Tiga Dimensi Aturan Tangan Kiri

Sistem koordinat tangan kanan lebih banyak digunakan, meskipun dalam grafik tiga dimensi, khususnya untuk penampilan dilayar, sistem koordinat tangan kiri sebenarnya lebih cocok, karena lebih bias itu menunjukan interpretasi secara alamiah

2.7    Matriks
         Matriks adalah susunan sekelompok bilangan dalam bentuk segi empat siku-siku yang diatur menurut baris dan kolom. Istilah-istilah yang sering digunakan matriks adalah :
1.             Baris matriks yaitu susunan bilangan-bilangan yang letaknya mendatar (horizontal) dalam matriks tersebut.
2.             Kolom matriks yaitu susunan bilangan-bilangan yang letaknya tegak (vertikal) dalam matriks tersebut.
3.             Elemen matriks yaitu bilangan-bilangan yang menyusun matriks tersebut dan letaknya didalam tanda kurung.
                       
         Matriks dinyatakan dengan huruf besar, dan elemen-elemen dari matriks dituliskan dalam tanda kurung yang dinyatakan dalam huruf kecil. Banyaknya baris dan kolom suatu matriks menyatakan ukuran matriks tersebut. Ukuran matriks bermacam-macam besarnya, jika suatu matriks terdapat m baris dan n kolom maka ukuran matriks tersebut adalah m x n.

2.8    Ray Tracing
Ray tracing adalah aplikasi untuk ilmu yang mempelajari proses paralel dengan pixel yang banyak, yang menghasilkan kebebasan dan menghitung paralel. Ray tracing merupakan global pencahayaan dengan menggunakan metode render.  Render adalah proses pembangkitan gambar dari deskripsi  objek 3D yang menggunakan OpenGl sebagai interface perangkat lunak. Deskripsinya menggunakan bahasa, stukur data yang tepat, dan dapat berisi geometri, point tampilan, tekstur dan informasi cahaya. Gambar merupakan gambar digital.     
Gambar 2.16
Gambaran Proses Pencahayaan dari Sumber Cahaya ke Objek

2.8.1 Pencahayaan Dan Bayangan
a.      Rendering
         Rendering merupakan salah satu teknik pencitraan objek tiga dimensi untuk mendapatkan image yang realistis dengan penambahan beberapa efek seperti pencahayaan, material, mapping image, dan background. Kebanyakan manusia menggemari sesuatu yang bergerak dan hidup dan bukannya sesuatu yang kaku atau static.
b.      Model Pencahayaan
Model tiga dimensi yang realistik menyangkut dua elemen yang penting yaitu representasi grafik dari objek yang akurat dan pendeskripsian efek cahaya yang baik dalam scene. Model pencahayaan menggambarkan tentang representasi cahaya pada scene. Penghitungan pencahayaan didasarkan pada sifat-sifat optik suatu permukaan, kondisi pencahayaan latar belakang dan spesifikasi sumber cahaya.
Model pencahayaan ini berkaitan erat dengan shading model. Pada model pencahayaan ini di definisikan sifat-sifat yang harus dimiliki oleh sebuah objek tiga dimensi dimana algoritma shading memerlukan data ini untuk proses rendering.
Model yang paling sederhana untuk sebuah pancaran cahaya adalah sebuah titik sumber, sinar-sinar dari sumber kemudian  mengikuti secara radial membedakan alur-alur dari letak sumber.

c.       Cahaya Ambien (Ambient Light)
         Secara sederhana ambient light adalah cahaya yang berada atau tersebar dimana-mana. Cahaya ini tidak terfokus kesuatu arah tertentu, tidak jatuh kepermukaan tertentu dan penyebaran sinarnya merambat kesemua arah. Walau sebenarnya ambient light memiliki sumber, namun sangat sulit untuk mengatur arah rambatan dan penyebaran cahaya ini serta bagaimana interaksinya dengan scene.
Ambient light menyebabkan penyebaran pada latar belakang dan sifat sumber cahaya yang unik karena sumber cahaya itu bisa dianggap tidak ada  dan tidak memiliki arah. Sekumpulan cahaya ambien yang jatuh pada suatu objek bersifat konstan untuk seluruh permukaan dan dari seluruh arah.
Level cahaya ambien dalam gambar dapat ditentukan dengan menggunakan parameter Ia, dan kemudian setiap permukaan disinari dengan nilai tersebut. Hasilnya, cahaya yang dipantulkan bersifat konstan untuk setiap permukaan, tidak tergantung kepada arah pandang dan orientasi dari permukaan.
d.      Pantulan Tersebar (Diffuse Reflection
         Pantulan cahaya ambien adalah rata-rata dari efek global pencahayaan yang tersebar. Pantulan tersebut konstan untuk setiap permukaan di dalam suatu scene, tidak tergantung dari arah pandang. Jumlah cahaya yang jatuh dan dipantulkan secara tersebar, dapat diatur dengan menggunakan parameter kd, untuk setiap permukaan kd disebut koefisien pantulan tersebar.  Parameter kd  diisi nilai konsatanta tertentu yang berkisar antara  0 sampai 1, sesuai dengan tingkat pantulan yang kita inginkan pada suatu permukaan. Jika diinginkan tingkat pantulan yang sangat tinggi, maka nilai kd  harus mendekati 1. Hal ini akan menghasilkan permukaan yang cerah dengan intensitas cahaya yang dipantulkan  hampir sama dengan intensitas cahaya yang datang. Sedangkan untuk mensimulasikan suatu permukaan yang menyerap sebagian besar dari cahaya yang datang, maka nilai kd   harus mendekati 0.
e.       Pantulan Spekular (Specular Reflection)
         Ketika suatu permukaan yang mengkilat disinari cahaya, seperti apel atau logam, akan tampak suatu daerah yang terang pada arah pandang tertentu. Hal ini disebut pantulan spekular yang merupakan pantulan total dari cahaya yang jatuh dalam suatu daerah yang terkonsentrasi disekitar sudut pantulan spekular.

2.8.2   Model Bayangan (Shading Model)
Proses pengaplikasian shading model kedalam scene dinamakan rendering. Rendering mentransformasikan scene menjadi pixel di layar komputer karena pixel merupakan unit terkecil yang dapat menerima sebuah pengalamatan yang ditujukan pada layar.
Banyak sekali jenis algoritma shading yang dapat diterapkan dalam grafika tiga dimensi. Algoritma shading yang paling sederhana adalah constant intensity shading atau flat shading. Sedangkan algoritma shading yang lebih kompleks adalah diffuse shading.
a.      Flat Shading
         Metode yang cepat dan mudah untuk merender permukaan objek adalah constant intensity shading atau flat shading. Dalam metode ini, sebuah intensitas dihitung untuk tiap permukaan. Semua titik pada permukaan ditampilkan dengan nilai intensitas yang sama.
b.      Diffuse Shading
         Karena cahaya ambien hanya menghasilkan suatu bentuk permukaan yang tidak menarik, maka jarang sekali suatu gambar di render dengan hanya menggunakan cahaya ambien saja Paling tidak ada suatu sumber cahaya dalam gambar, yang pada umumnya digunakan juga sebagai titik pandang.
c.       Phong Shading
         Model empiris untuk menghitung daerah pantulan spekular, dikembangkan oleh Phong Bui Thong dan disebut model pantulan spekular Phong (Phong specular-reflection model), atau secara singkat disebut model Phong, mengatur intensitas dari pantulan spekular sebanding dengan cosns θ. sudut θ dapat bernilai 0o sampai 90o derajat, maka cos θ akan bernilai antara 0 sampai 1. Nilai yang diberikan pada parameter pantulan spekular ns, ditentukan oleh jenis permukaan objek yang akan ditampilkan.
Ada dua bagian pencahayaan yaitu :
1.              Objek sendiri yang bersinar.
2.              Bias cahaya, biasanya bekerja saat objek berputar sehingga kandungan cahaya objek dan teksturnya berubah.
Dua hal yang perlu didefinisikan yaitu posisi cahaya, apakah dari atas, bawah, kiri atau kanan atau kombinasinya dan pembiasaan cahaya pada objek yang berpengaruh pada perubahan warna termasuk bayangan.
[IMAGE]
Gambar 2.17
Objek lingkaran yang ditampilkan pada layar
Pencahayaan bisa berupa manipulasi pewarnaan atau bisa berupa teknik pemutihan  jalur cahaya. Pencahayaan tidak terbatas pada origin tetapi bisa juga berasal dari satu sumber atau beberapa sumber yang dikombinasikan. Pencahayaan sangat penting dalam semua animasi untuk lebih akurat menyampaikan visi dari pada objek yang tidak memiliki pencahayaan.
Beberapa komponen pencahayaan adalah :
1.              Emitted ( memancarkan ) : Cahaya berasal dari objek, biasanya cahaya ini kurang memberikan efek bayangan jika terdapat sumber cahaya dari luar objek.
2.              Ambient ( Kesilauan ) : Sinar dari sumber cahaya yang menyebar karena lingkungan.
3.      Diffuse ( Menyebar ) : Sinar datang dari satu sumber cahaya.
4.              Specular : Cahaya yang timbul karena objek tertentu, misalnya  pantulan dari plastik dan bahan metal.
Bui-Tuong Phong mempublikasikan model iluminasi pencahayaan pada tahun 1973 pada sebuah artikel berjudul “ Illuminations For Computer – Generate Image “. Model Phong adalah model pencahayaan secara lokal, artinya hanya refleksi secara langsung yang memberikan nilai. Sinar yang tidak dipantulkan lebih banyak dari pada satu permukaan, sebelum menjangkau mata tidak termasuk pada perhitungan. Pada tahun 1977 Jim Blinn mengeluarkan sebuah artikel berjudul “ Models of Light Reflection for Computer Synthesised Pictures “ sebagai pengembangan dari  model Phong yang berbasis pada persamaan pencahayaan,  dengan mengkalkulasikan pencahayaan specular.

2.9    Pemrograman Delphi
         Delphi merupakan sebuah bahasa pemrograman, karena Delphi adalah bahasa pemrogramna tingkat tinggi (high level) sehingga sangat memudahkan user (pengguna) untuk bermain-main di tingkat ini, apa lagi bagi mereka yang malas berurusan dengan level-level yang rendah . Pemrograman delphi sangatlah mudah kita tinggal click and drag , dan jadilah program aplikasi yang kita inginkan .
File-file pada Delphi :
*.pas   : Merupakan source file, disina akan disimpan kode pascal yang kita tulis
*.dpr   : Merupakan projek file. Sebagai projek file, file ini berguna untuk
  menggabungkan satu atau lebih file – file  source (*.pas).
*.dcu     (delphi compiled unit) : Pada saat kita membuat sebuah aplikasi , Delphi
 akan membuat file ini. File ini berfungsi untuk melinkkan kita dengan file
  lain (*.dcu) sehingga kita bisa membuat beberapa form yang terhubung      
  satu dengan yang lainnya.
*.dfm    (Delphi form) : File ini berisi informasi mengenai data – data form .
*.res      (windows resources)
*.dof       (Delphi project option)        : Kita dapat mengubah icon aplikasi  
                tersebut, dan
    datanya disimpan pada file ini.
*.exe    :   Merupakan application file setelah kita compile program kita.