Rabu, 15 Mei 2013

Tugas Bulan Kedua Pengantar Teknologi Game

Definisi ShadingShading adalah proses untuk menggambarkan tingkat kegelapan di atas kertas dengan menggunakan media yang lebih padat atau dengan warna yang lebih gelap untuk area yang lebih gelap, dan kurang padat atau dengan warna yang lebih ringan untuk area yang lebih terang. Ada berbagai teknik shading, salah satu contohnya adalah cross hatching, di mana garis tegak lurus dari berbagai gambar yang berdekatan dalam pola grid untuk mewakili suatu daerah. Semakin berdekatan suatu garis, maka semakin gelap area yang muncul. Demikian juga, semakin jauh suatu garis, maka semakin terang daerah tersebut muncul.

Ambient, Specular, DiffuseAmbient, lampu semua objek dalam sebuah adegan yang sama, cerah tanpa menambahkan shading. Ambient adalah efek pencahayaan yang telah membaur dengan lingkungan sehingga arah cahaya tidak dapat diketahui, seakan-akan cahaya datang dari segala arah. Efek ini akan mempengaruhi terang atau tidaknya suatu lingkungan yang terlihat oleh mata. Semakin banyak lampu maka ruangan semakin terang, sebaliknya jika lampu sedikit maka ruangan remang-remang.
Intensitas ambient pada suatu obyek dapat dicari dengan persamaan :
I = Ia * Ka
dimana,
I= Intensitas yang dihasilkan
Ia = Intensitas ambient
Ka = Koefisien ambient



Specular
yaitu efek pencahayaan dimana bayangan sumber cahaya terlihat pada permukaan obyek. Efek specular terlihat pada obyek yang mengkilap. Semakin mengkilap permukaan suatu obyek maka makin jelas bayangan sumber cahaya yang terlihat pada permukaan obyek tersebut.

Untuk mencari intensitas specular dapat digunakan persamaan sebagai berikut :
I = Ip * Ks (cos ? ) n

Dari persamaan intensitas specular tersebut cos ? menggunakan dot product antara arah pantulan dengan negasi dari arah sinar.
I = Ip * Ks * ( R • V ) n
dapat dihitung dengan dimana,
I= Intensitas yang dihasilkan
Is = Intensitas specular dari sumber cahaya ‘x’
Ks = Koofisien specular
n = Variabel yang menentukan luas area yang berkilau jika terkena cahaya yang dipancarkan oleh sumber cahaya (bila n semakin besar maka cahaya semakin terfokus atau area yang berkilau menjadi lebih kecil)
R = Arah pantulan, berupa unit vektor
V = Negasi dari arah sinar
Sedangkan vektor R diperoleh dari - S + 2 * ( S • N ) * N
dimana,
S = Vektor dari titik tabrak ke sumber cahaya
N = Vektor normal dari obyek

Diffuse adalah pencahayaan yang tergantung dari besarnya sudut yang dibentuk antara sinar dari lampu ke titik tabrak pada obyek dengan normal obyek. Sehingga posisi lampu sangat mempengaruhi efek diffuse ini. Intensitas diffuse dapat dicari dengan hukum
Lambertian sebagai berikut:
I = Ip * Kd (cos? )
Dari persamaan intensitas diffuse tersebut cos ? dapat dihitung dengan melakukan dot product antara sinar dari lampu ke titik tabrak obyek dengan normal obyek itu, masing-masing merupakan unit vektor. Sehingga didapat persamaan baru
I = Ip * Kd * ( L • N )
dimana,
I= Intensitas yang dihasilkan
Ip = Intensitas diffuse dari sumber cahaya ‘x’
Kd = Koofisien diffuse
N = Vektor normal dari obyek
L = Vektor dari titik tabrak ke sumber cahaya
? = Sudut antara N dan L

