Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Imam Cholissodin| imam.cholissodin@gmail.com 06 | Viewing / Camera Imam Cholissodin| imam.cholissodin@gmail.com.

Presentasi serupa


Presentasi berjudul: "Imam Cholissodin| imam.cholissodin@gmail.com 06 | Viewing / Camera Imam Cholissodin| imam.cholissodin@gmail.com."— Transcript presentasi:

1 Imam Cholissodin| imam.cholissodin@gmail.com
06 | Viewing / Camera Imam Cholissodin|

2 Viewing / Camera : What’s Viewing / Camera Parallel Projection
Parallel Projection Syntax Perspective Projection Perspective Projection Syntax Activation Function Multiple View Taxonomy Projection Math for Computer Graphics

3 What’s Viewing / Camera
Vertex Modelview Matrix Projection Perspective Division Viewport Transformation Object Coordinates Eye Clip Normalized device Window GL_PROJECTION mode glOrtho() gluOrtho2D() glFrustum() gluPerspective() glViewport()

4 What’s Viewing / Camera
Cara mengatur pandangan objek 2D maupun 3D dan mengontrol pergerakan kamera.

5 Pusat Proyeksi pada titik tak terhingga
Parallel Projection Proyeksi ini belum dapat menghasilkan objek 3D yang nampak riil. Pusat proyeksi pada objek akan bertemu di titik yang tak terhingga. B C D A B’ C’ D’ A’ Pusat Proyeksi pada titik tak terhingga Bidang Proyeksi

6 Parallel Projection Syntax
glOrtho(-15.0, 20.0, -10.0, 15.0, -50.0, 70.0); Mendefinisikan besarnya sistem koordinat 3D : dengan range sumbu x adalah [-15,20], range untuk sumbu y adalah [-10,15], range untuk sumbu z adalah [-50,70] gluOrtho2D(-100,100,-200,200); Mendefinisikan besarnya sistem koordinat 2D : dengan range sumbu x adalah [-100,100] dan range untuk sumbu y adalah [-200,200]

7 Perspective Projection
Untuk menciptakan pandangan perspektif, maka setting kamera perlu diubah dari glOrtho() menjadi gluPerspective(), dan glFrustum(). Proyeksi Perspektif Vs Proyeksi Paralel: Proyeksi Perspektif Proyeksi Paralel

8 Perspective Projection Syntax
glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far ) left, right, top, and bottom define the boundaries of the near clipping plane near and far specify how far from the viewpoint the near and far clipping planes are

9 Perspective Projection Syntax
gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble near, GLdouble far ) fovy is the angle in the field of view (in range from [0.0, 180]) aspect is the aspect ratio of the frustrum (width of window over height of window) near and far are the values between viewpoint and the near/far clipping planes

10 Angle

11 Aspect Ratio

12 Viewing Volume

13

14

15

16 Perspective Projection Syntax
glFrustum and gluperspective does the same thing. Actually gluPerspective probably calls glFrustum. It uses the angle you passed as well as your near clipping plane to calculate the left coodirnates then right = - left bottom = ratio*left; top = -bottom

17 Perspective Projection Syntax
gluLookAt( GLdouble e_x, GLdouble e_y, GLdouble e_z, GLdouble c_x, GLdouble c_y, GLdouble c_z, GLdouble u_x, GLdouble u_y, GLdouble u_z ) e_x, e_y, and e_z specify the desired viewpoint (eye) c_x, c_y, c_z specify some point along the desired line of sight (center) u_x, u_y, and u_z define the up vector of our camera (up) note : gluLookAt (Synthetic Camera)

18

19

20

21 Activation Function gluPerspective() : ………………………
glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(AngleView, Aspek Rasio, Near, Far); ……………………………………….. gluLookAt() : ……………………… glMatrixMode(GL_MODELVIEW); gluLookAt(mata_x, mata_y, mata_z, lihat_x, lihat_y, lihat_z, atas_x, atas_y, atas_z); ………………………………………..

22 Multiple View Satu objek 3D dilihat dengan posisi mata yang berbeda yaitu posisi mata kanan dan mata kiri. Didasarkan pada stereokopik alami dari sistem mata. Masing-masing mata melihat objek dari lokasi yang berbeda. Pilih nilai D terbaik. v lookAt n D D u

