You are on page 1of 19

2

009

GRAFIKA
KOMPUTER
SHADING & OPTICAL VIEW

Disusun Oleh :
Mikhail Layadi : 52006033
Arnold Boksman : 52007004
Febryssa R Yonathan : 52007019
Hendry : 52007025
Iwan Kurniawan B : 52007032

STMIK KHARISMA MAKASSAR


Kata Pengantar
Pertama-tama kami ingin mengucapkan terima kasih kepada Tuhan Yang
Maha Esa, karena hanya dengan bimbingannya maka kami dapat segera
menyeleisaikan makalah ini dengan judul : “Shading dan Optical View”.

Tugas ini merupakan tugas wajib untuk diselesaikan, demi kelancaran


pembelajaran tentang grafika komputer. Grafika komputer pada dasarnya adalah
suatu ilmu bidang komputer yang mempelajari cara-cara meningkatkan dan
memudahkan komunikasi antara manusia dengan mesin (komputer) dengan
membangkitkan, menyimpan, dan memanipulasi gambar model suatu objek
menggunakan komputer. Grafika komputer memungkinkan kita untuk
berkomunikasi lewat gambar-gambar, bagan-bagan dan diagram-diagram.
Adapun tujuan akhir dari tugas ini adalah agar pembaca dapat mempelajari cara
dalam memberikan pewarnaan yang baik pada sebuah objek.

Kami menyadari masih banyak kekurangan pada makalah ini, maka dari
itu kami meminta bantuan dari pembaca sekalian untuk bisa mengkritik makalah
untuk pengembangan yang lebih baik lagi. Akhirnya, kami mengucapkan terima
kasih pada semua pihak yang telah membantu kami menyeleisaikan makalah ini.

Makassar, April 2009

KELOMPOK VI

ii
Daftar Isi
Kata Pengantar ............................................................................... .... i

Daftar Isi ............................................................................. ................. ii

Bab I. Pendahuluan ........................................................... .................. 1

Bab II. Pembahasan

Normal Vektor.................................................................. ...... 3


Unit Vektor................................................................... .......... 3
Optical Model........................................................................ . 4
Diffuse scattering....................................................... ............ 5
Specular Reflection................................. .............................. 5
Ambient.......................................................... ....................... 6
Lamberts’s Law....................................... .............................. 7
Phong Model............................................... .......................... 7
Shading.......................................................... ....................... 8
Flat Shading................................................ .......................... 9
Gouraud Shading..................................... ............................. 10

Bab III. Kesimpulan................................................ .............................. 12

Daftar Pustaka............................................................................. ......... 13

iii
Bab I. Pendahuluan
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.

Grafika komputer dikembangkan melalui suatu sistem operasi yang


berbasis GUI (Graphical User Interface). Graphical User Interface (GUI), dalam
hubungannya dengan sains komputer, adalah suatu antarmuka berbentuk
tampilan yang memungkinkan seorang user untuk memilih perintah, menjalankan
program, melihat serangkaian file dan memilih opsi lain dengan menunjukkan
representasi gambar (icon) ataupun melalui sejumlah menu pada layar komputer.

Beberapa kemajuan utama dalam computer grafik 3D:

 Flat shading : suatu teknik shades masing-masing polygon dari suatu objek
berdasarkan pada polygon “normal” dan posisi serta intensitas sumber
cahaya.
 Gouraud shading : ditemukan oleh Henri Gouraud pada tahun 1971 dengan
teknik resource-conscious yang digunakan untuk menirukan shade dengan
permukaan lembut dan penyisipan warna puncak antarpermukaan polygon.
 Texture mapping : suatu teknik untuk menirukan detail permukaan dengan
pemetaan gambar (tekstur) menjadi polygons.
 Phong shading : ditemukan oleh Bui Tuong Phong; suatu teknik shading
yang lembut yang mendekati pencahayaan curved-surface dengan
penyisipan puncak normal dari polygon antarpermukaan; model
pencahayaan meliputi glossy reflection dengan suatu tingkatan permukaan
yang halus.
 Bump mapping : ditemukan oleh Jim Blinn, suatu teknik normal-perturbation