Mapping
Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene. Fungsi yang dipetakan mencakup satu dimensi, dua dimensi, dan tiga dimensi dan dapat digambarkan sebagai array atau fungsi matematika atau gambar. Dapat pula didefinisikan suatu teknik untuk menirukan detail permukaan dengan pemetaan gambar (tekstur) menjadi polygons.

  • Bump mapping untuk memperjelas karakteristik permukaan yang bergelombang, ditemukan oleh Jim Blinn dapat juga dapat didefinisikan suatu teknik normal-perturbation yang digunakan untuk menirukan permukaan yang tidak rata atau mengerut.
  • Transparency mapping untuk mengatur intensitas cahaya permukaan tembus pandang
  • Specularity mapping untuk mengubah kehalusan permukaan.
  • Illumination maaping untuk memodelkan distribusi cahaya yang datang dari berbagai arah.

Tugas Bulan Pertama Pengantar Teknologi Game

Scan Conversion
Scan Conversion merupakan metoda untuk memetakan titik ke dalam suatu pixel. Scan Conversion dapat dilakukan terhadap Line (garis), polygon, ataupun garis lengkung (kurva).

Transformations
Transformation adalah suatu metoda untuk mengubah lokasi titik. Operasi-Operasi Primitive pada Transformations terbagi menjadi:
Ø Scale,

Ø Rotate,

Ø Shear,

Ø Flip,

Ø Translate

Proyeksi
Proyeksi merupakan salah satu jenis transformasi, yaitu transformasi koordinat. Proyeksi pada bidang datar (planar) dilakukan melalui sinar proyeksi yang muncul dari titik pusat proyeksi melewati setiap titik dari benda dan memotong bidang proyeksi (projection plane) untuk mendapatkan benda hasil proyeksi. Proyeksi Planar (Planar Geometric Projections) dibedakan menjadi:
1. Proyeksi Paralel.
Berdasarkan hubungan antara arah proyeksi dengan vektor normal dari bidang proyeksi, proyeksi paralel dibedakan menjadi:
a. Orthographic >> Proyeksi orthographic ada yang disebut proyeksi axonometric. Proyeksi Axonometric dibedakan menjadi proyeksi:
· isometric,
· dimetric, dan
· trimetric.
b. Oblique.

2. Proyeksi Perspektif.
Perbedaan antara proyeksi parallel & perspektif adalah: pada proyeksi parallel jarak antara titik pusat proyeksi ke bidang proyeksi tidak terhingga, sementara para proyeksi perspektif jarak antara titik pusat proyeksi ke bidang proyeksi bersifat infinite (tertentu).


Tugas:
1. Sebutkan algoritma untuk menggambar garis!
Jawab : Algoritma Brensenham dan Algoritma DDA

2. Berikan satu (1) algoritma untuk menggambar garis!
Jawab :
Berikut ini merupakan contoh algoritma menggambar garis menggunakan Algoritma Bresenham pada bahasa pemrograman Pascal.

uses crt, graph;

var

driver,mode:integer;

x1,y1,x2,y2:integer;
step,k:integer;

dx,dy:real;

xm,ym,x,y:real;



procedure utama;

begin

clrscr;

driver:=detect;

InitGraph(driver,mode,'');

end;



procedure Input;

begin

writeln('Program Menggambar Garis Dengan Algoritma DDA');

writeln('<<=========================================>>');

writeln;

write('Masukkan Nilai x1: ');

readln(x1);

write('Masukkan Nilai y1: ');

readln(y1);

write('Masukkan Nilai x2: ');

readln(x2);

write('Masukkan Nilai y2: ');

readln(y2);

end;

procedure Garis_DDA;

begin

dx:=x2-x1;

dy:=y2-y1;

x:=x1;

y:=y1;

if abs(dx) > abs(dy) then

step:=round(abs(dx))

else

step:=round(abs(dy));

xm:=dx/step;

ym:=dy/step;

putPixel(round(x),round(y),white);

for k:=1 to step do

begin