23 Ortografik multi pandangan
Taxonomy Projection Proyeksi Planar Paralel Perspektif Oblique Ortografik Satu Titik Dua Titik Tiga Titik Cavalier Kabinet Lain-lain Aksonometrik Ortografik multi pandangan Isometrik Dimetrik Trimetrik

24 Taxonomy Projection Proyeksi Ortografik (Pandangan Aksonometrik)
Isometrik : Semua sumbu x, y dan z diset dengan panjang yang sama. Dimetrik : Dua dari tiga sumbu koordinat diset dengan panjang yang sama. Trimetrik : Semua sumbu x, y dan z diset dengan tidak sama panjang. y y y x x x z z z (a) (b) (c)

25 Taxonomy Projection

26 Taxonomy Projection

27 Taxonomy Projection Proyeksi Oblique (Kombinasi Ortografi)
Proyeksi ini mempertahankan muka objek dan memberikan kesan alami 3D yang lebih baik. 1 3/4 2/3 1/2 1 1 1 1 Cavalier Cabinet

28 Taxonomy Projection

29 Math for Computer Graphics
Vektor Sistem Koordinat Homogen Translasi 2D dan 3D Skala 2D dan 3D Rotasi 2D dan 3D Kombinasi Transformasi (Misal objek 2D : Translasi -> Rotasi -> Skala) Math of Synthetic Camera

30 Vektor Besar Vektor Jika vektor u=(2,2,1), maka |u|= √( )= √9 = 3 Dot Product Contoh : Diketahui dua buah vektor a=[2 3] dan b=[3 -1], carilah sudut antara a dan b ! Jawab : |a|= √22+32= √13=3.6 dan |b|= √32+(-1)2= √10=3.16 a•b = (2x3) + (3x(-1)) = 6 -3 = Jadi Ө = arccos (0.26) = a•b=|a||b|cos Ө a Ө b

31 Vektor Cross Product Contoh : Diketahui dua buah vektor a = [3 3 1] dan b =[2 2 -3]. Carilah vektor yang tegak lurus terhadap a dan b. Jawab : |axb|=|a||b|sin Ө a x b a b

32 Vektor Cross Product Dot Product |axb|=|a||b|sin Ө a x b a b
a•b=|a||b|cos Ө a Ө b

33 Math of Synthetic Camera
Model yang meniru cara kerja kamera. Cara kerja kamera sintetik : Objek pada sistem koordinat dunia (x,y,z) Lensa pada sistem koordinat UVN/kamera sintetik (u,v,n) Film sebagai bidang proyeksi y Cahaya v x z u n Objek Film Lensa Transformasi dari koordinat dunia ke koordinat UVN

34 Math of Synthetic Camera
Sistem koordinat kamera sintetik : Sumbu n sebagai arah pandang kamera, dan ditentukan berdasarkan vektor normal (nx,ny,nz). Sumbu v sebagai arah atas, sumbu u sebagai arah horisontal. (v ∟ n), (u ∟ n) dan (u ∟ v) Titik tengah sumbu u,v,n disebut VRP (Viewing Reference Point), yang ditentukan oleh titik (rx,ry,rz) pada koordinat dunia. u Mata =(eu , ev , en) y v VRP=(rx , ry , rz) n z LooAt=(lax , lay , laz) ry rx x rz

35 Math of Synthetic Camera
Mendapatkan sumbu u, v dan n User menentukan titik tengah view/ eye (VRP), pusat titik pandang objek /center (lookAt) dan vektor atas (UpVector). n adalah vektor dari VRP menuju lookAt. Lalu vektor n dinormalisasi. Contoh : Diketahui VRP di titik r(rx , ry , rz), lookAt di titik la(lax , lay , laz) dan UpVector di titik up(upx,upy,upz). Sehingga, Synthetic Camera di OpenGL : gluLookAt(eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z )

36 Math of Synthetic Camera
Memindahkan titik koordinat dunia P(Px,Py,Pz) ke koordinat kamera sintetik Q(Qu,Qv,Qn). Titik Q dapat diperoleh melalui : t(tx,ty,tz) = P - r Qu = t • u, Qv= t • v dan Qn = t • n note : Qu = (P-r) • u = (P • u)-(r • u) Contoh : Diketahui koordinat UVN dengan u=(-1,0,0), v=(0,0.8,0.6), n=(0,-0.6,0.8) dan r = (2,3,-1). Hitunglah lokasi Q(Qu,Qv,Qn) yang merupakan transformasi dari titik P(4,7,2) di koordinat dunia ! Jawab : t(tx,ty,tz) = P - r = (4-2,7-3,2-(-1)) =(2,4,3) Qu = t • u =(2,4,3) • (-1,0,0) = 2*(-1)+4*(0)+3*(0)=-2 Qv = t • v =(2,4,3) • (0,0.8,0.6) = 2*(0)+4*(0.8)+3*(0.6)=5 Qn = t • n =(2,4,3) • (0,-0.6,0.8) = 2*(0)+4*(-0.6)+3*(0.8)=0 Jadi titik Q terletak di koordinat (-2,5,0) pada sistem koordinat UVN.