yang digunakan untuk menirukan permukaan yang tidak rata atau mengerut.
 Ray Tracing : suatu metode berdasarkan pada prinsip fisik dari ilmu optic
geometris yang bisa menirukan pantulan berulang dan transparan.
 Radiosity : suatu teknik untuk global illumination yang menggunakan teori
perpindahan radiatif untuk menirukan iluminasi secara tidak langsung (yang
dicerminkan).
Sampai saat ini, kita hanya membahas grafik dua dimensi (grafik 2D). Pada
kenyataannya, objek yang ingin ditampilkan pada layar tampilan harus bisa
menunjukkan keadaaan objek sebenarnya. Dengan kata lain, kita harus
berurusan dengan grafik tiga dimensi (grafik 3D). sebagai contoh, system
perancangan terbantu computer (Computer Aided Design = CAD) memungkinkan
pemakai untuk memanipulasi model komponen-komponen mesinm badan mesin,
pesawat terbang, dan lain-lain, yang secara keseluruhan harus dinyatakan
seperti apa yang akan terbentuk. Terapan-terapan grafik 3D berbeda dengan
terapan-terapan grafik 2D, tidak hanya karena penambahan dimensi dari dua
menjadi tiga, tetapi yang lebih utama adalah cara menampilkan suatu realita
(realism) dari objek yang sebenarnya ke layar tampilan. Dalam program simulasi,
misalnya, semakin tinggi derajat realita yang bisa disajikan, program simulasi
tersebut menjadi lebih menarik.

Penampilan citra yang realities dari objek 3D pada layar tampilan 2D


menimbulkan beberapa persoalan yang harus ditangani. Beberapa persoalan
yang segera terlihat, antara lain adalah bagaimana kedalaman dan cara
memberikan warna pada objek agar kelihatan lebih menarik. Beberapa teknik
telah dikembangkan untuk menjawab pertanyaan-pertanyaan di atas, dan
beberapa di antaranya akan dijelaskan di bagian berikut.
Bab II. Pembahasan
Normal Vektor
Normal vektor merupakan vektor yang arahnya tegak lurus pada luasan
(face). Normal vektor dapat diperoleh dari perkalian silang (cross-product) dari
dua vektor yang berada pada face. Besar dan arah dari normal vektor tergantung
pada hasil perkalian silangnya.

Unit Vektor
Unit vector adalah vector yg besarnya satu satuan dan arahnya
tergantung arah vector asalnya. Besar suatu vector dapat diperoleh dengan:

Agar vector v menjadi unit vector maka semua koefisien (vx,vy,vz) dibagi
dengan |v|.

Implementasi unit vector:

vector3D_t unitVector (vector3D_t vec) {


int i; float vec2=0.; float vecl,invvecl;
for (i=0;i<3;i++)
vec2+vec.v[i]*vec.v[i];
vec1=sqrt (vec2);
if (vec1 !=0.) {
invvec1=1./vec1;
for (i=0;i<3;i++) vec.v[i]*=invvec1;
}
vec.v3=1.;
return vec;
}
Optical Model
Optical model adalah model yang menggambarkan bagaimana vektor-
vektor yang berhubungan denga pencahayaan dinyatakan. Dalam optical model
ini terdapat empat macam vector, yaitu:

1) Vector cahaya (light vector), yaitu vector yang menyatakan arah cahaya
yang datang

2) Vector normal pada face

3) Vector pantulan (reflection vector), yaitu vector yang menyatakan arah


pantulan cahaya setelah cahaya mengenai face.

4) Vector pandangan (view vector), yaitu vector yang menyatakan arah


pandangan mata.

Dimana:

Direction Vectors

Macam-macam optical model:

1) Diffuse scattering
2) Specular reflection

3) Ambient

4) Lambert’s law

5) Phong model

Diffuse Scattering
Difufuse scattering ini adalah suatu model optical yang paling sederhana
dimana cahaya dari arah light vector disebarkan ke segala arah pada face
secara merata.

Dimana :

Id = ISKd MAX (COSα,0)

Cos α = L·N

Id : Intensity of the diffuse component

Is : Intensity of the light source

Kd: diffuse reflection coefficient