x:=x+xm;

y:=y+ym;

putPixel(round(x),round(y),white);

end;

end;


begin

input;

utama;

Garis_DDA;

readln;
end.


3. Yang harus diperhatikan dalam menggambar garis:

Ø Ketebalan garis (thickness) dan

Ø Bentuk tepi garis (ends): Butt, Round, dan Square.

Berikan contoh gambar garis dengan bentuk tepi Butt, Round, dan Square!

Jawab :



4. Penggabungan garis (Joining): Ugly, Bevel, Round, Miter. Berikan contoh gambar penggabungan dua garis dengan tipe Ugly, Bevel, Round, dan Miter.

Jawab :




5. Berikan contoh:

a. Satu gambar objek.

Jawab :





b. Hasil transformasi objek tersebut yang ditransformasikan dengan Scale, Rotate, Shear, Flip, dan Translate

Jawab :
Scale



Rotate



Shear



Flip



Translate





6. Apakah perbedaan antara Linear Transformation dan Non-Linear Transformation?

Jawab :

Linear Transformation (transformasi linier), yaitu pemetaan dari satu ruang vektor ke ruang vektor yang lain yang memenuhi aksioma kelinieran. Transformasi linier banyak dipakai dalam bidang-bidang yang lain, seperti: ekonomi, fisika, keteknikan, dll. Khusus untuk informatika banyak dipakai dalam bidang citra (image). Model linier menunjukkan hubungan antara dua variabel mengikuti garis lurus.

Non-Linear Transformation (bukan transformasi linier), Non linier mengikuti garis yang tidak lurus, misalnya kuadratik (garisnya melengkung ke atas lalu turun ke bawah). Ada banyak model non linier.


7. Berikan contoh Linear Transformation dan Non-Linear Transformation dari Operasi-Operasi Primitive transformation!

Jawab :

a. Linear Transformation (transformasi linier)

Misalkan V dan W ruang vektor. Fungsi (Pemetaan) dari V ke W, F: V�� W, disebut transformasi linier, jika memenuhi dua aksioma, berikut:


F(u + v)=F(u) + F(v), untuk setiap u dan v anggota V.
F(ku)=kF(u), untuk setiap u anggota V dan setiap k scalar
Kedua aksioma di atas dapat disingkat menjadi satu aksioma berikut:

F(ku + lv)=kF(u) + lF(v), untuk setiap u dan v anggota V dan untuk setiap k, dan l skalar.


b. Non-Linear Transformation (bukan transformasi linier)

fungsi F(x, y) = 2 + 3x – y

: u = (2, 3), k = 5, maka F(ku) = F(10, 15) = 2 + 3.10 – 15 = 17

Tetapi kF(u) = 5F(2, 3) = 5(2 + 3.2 – 3) = 25

Jadi, fungsi operasi diatas adalah Non-Linear Transformation (bukan transformasi linier)


8. Apakah perbedaan antara Geometric Transformation dan Color Space Transformation?

Jawab:

Geometric Transformation (Transformasi Geometrik) adalah transformasi berdasarkan perpindahan geometrik suatu titik Transformasi ini terdiri dari translasi, skala dan rotasi.

Color Space Transformation atau Perubahan ruang warna adalah terjemahan dari representasi warna dari satu basis ke basis yang lainnya. Hal ini biasanya terjadi dalam konteks mengubah gambar yang diwakili dalam satu ruang warna untuk ruang warna lainnya, tujuannya adalah untuk membuat gambar terlihat semirip mungkin dengan aslinya


9. Apakah yang dimaksud dengan Koordinat Homogen (Homogeneous Coordiantes)?

Jawab :

Homogeneous Coordiantes (Koordinat Homogen) yaitu sistem koordinat yang mempunyai satu dimensi lebih tinggi dari system koordinat yang ditinjau. Digunakan untuk menyatakan semua proses transformasi dengan perkalian matrix termasuk pergeseran.


