Ti-2-kelompok-6

  • Uploaded by: Armin
  • 0
  • 0
  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ti-2-kelompok-6 as PDF for free.

More details

  • Words: 930
  • Pages: 25
Shading & Optical View Kelompok 6 : >Reyinhart Dennisen. P. M >Suci Muliani

Normal Vector o Normal vector adalah vector yang arahnya tegak lurus pada luasan (face). o Normal vector dapat diperoleh dari perkalian silang (cross-product) dari dua vector yang berada pada face. N=v1×v2

v2 face

v1

Unit Vector o Unit Vector adalah vector yang besarnya adalah satu satuan dan arahnya tergantung arah vector asalnya. o Besar suatu vector dapat diperoleh dengan o Agar vector v menjadi unit vector maka semua koefisien (vx,vy,vz)

Implementasi Unit Vector

vector3D_t unitVector(vector3D_t vec) { int i; float vec2=0.; float vec1,invvec1; 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.v[3]=1.; return vec; }

Optical Model o Optical model adalah model yang meng-gambarkan bagaimana vectorvector yang berhubungan dengan pencahayaan di-nyatakan.

Illuminant

Normal Vector to the Reflection Vector Plane Eye

N L Light Vector

R V

α

α

View Vector

β P

Direction Vectors  |L| = |N| = |R| = |V| = 1

Macam – macam optical model :  Diffuse Scattering  Specular Reflection  Ambient  Lambert’s Law  Phong Model

Diffuse Scattering o Model optical yang paling sederhana adalah Diffuse Scattering, dimana cahaya dari arah light vector disebarkan ke segala arah pada face secara merata

Illuminant

Light Vector

Normal Vector to the Plane L

Eye

N

α

Diffuse Scatter P

Dimana : Id = Is kd MAX(cosα,0) cosα = L . N Id Is kd

: Intensity of the diffuse component : Intensity of the Light Source : Diffuse reflection coeffisient

Specular Reflection o Model specular reflection adalah model optik yang menyatakan bahwa cahaya yang mengenai face akan dipantulkan secara spherical searahIlluminant vector refleksinya. Normal Vector to the Plane Reflection N VectorR V View L Light α α Vector Vector β P

Eye

Model specular reflection dinyatakan dengan:

dapat

Isp = Is ksp MAX(cosn β,0) cos β = R . V R = 2N(L . N) – L Isp Reflection Is : ksp : n : 200)

:

Intensity

of

the

Specular

Intensity of the Light Source Specular Reflection coeffisient constant from experiment (1-

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 o Ambient adalah keadaan dimana cahaya refleksi mengalami pengurangan tingkat kecerahan. Model ambient ini dapat dinyatakan dengan : Ia = Is ka Ia : Intensity of the Ambient Reflection Is : Intensity og the Light Source ka : Ambient reflection coeffisient

Lambert’s Law o Lambert Law adalah model optik yang menggabungkan diffuse scattering dan peristiwa ambient secara bersama-sama sehingga diperoleh model sebagai berikut : CL = Cs { kd MAX(cosα,0)+ka } cos α = L . N CL Cs

: Reflection Color : Surface Color

Phong Model o Phong model adalah model optik yang lengkap, dimana kejadian diffuse scattering, specular reflection dan peristiwa ambient digabungkan menjadi satu model. Model phong dapat dinyatakan dengan : CL = Cs { kd MAX(cosα,0)+ka } + Cwhite ksp MAX(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; }

Wireframe Model o Wireframe model adalah suatu cara pemodelan obyek 3D yang paling sederhana. Objek yang dimodelkan akan digambar seperti jaring – jaring jala. Wireframe model berisi sekumpulan titik (vertex) dan sekumpulan rusuk (edge) yang menghu-bungkan setiap pasang titik. Misalnya ada titik 1, 2 dan 3. Kemudian rusuk pertama menghubungkan titik 1 dan titik 2 sedangkan rusuk 2 menghubungkan

o Bisa dikatakan bahwa wireframe model menyimpan obyek 3D dalam dua daftar, yaitu daftar vertex dan daftar edge. Daftar vertex menyimpan informasi titik – titik pembentuk permukaan obyek dan daftar edge menyimpan relasi antar titik. Kedua daftar ini disimpan secara terpisah tetapi tetap menjadi satu kesatuan sehingga hanya bisa diakses untuk menggambar suatu

Shading o Efek shading, yaitu efek pewarnaan tingkat kecerahan setiap face yang terdapat pada objek gambar sehingga objek gambar tersebut akan terlihat nyata atau tidak. o Efek shading ini menggunakan optical model sebagai sarana perhitungannya.

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

o Flat shading menggunakan model phong untuk optical view

Implementasi Flat Shading if(NormalVector.v[2]>0.) { NormalVector=unitVector(NormalVector); fillcol=PhongModel(LightVector,NormalVector,ViewVec tor,col); fillPolygon(p,bola.fc[i].NumberofVertices,fillcol); }

• col adalah variabel warna, yang menyatakan warna dasar dari objek

Gouraud Shading o Gouraud shading mempunyai gradasi warna yang memperhitungkan tingkat kecerahan setiap titik pada face tersebut. o Degan teknik shading ini didapatkan warna yang halus gradasinya. o 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 vector normalnya terlebih dahulu. Vector normal setiap titik akan menye-suaikan arahnya berdasarkan matriks trans-formasi yang dikenakan pada titik

Implementasi Gouraud Shading if (0.<normalzi) { for (j=0;j<sphere.fc[i].NumberofVertices;j++) { buff[j]=Vector2Point2D(vecbuff[j]); NormalVector=unitVector(nrmvecbuff[j]); colbuff[j]=PhongModel(LightVector,NormalVector,View Vector,ColCyan); } gradatePolygon(buff,colbuff,sphere.fc[i].NumberofVe rtices); }

Dimana : Jumlah warna pada setiap face sama dengan jumlah titik yang terdapat pada face

More Documents from "Armin"