Specular Reflection
Model specular reflection adalah model optic yang menyatakan bahwa
cahaya yang mengenai face akan dipantulkan secara spherical searah vector
refleksinya.
Model specular reflection dapat dinyatakan dengan:

Isp = iskspMAX(cosnβ,0)

Cosβ = R.V

R = 2N(L·N)- L

Isp : Intensity of the Specular reflection

Is : Intensity of the light source

Ksp: specular reflection coefficient

n:constant from experiment (1-200)

R = 2N(L·N) – L

L·N = R·N, R = aL+ bN

L·N = (aL+ Bn)· N

b = (1 –a ) L·N

R = aL+ { ( 1-a ) L·N} N

R2 = 1, (L2 + 1, N2 = 1)

then

A = ±1 a = -1
Ambient
Ambient adalah keadaan dimana cahaya refleksi mengalami
pengurangan tingkat kecerahan. Model ambient ini dapat dinyatakan dengan :

Ia = Iska

Ia = Intensity of the Ambient Reflection

Is = Intensity of the Light Source

Ksp = Ambient Reflection Coefficient

Lambert Law
Lambert Law adalah model optic yang menggabungkan diffuse scattering
dan ambient peristiwa secara bersama-sama sehingga diperoleh model seperti
berikut :

Cl = Cs {kd MAX(cos α ,0) + ka}

cos α = L.N

Cl = Reflection Color

Cs = Surface Color

Phong Model
Phong model adalah model optic yang lengkap , dimana kejadian diffuse
scattering,specular reflection dan peristiwa ambient digabungkan menjadi satu
model. Phong Model ini merupakan model standar yang digunakan untuk
menyatakan optical view pada grafika komputer.

Model Phong dinyatakan dengan :

Cl = Cs{kd MAX(cos α ,0) + ka} + CwhitekspMAX(cosn β ,0)

Cos α = L.N

Cos β = R.V
R = 2N(L.N) – L

Cl = Reflection Color

Cs = Surface Color

Cwhite = Specular Color (white)

Implementasi Phong Model

color_t PhongModel(vector3D_t) Light,vector3D_t Normal


vector3D_t view,color_t col) {
Float kspe = 0.7; //Specular Reflection Coefficient
Float kdif = 0.6; //Diffuse Reflection Coefficient
Float kamb = 0.4 //Ambient Light Coefficient
Float tmp,NL,RV;
Color_t colwhite = {1,1,1);
Vector3D_t ReflectionVector = (2.*(light*normal)*normal)-light;
tmp = normal*light
NL = funcPositive(tmp);
Tmp = ReflectionVector*view;
RV = funcPositive(tmp);
Return
Kdif*NL*col + kspe*power(RV,4)*colwhite + kamb*col;
}

Pada implementasi phong model ini terlihat bahwa koefisien dari masing-
masing keadaan, yaitu koefisien diffuse scattering, koefisien specular reflection
dan koefisien ambient dinyatakan sebagai konstanta. Nilainya antara 0 sampai
dengan 1, dan dapat diatur sesuai dengan histogram level cahaya yang
diinginkan. Nilai-nilai ini sangat besar pengaruhnya pada hasil pencahayaan.

Hasil dari optical view ini berupa satu warna atau satu tingkat kecerahan.
Pada implementasi Phong Model diatas, efek warna paling terang adalah putih
(1,1,1) sehingga bila vektor pandangan mata dan vektor refleksi jatuh pada pada
vektor normal maka warna yang ditampilkan adalah putih.
Shading
Dalam usaha mewarnai objek 3 dimensi dikenal 2 cara pewarnaan utama
yaitu global illumination dan local illumination. Di dalam 2 cara tersebut terbagi
lagi menjadi beberapa teknik pewarnaan.

Global illumination merupakan cara pewarnaan objek 3 dimensi yang


dipengaruhi oleh pantulan dari sinar yang dipancarkan sumber cahaya dalam
jumlah yang tidak terbatas yang mengenai benda sehingga benda tersebut dapat
terlihat oleh mata. Global illumination dibagi menjadi 2 yaitu:

• Ray tracing

Ray tracing merupakan cara pewarnaan dengan mengikutiarah sinar