37 Math of Synthetic Camera
Matrik transformasi dari koordinat dunia ke UVN : Setelah titik Q diketahui, maka langkah berikutnya adalah melakukan proyeksi perspektif terhadap titik Q, sehingga kita memperoleh titik T(u*,v*). Proyeksi Q ke T dapat diperoleh dengan menggunakan rumus berikut : mata/eye terletak di (0,0,en), dengan syarat en > nz dan en !=0.

38 Math of Synthetic Camera
Contoh : Dengan menggunakan Tabel 1 dan Tabel 2 berikut : (Sebagai informasi tentang vertex dan permukaan objek) Diketahui synthetic camera berada di (2,3,1) dan melihat ke arah (0,0,0). Arah atas didefinisikan melalui up=(0,1,0). Hitung dan gambarkan lokasi vertex-vertex seperti yang dilihat oleh synthetic camera apabila en=6. Jawab : Mencari sistem koordinat UVN Tabel 1 Tabel 2 Vertex X Y Z 0.0 -1.0 1 1.0 2 3 4 0.5 Surface Index 1 4 2 3

39 Math of Synthetic Camera
Jawab : Mencari sistem koordinat UVN : Transformasi vertex ke sistem UVN :

40 Vektor Cross Product Dot Product |axb|=|a||b|sin Ө a x b a b
a•b=|a||b|cos Ө a Ө b

41 Math of Synthetic Camera
Vertex X Y Z 0.0 -1.0 1 1.0 2 3 4 0.5 Jawab : Mencari sistem koordinat UVN : Transformasi vertex ke sistem UVN : (-2*(-0.46))+((-4)*(0.01))+(-1*(0.88)) Vertex tX=p-r tY=p-r tZ=p-r 0-2=-2 -1-3=-4 0-1=-1 1 -1 -4 2 3 -2 4 -1.5 -2.5 -0.5 Qu=t•u Qv=t•v Qn=t•n -0.62 4.53 -0.46 -1.32 4 0.42 -1.7 3.73 0.88 -1 4.26 0.23 -0.26 2.93

42 Math of Synthetic Camera
Jawab : Mencari sistem koordinat UVN : Transformasi perspektif titik Q dengan mata/eye terletak di (0,0,en=6) : 0/(1-(4.53/6))=0/0.25=0 Qu=t•u Qv=t•v Qn=t•n -0.62 4.53 -0.46 -1.32 4 0.42 -1.7 3.73 0.88 -1 4.26 0.23 -0.26 2.93 Vertex u* v* -2.53 1 -1.38 -3.96 2 1.11 -4.49 3 3.03 -3.45 4 0.45 -0.51

43 Math of Synthetic Camera
Jawab : Gambar synthetic camera dari vertex hasil transformasi perspektif (u*,v*) : v* Vertex u* v* -2.53 1 -1.38 -3.96 2 1.11 -4.49 3 3.03 -3.45 4 0.45 -0.51 u* By : Imam Cholissodin

44 Jika diketahui synthetic camera berada di r = (2,3,1)
Vertex (P) X Y Z 0.0 -1.0 1 1.0 2 Jika diketahui synthetic camera berada di r = (2,3,1) dan fokus view di arahkan ke titik la = (0,0,0). Kemudian arah atas camera didefinisikan melalui vektor up = (0,1,0). Hitung u* dan v* dan gambarkan lokasi vertex-vertex seperti yang dilihat oleh synthetic camera pada koordinat (u*,v*) apabila en = 6 !

45 Imam Cholissodin| imam.cholissodin@gmail.com
Selesai Imam Cholissodin|


Download ppt "Imam Cholissodin| imam.cholissodin@gmail.com 06 | Viewing / Camera Imam Cholissodin| imam.cholissodin@gmail.com."

Presentasi serupa


Iklan oleh Google