10. Berikan penjelasan mengenai Proyeksi Orthographic?

Jawab :

Proyeksi Orthographic diperoleh apabila sinar proyeksi tegak lurus dengan bidang proyeksi. Proyeksi orthographic sering digunakan untuk menghasilkan tampak depan, tampak belakang, tampak samping dan tampak atas dari sebuah benda atau disebut sebagai Multiview orthographic. Tampak atas, tampak belakang dan tampak dari samping sebuah benda sering disebut sebagai elevation. Sedangkan tampak dari atas disebut sebagai plan view.


Transformasi untuk proyeksi multiview orthographic dapat diperoleh dengan rumus:

a. Proyeksi terhadap bidang x-z:qx = px,qy =pz

b. Proyeksi terhadap bidang y-z:qx = px,qy =pz

c. Proyeksi terhadap bidang x-y:qx = px,qy =py

Dimana q(x,y) merupakan titik hasil proyeksi dari p(x,y,z) seperti digambarkan di bawah ini




11. Berikan penjelasan mengenai Proyeksi Perspective?

Jawab :

Dalam penglihatan kita sehari-hari, benda-benda yang letaknya lebih dekat dengan mata terlihat lebih besar dan benda-benda yang terletak lebih jauh dengan mata terlihat lebih kecil. Semakin jauh letak benda dari mata kita, benda itu akan terlihat semakin kecil hingga akhirnya hanya tampak sebagai titik saja. Demikian juga dua benda atau lebih yang letaknya sejajar dan membujur menjauhi kita, semakin jauh dari mata, keduanya akan terlihat semakin berdekatan hingga akhirnya saling berimpit dan akan menjadi satu titik.




Seperti halnya dalam proyeksi Eropa maka dalam gambar perspektif pun diupayakan agar bidang-bidang yang semula saling berpotongan harus dibentangkan menjadi bidang datar. Pembentangan tersebut dapat dilihat seperti pada gambar di bawah ini. Bidang mata dibentangkan ke atas menjadi sejajar dengan bidang tafrir, begitu juga dengan bidang tanah yang dibentangkan ke bawah menjadi sejajar dengan bidang tafrir.




Selanjutnya, untuk kepentingan menggambar perspektif bidang itu menjadi disederhanakan seperti di bawah ini




Gambar Posisi mata, distansi, tinggi tafrir, garis horizon, dan garis tanah.




Gambar Contoh sebuah titik yang diproyeksikan dengan gambar perspektif

12. Berikan contoh gambar dua proyeksi tersebut!

Jawab :

- Proyeksi Ortographic





- Proyeksi Prespective





13. Buatlah tabel perbandingan diantara dua proyeksi tersebut!

Jawab :




Referensi
Materi Scan Conversion

http://rekayulio.blogspot.com/2010/10/tugas-garis.html

http://www.computerhope.com/jargon/l/linecaps.htm

http://www-inst.eecs.berkeley.edu/~cs184/fa06/lectures/line-drawing.pdf


Materi Transformations

http://anny.if.its.ac.id/wp-content/uploads/Grafika08-TM4.pdf

http://blog.ugm.ac.id/2010/06/20/kutipan-konsultasi/

http://www.ittelkom.ac.id/staf/mhd/MateriKuliah/AljabarMatriks/Bab%2010%20Transfomasi%20Linier.pdf

http://kk.mercubuana.ac.id/files/15032-4-666280108331.doc

http://en.wikipedia.org/wiki/Color_space#Conversion

http://iniblogq.blogspot.com/2009/05/laporan-prakgrafika-ke-4.html


Materi Proyeksi

http://sumberilmu.info/2008/08/03/diktat-gambar-mistar/

http://mazgun.wordpress.com/2009/01/20/gambar-proyeksi/

Syafi,i. 2002. Proyeksi-Perspektif 1. Paparan Perkuliahan Mahasiswa.Semarang: UNNES Press.