cahaya dari sumber cahaya sampai dengan mengenai suatu objek,
dimana sinar cahaya tersebut akan berubah arah ketika mengenai objek
yang transparan ataupun objek yang memancarkan cahaya.

• Radiosity

Radiosity merupakan cara pewarnaan untuk mengatasi indirect


illumination sehingga bagian tersebut biasanya terlihat hitam.

Local illumination/shading merupakan suatu cara menampilkan objek


dengan cara mengatur warna pixel pada objek yang telah ditentukan dengan
memperhitungkan efek-efek dari cahaya. Dengan adanya shading, objek dapat
telihat lebih nyata daripada hanya ditampilkan dengan warna polos ataupun
berupa kerangka saja/wireframe.

Berdasarkan cara pewarnaanya, shading terbagi menjadi 2 macam, yaitu:

1. Flat shading

2. Gouraud shading
Flat Shading
Flat shading adalah salah satu teknik shading dimana satu face
mempunyai warna yang sama, seperti terlihat pada gambar berikut :

Implementasi FLAT SHADING

If (normalVector.v[2]>0.) {
normalVector = unitVector(normalVector);
fillcol = PhongModel(lightVector,normalVector,viewVector,col);
fillPolygon(p,bola.fc[i].numberofVertices,fillcol);
}

Col adalah variable warna yang menyatakan warna dasar dari objek

Fillcol adalah warna hasil shading.

Gouraud Shading
Satu face gradiasi warna yang memperhitungkan tingkat kecerahan
setiap titik pada face tersebut. Dengan shading ini dihasilkan warna yang halus
gradiasinya. Shading ini memerlukan vector normal pada setiap titiknya dan
menggunakan fungsi gradatePolygon untuk menyatakan Gouraud Shading

Implementasi Gouraud Shading

For (i=0;i<sphere.numberofVertices;i++)
{
Vec[i] = point2Vector(sphere.pnt[i]);
Vec[i] = mat*vec[i];
Nrmvec[i] = mat*sphere.normalVector[i]-ZeroVector;
}
Teknik penggambaran objek 3D menggunakan Gouraud Shading adalah sebagai
berikut :

 Setiap titik yang terdapat pada objek harus didefinisikan vektor normalnya
terlebih dahulu
 Vektor normal setiap titik akan menyesuaikan arahnya berdasarkan
matriks transformasi yang dikenakan pada titik.

Implementasi Gouraud Shading

If (0.<normalzi) {
For (j=0;j<sphere.fc[i].numberof Vertices;j++) {
Buff[j] = vector2point2D(vecbuff[j]);
normalVector = unitVector(nrmvecbuff[j]);
colbuff[j] = PhongModel(lightVector,normalVector,viewVector,colCyan);
}
gradatePolygon(buff,sphere.fc[i].numberofVertices);
}

Dimana :

Jumlah warna pada setiap face sama dengan jumlah titik yang terdapat pada
face tersebut.

Wireframe
Bingkai Kawat (WireFrame) adalah model presentasi visual dari tiga
dimensi fisik atau objek yang digunakan dalam komputer grafis 3D. Hal ini dibuat
dengan menentukan setiap tepi dari objek fisik di mana dua matematis terus
memenuhi permukaan halus, atau menghubungkan obyek dari unsur vektor
menggunakan garis-garis lurus atau Curves.. Objek yang diproyeksikan ke atas
layar komputer oleh menggambar garis di lokasi masing-masing ujung.
Menggunakan bingkai kawat model memungkinkan visualisasi dari desain
yang struktur dari model 3D.Tradisional 2-dimensi pandangan dan gambar dapat
dibuat oleh sesuai rotasi dari objek dan pilihan tersembunyi baris removal melalui
pemotongan pesawat.

Sejak wireframe renderings relatif mudah dan cepat untuk menghitung,


mereka sering digunakan dalam kasus di mana tinggi layar Fram rate diperlukan
(misalnya, ketika bekerja dengan khususnya kompleks model 3D, atau dalam
waktu-nyata sistem yang model eksterior fenomena).Bila lebih detail grafis yang
diinginkan, permukaan textures dapat ditambahkan secara otomatis setelah
selesai awal rendering dari wireframe. Hal ini memungkinkan para desainer
untuk segera meninjau perubahan atau memutar objek baru untuk dilihat
dikehendaki tanpa penundaan lama yang terkait dengan lebih realistis rendering.

Bingkai kawat di format juga cocok dan banyak digunakan dalam


pemrograman alat jalur untuk DNC (Direct Numerical Control) mesin alat.

Wire Frame Menggunakan Tersembunyi Baris Removal

Rendering dari Wire Frame Kubus, Icosahedron, dan Perkiraan Sphere


Contoh Implementasi Wire-Frame

Model wireframe wajah

Model wireframe wajah yang didapat dari Candide [3] terdiri dari 113 titik
tetapi hanya digunakan 18 titik saja yang ada di daerah alis (6 titik), mata (4 titik),
hidung (4 titik), dan mulut (4 titik). Pengurangan jumlah litik ini dimaksudkan
untuk mempermudah pelacakan karena wireframe yang asli terlalu kompleks
sehingga jarak antar titik sangat kecil bahkan jika dilihat secara 2 dimensi ada
titik yang bertumpuk. Ke-18 titik ini dianggap dapat mewakili pergerakan wajah
secara keseluruhan dan merupakan fitur dalam pelacakan. Sedangkan wire
frame yang asli 113 titik digunakan untuk menampilkan animasi dari estimasi
pose hasil pelacakan pergerakan wajah.

Pertama kali titik-titik dari wire frame wajah ini dimasukkan ke dalam
variabel melaui void CCamCapDlg: : I n i t (). Prosedur ini melakukan semua
inisialisasi yaitu: memasukkan titik wire frame ke variabel m_3Dpoints beserta
link-nya, 18 titik fitur dimasukkan ke varibel m 3Dimp, nilai focal length untuk
proyeksi, dan inisial matrik transformasi
Bab III. Kesimpulan
Dari pembahasan tersebut, dapat di tarik kesimpulan :

o Normal vektor merupakan vector yang arahnya tegak lurus pada luasan
(face). Normal vektor dapat diperoleh dari perkalian silang (cross-product)
dari dua vector yang berada pada face.
o Unit vector adalah vector yg besarnya satu satuan dan arahnya tergantung
arah vector asalnya.
o Optical model adalah model yang menggambarkan bagaimana vektor-vektor
yang berhubungan dengan pencahayaan dinyatakan.
o Diffuse scattering adalah suatu model optical yang paling sederhana dimana
cahaya dari arah light vector disebarkan ke segala arah pada face secara
merata.
o Specular reflection adalah model optic yang menyatakan bahwa cahaya yang
mengenai face akan dipantulkan secara spherical searah vector refleksinya.
o Ambient adalah keadaan dimana cahaya refleksi mengalami pengurangan
tingkat kecerahan.
o Lambert Law adalah model optic yang menggabungkan diffuse scattering dan
peristiwa secara bersama-sama.
o Phong model adalah model optic yang lengkap, dimana kejadian diffuse
scattering, specular reflection dan peristiwa ambient digabungkan menjadi
satu model.
o Dalam usaha mewarnai objek 3 dimensi dikenal 2 cara pewarnaan utama
yaitu global illumination dan local illumination .
o Flat shading merupakan cara pewarnaan yang paling mudah dari objek 3
dimensi karena flat shading hanya mempehitungkan posisi cahaya untuk
menentukan warna objek, dalam satu polygon hanya ada 1 warna saja.
o Gouraud shading ini memerlukan vektor normal pada setiap titiknya dan
menggunakan fungsi gradatePolygon
o WireFrame adalah model presentasi visual dari tiga dimensi fisik atau objek
yang digunakan dalam komputer grafis 3D.
Daftar Pustaka
Irawan. P. B, Dipl Informatika. 2003. Grafika Komputer dengan C. Yogyakarta:
Penerbit Andi

http://old.masputih.com/papervision3d-primitives-wireframe-materials. 06 April
2009. Papervision3D: Primitives and Wireframe

http://digilib.petra.ac.id 06 April 2009.

You might also like