06 | Viewing / Camera

51
06 | Viewing / Camera Imam Cholissodin| [email protected]

description

06 | Viewing / Camera. Imam Cholissodin| [email protected]. Viewing / Camera :. What’s Viewing / Camera Parallel Projection Parallel Projection Syntax Perspective Projection Perspective Projection Syntax Activation Function Multiple View Taxonomy Projection - PowerPoint PPT Presentation

Transcript of 06 | Viewing / Camera

Page 1: 06 | Viewing / Camera

06 | Viewing / Camera Imam Cholissodin| [email protected]

Page 2: 06 | Viewing / Camera

Viewing / Camera :

1. What’s Viewing / Camera 2. Parallel Projection3. Parallel Projection Syntax4. Perspective Projection5. Perspective Projection Syntax6. Activation Function7. Multiple View8. Taxonomy Projection 9. Math for Computer Graphics10. Demos Program

Page 3: 06 | Viewing / Camera

What’s Viewing / Camera

• Cara mengatur pandangan objek 2D maupun 3D dan mengontrol pergerakan kamera.

Page 4: 06 | Viewing / Camera

Parallel Projection

• Proyeksi ini belum dapat menghasilkan objek 3D yang nampak riil.

• Pusat proyeksi pada objek akan bertemu di titik yang tak terhingga.

Pusat Proyeksi pada titik tak terhingga Bidang Proyeksi

B

C

D

A

B’

C’

D’A’

Page 5: 06 | Viewing / Camera

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]

Page 6: 06 | Viewing / Camera

Perspective Projection

• Untuk menciptakan pandangan perspektif, maka setting kamera perlu diubah dari glOrtho() menjadi gluPerspective(), gluLookAt() dan glFrustum().

• Proyeksi Perspektif Vs Proyeksi Paralel:

Proyeksi Perspektif Proyeksi Paralel

Page 7: 06 | Viewing / Camera

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

Page 8: 06 | Viewing / Camera

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

Page 9: 06 | Viewing / Camera

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)

Page 10: 06 | Viewing / Camera

Activation Function

• gluPerspective() : ………………………

glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(AngleView, Aspek Rasio, Near, Far);

………………………………………..• gluLookAt() :

………………………glMatrixMode(GL_MODELVIEW);glLoadIdentity();

gluLookAt(mata_x, mata_y, mata_z, lihat_x, lihat_y, lihat_z, atas_x, atas_y, atas_z);

………………………………………..

Page 11: 06 | Viewing / Camera

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.

D

D

lookAt

v

u

n

Page 12: 06 | Viewing / Camera

Taxonomy ProjectionProyeksi Planar

Paralel Perspektif

Oblique Ortografik Tiga TitikSatu Titik Dua Titik

Lain-lainCavalier Kabinet Ortografik multi pandanganAksonometrik

TrimetrikIsometrik Dimetrik

Page 13: 06 | Viewing / Camera

Taxonomy Projection

• Proyeksi Ortografik (Pandangan Aksonometrik)a) Isometrik : Semua sumbu x, y dan z diset dengan panjang

yang sama.b) Dimetrik : Dua dari tiga sumbu koordinat diset dengan

panjang yang sama.c) Trimetrik : Semua sumbu x, y dan z diset dengan tidak

sama panjang.

(a) (b) (c)z

x

y

z

x

y

z

x

y

Page 14: 06 | Viewing / Camera

Taxonomy Projection

• Proyeksi Oblique (Kombinasi Ortografi)– Proyeksi ini mempertahankan muka objek dan

memberikan kesan alami 3D yang lebih baik.

11

13/4

12/3

11/2

Cavalier Cabinet

Page 15: 06 | Viewing / Camera

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

Page 16: 06 | Viewing / Camera

Vektor

• Titik 2D -> Vektor 3D -> Matrik 3D -> Vektor 3D(Px,Py) -> [Px Py 1] -> Matrik 3D -> [Qx Qy 1]

• Titik 3D -> Vektor 4D -> Matrik 4D -> Vektor 4D(Px,Py,Pz)->[Px Py Pz 1] -> Matrik 4D -> [Qx Qy Qz 1]

1100

10

01

1

Py

Px

dPy

dPx

Qy

Qx

11000

100

010

001

1

Pz

Py

Px

dPz

dPy

dPx

Qz

Qy

Qx

Page 17: 06 | Viewing / Camera

Vektor

• Vektor adalah kumpulan nilai yang memiliki besaran dan arah.

• Operasi vektor : +, -Contoh : u + v , v - u

• Kombinasi vektor : – Kombinasi Linier (a1u + a2v)– Kombinasi Affine

Jumlah semua komponennya 1. (a1+a2+…+an=1)– Kombinasi Konvek

Jumlah semua komponen 1, tetapi semua nilai koefisiennya adalah 0 ≤ ai ≤ 1. (a1+a2+…+an=1)

Page 18: 06 | Viewing / Camera

Vektor• Besar Vektor

Jika vektor u=(2,2,1), maka |u|= √(22+22+12)= √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.16Unit Vektor :

Ua = a/|a| = [2 3]/3.6 = [0.55 0.16]Ub = b/|b| = [3 -1]/3.16 = [0.95 0.32]

cos Ө = Ua.Ub = (0.55x0.95) + (0.16x0.32) = 0.52 + 0.05 = 0.57 Jadi Ө = arccos (0.57) = 55.280

Ө

a

b

a•b=|a||b|cos Ө

normalisasi vektor, |Ua|=|Ub|=1

Page 19: 06 | Viewing / Camera

• 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 :

Vektor

a

b

|axb|=|a||b|sin Өa x b

0

11

11

66

92

29

)3*2()2*3(

))3(*3()1*2(

)1*2())3(*3(

322

133 b x a

kji

bbb

aaa

kji

zyx

zyx

)()(

)()(

)()(

b x a

yxyx

zxzx

zyzy

zyx

zyx

abba

baab

abba

bbb

aaa

kji

Page 20: 06 | Viewing / Camera

Sistem Koordinat Homogen

• Sistem koordinat yang memiliki satu dimensi lebih tinggi dari sistem koordinat yang ditinjau.

• Untuk menyatakan semua proses transformasi dengan konsep perkalian matrik, termasuk proses translasi, skala, rotasi maupun shear.

• Contoh :

1100

10

01

1

Py

Px

dPy

dPx

Qy

Qx

Translasi 2D -> 3D

11000

100

010

001

1

Pz

Py

Px

dPz

dPy

dPx

Qz

Qy

Qx

Translasi 3D -> 4D

Koordinat Asal Koordinat Homogen

Page 21: 06 | Viewing / Camera

Translasi 2D

• Tentukan matrik translasi M untuk memindakan titik P(4,6) ke Q=(10,3) !Jawab : dPx = 10-4 = 6 dan dPy = 3-6 = -3

Jadi matrik translasi M adalah

1

6

4

100

310

601

1

3

10

,

1100

10

01

1

sehinggaPy

Px

dPy

dPx

Qy

Qx

100

310

601

Page 22: 06 | Viewing / Camera

Translasi 3D

• Tentukan matrik translasi M untuk memindahkan titik P=(4,6,2) ke Q=(10,3,5) !Jawab :dPx = 10-4 = 6, dPy = 3-6 = -3, dPz = 5-2 = 3

Jadi matrik translasi M adalah

1

2

6

4

1000

3100

3010

6001

1

5

3

10

,

11000

100

010

001

1

sehinggaPz

Py

Px

dPz

dPy

dPx

Qz

Qy

Qx

1000

3100

3010

6001

Page 23: 06 | Viewing / Camera

Skala 2D

• Tentukan matrik skala untuk menskala titik P=(6,2) ke Q=(3,4).Jawab :sPx = 3/6 = 1/2 dan sPy = 4/2 = 2

Jadi matrik skala adalah

1

2

6

100

020

002/1

1

4

3

,

1100

00

00

1

sehinggaPy

Px

sPy

sPx

Qy

Qx

100

020

002/1

100

00

00

sPy

sPx

Page 24: 06 | Viewing / Camera

Skala 3D

• Tentukan matrik skala untuk menskala titik P=(6,2,9) ke Q=(3,4,3)Jawab :sPx = 3/6 = 1/2, sPy = 4/2 = 2, sPz = 3/9 = 1/3

Jadi matrik skala adalah

1

9

2

6

1000

03/100

0020

0002/1

1

3

4

3

,

11000

000

000

000

1

sehinggaPz

Py

Px

sPz

sPy

sPx

Qz

Qy

Qx

1000

03/100

0020

0002/1

1000

000

000

000

sPz

sPy

sPx

Page 25: 06 | Viewing / Camera

Rotasi 2D

• Rotasi titik P ke titik Q

P(x,y)=(R cos Ө1, R sin Ө1) dan Q(x,y)=(R cos (Ө1 + Ө2 ) , R sin (Ө1 + Ө2 ) ) =(Px cos (Ө2)- Py sin (Ө2) , Px sin (Ө2) + Py cos (Ө2) )

P

Q

R

Ry = R sin Ө1

x = R cos Ө1

Ө1

Ө2

x

y

1100

0cossin

0sincos

122

22

Py

Px

Qy

Qx

1

sin

cos

100

0cossin

0sincos

1

1

22

22

R

R

cos (Ө1 + Ө2 ) = cos(Ө1) cos (Ө2) - sin (Ө1) sin (Ө2)sin (Ө1 + Ө2 ) = sin(Ө1) cos (Ө2) + cos(Ө1) sin (Ө2)

Page 26: 06 | Viewing / Camera

Rotasi 2D

• Rotasikan titik P=(3,2) dengan sudut rotasi 30 derajat. cos (30) = 0.86, cos (30) Jawab :

Q(x,y)=(3 cos (30) - 2 sin (30) , 3 sin (30) + 2 cos (30) ) =(3(0.86)-2(0.5) , 3(0.5)+2(0.86)) =((2.58 - 1) , (1.5+1.72)) =(1.58,3.22)

1

sin

cos

100

0cossin

0sincos

1

1

22

22

R

R

Page 27: 06 | Viewing / Camera

Rotasi 2D

• Rotation about an arbitrary axis (Rotasi pada sembarang sumbu (Xr,Yr) dengan sudut Ө)

1100

cossin

sincos

1

YrPy

XrPx

Yr

Xr

Qy

Qx

Page 28: 06 | Viewing / Camera

Rotasi 3D

• Roll

• Yaw

• Pitch

11000

0100

00cossin

00sincos

1

)(Pz

Py

Px

Qz

Qy

Qx

zRotate

11000

0cossin0

0sincos0

0001

1

)(Pz

Py

Px

Qz

Qy

Qx

xRotate

11000

0cos0sin

0010

0sin0cos

1

)(Pz

Py

Px

Qz

Qy

Qx

yRotate

y

xz

y

xz

y

xz

Page 29: 06 | Viewing / Camera

Rotasi 3D

• Rotation about an arbitrary axis (Rotasi pada sembarang sumbu (Ax,Ay,Az) dengan sudut Ө)

• Perhatikan Gambar berikut :

11000

0)cos1(cossin)cos1(sin)cos1(

0sin)cos1()cos1(cossin)cos1(

0sin)cos1(sin)cos1()cos1(cos

1

)(2

2

2

Pz

Py

Px

AAAAAAA

AAAAAAA

AAAAAAA

Qz

Qy

Qx

Rotatezxzyyzx

xzyyzyx

yzxzyxx

A

y

xz

sumbu putar sembarang titik (Ax,Ay,Az)

Page 30: 06 | Viewing / Camera

Rotasi 3D

• Perhatikan Gambar berikut :

• Diketahui bahwa sumbu putar membentuk sudut α dengan sumbu Y dan β dengan sumbu X.

• Untuk memutar suatu objek menggunakan sumbu putar sembarang tersebut, maka kita harus menghimpitkan sumbu putar dengan sumbu Y.

Y

XZ

sumbu putar sembarang titik (Ax,Ay,Az)

α

β

Page 31: 06 | Viewing / Camera

Rotasi 3D• Perhatikan Gambar berikut :

• Menghimpitkan sumbu putar sembarang dengan sumbu Y :– Putar terhadap sumbu Y sebesar β. Sehingga mengakibatkan

sumbu putar di bidang YX.– Putar terhadap sumbu Z sebesar α. Sehingga mengakibatkan

sumbu putar berhimpit dengan sumbu Y.– Lakukan perputaran objek terhadap sumbu Y sebesar Ө.

Y

XZ

sumbu putar sembarang titik (Ax,Ay,Az)

α

β

Page 32: 06 | Viewing / Camera

Rotasi 3D• Proses menghimpitkan sumbu putar ke sumbu Y :

• Mengembalikan sumbu putar beserta objek yang sudah diputar ke kondisi awal.

• Dengan demikian untuk memutar benda menggunakan sumbu putar bebas yang dibentuk melalui sudut α terhadap sumbu Y dan β terhadap sumbu X, dapat dilakukan dengan rumus : Q = (Ry(β)*Rz(α)*Ry(Ө)* Rz(-α)*Ry(-β))

Y

XZ

α

β

Ry(β) Y

XZ

α

Rz(α) Y

XZ

Page 33: 06 | Viewing / Camera

Rotasi 3D• Apabila hanya diketahui salah satu titik yang berada di sumbu putar

s :

• Bagaimana mendapatkan sudut α dan sudut β ?(Gunakan konsep vektor)

• Garis dari (0,0,0) menuju (Ax,Ay,Az) yang menjadi sumbu putar diwakili oleh vektor s.s = (Ax-0,Ay-0,Az-0) = (Ax,Ay,Az)

Y

XZ

sumbu putar s sembarang titik (Ax,Ay,Az)

α

β

u2

s

u

u1

(Ax,0,Az)

s = (Ax,Ay,Az)u2= (0,1,0)

u1= (1,0,0)

u = (Ax,0,Az)

Page 34: 06 | Viewing / Camera

Rotasi 3D

•Dot product dari dua buah vektor s dan u2 dapat dituliskan sebagai berikut :s•u2=|s||u2|cos α , misal dengan u2=(0,1,0) dimana u2 adalah vektor yang berhimpit dengan sumbu Y.

Y

XZ

sumbu putar s sembarang titik (Ax,Ay,Az)

α

β

u2

s

u

u1

(Ax,0,Az)

2

2

2

2 arccos maka ,cosus

us

us

us

s = (Ax,Ay,Az)u2= (0,1,0)

u1= (1,0,0)

u = (Ax,0,Az)

Sudut α telah didapatkan

Page 35: 06 | Viewing / Camera

Rotasi 3D

•Dot product dari dua buah vektor u dan u1 dapat dituliskan sebagai berikut :u•u1=|u||u1|cos β , misal dengan u1=(1,0,0) dimana u1 adalah vektor yang berhimpit dengan sumbu X.

Y

XZ

sumbu putar s sembarang titik (Ax,Ay,Az)

α

β

u2

s

u

u1

(Ax,0,Az)

1

1

1

1 arccos maka ,cosuu

uu

uu

uu

s = (Ax,Ay,Az)u2= (0,1,0)

u1= (1,0,0)

u = (Ax,0,Az)

Sudut β telah didapatkan

Page 36: 06 | Viewing / Camera

Rotasi 3D

•Dengan demikian sudut α dan β dapat diperoleh, cukup dengan mengetahui salah satu titik yang dilewati sumbu putar. •Anda juga dapat mengembangkan metode ini untuk menghitung sumbu putar yang ditentukan melalui dua buah titik misalnya s1=(Ax,Ay,Az) dan s2=(Bx,By,Bz).

1

1

1

1 arccos maka ,cosuu

uu

uu

uu Sudut β telah didapatkan

2

2

2

2 arccos maka ,cosus

us

us

us Sudut α telah didapatkan

Page 37: 06 | Viewing / Camera

Shearing 2D

• Shearing-x

• Shearing-y

1100

010

01

1

)( Py

PxS

Qy

Qx

SxShear

1100

01

001

1

)( Py

Px

SQy

Qx

SyShear

Sebelum Sesudah

Sebelum Sesudah

Page 38: 06 | Viewing / Camera

Shearing 3D

• Shearing-x

• Shearing-y

• Shearing-z

11000

0100

0010

01

1

),(Pz

Py

PxSzSy

Qz

Qy

Qx

SzSyxShear

11000

0100

01

0001

1

),(Pz

Py

Px

SzSx

Qz

Qy

Qx

SzSxyShear

11000

01

0010

0001

1

),(Pz

Py

Px

SySxQz

Qy

Qx

SySxzShear

Page 39: 06 | Viewing / Camera

Kombinasi Transformasi• Jika (Px,Py)=(4,6) : Translasi(6,-3) -> Rotasi(60˚) -> Skala (0.5,2)

(Cara 1 : Step by Step)

Jadi (Qx,Qy) Akhir = (1.2,14.4)

1

4.14

2.1

1

2.7

4.2

100

020

005.0

1100

00

00

1

Py

Px

sPy

sPx

Qy

Qx

1

3

10

1

6

4

100

310

601

1100

10

01

1

Py

Px

dPy

dPx

Qy

Qx

1

2.7

4.2

1

5.17.8

6.25

1

3

10

100

05.087.0

087.05.0

1100

060cos60sin

060sin60cos

1

Py

Px

Qy

Qx

Page 40: 06 | Viewing / Camera

Kombinasi Transformasi

• Jika (Px,Py)=(4,6) : Translasi(6,-3) -> Rotasi(60˚) -> Skala (0.5,2)(Cara 2 : Transformasi berturut-turut dapat dilakukan dengan mengalikan matrik-matrik transformasi sesuai dengan urutan)

Jadi (Qx,Qy) Akhir = (1.2,14.4)• Berapakah nilai (Qx,Qy) Akhir hasil pembalikan urutan

Transformasi di atas !

1

4.14

2.1

1

6

4

100

020

005.0

100

060cos60sin

060sin60cos

100

310

601

1

Qy

Qx

Page 41: 06 | Viewing / 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

Math of Synthetic Camera

ObjekLensaFilm

Cahaya y

xz

v

un

Transformasi dari koordinat dunia ke koordinat UVN

Page 42: 06 | Viewing / 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.

Math of Synthetic Camera

y

x

z

vu

n

rx

rz

ry

VRP=(rx , ry , rz)

Mata =(eu , ev , en)

LooAt=(lax , la

y , laz)

Page 43: 06 | Viewing / Camera

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,

nxvu

initv

initvvadalahinitvvektorunitnnupupinitv

initn

initnnadalahinitnvektorunitrlainitn

_

_)(_,*_

_

_)(_,_

Synthetic Camera di OpenGL : gluLookAt(eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z )

Synthetic Camera di OpenGL : gluLookAt(eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z )

Page 44: 06 | Viewing / Camera

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 • nnote : 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)=-2Qv = t • v =(2,4,3) • (0,0.8,0.6) = 2*(0)+4*(0.8)+3*(0.6)=5Qn = t • n =(2,4,3) • (0,-0.6,0.8) = 2*(0)+4*(-0.6)+3*(0.8)=0Jadi titik Q terletak di koordinat (-2,5,0) pada sistem koordinat UVN.

Page 45: 06 | Viewing / Camera

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.

110001

Pz

Py

Px

nrnnn

vrvvv

uruuu

Q

Q

Q

zyx

zyx

zvx

n

v

u

n

n

v

n

n

u

eQQ

v

eQQ

u

1

*,1

*

Page 46: 06 | Viewing / Camera

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

Vertex X Y Z

0 0.0 -1.0 0.0

1 1.0 -1.0 0.0

2 1.0 -1.0 1.0

3 0.0 -1.0 1.0

4 0.5 0.5 0.5

Tabel 1 Tabel 2

Surface Index

0 1 4 1 2 4 2 3 4 3 0 4

Page 47: 06 | Viewing / Camera

Math of Synthetic Camera• Jawab :

Mencari sistem koordinat UVN :

Transformasi vertex ke sistem UVN :

)88.0,01.0,46.0())56.032.0(),2.019.0(),16.03.0((

)))8.0(*)7.0(())6.0(*)53.0(()),38.0(*)53.0(())27.0(*)7.0((),27.0(*)6.0()38.0(*)8.0((

38.06.07.0

27.08.053.0

)38.0,6.0,7.0(36.0

)23.0,36.0,42.0(

05.013.018.0

)23.0,36.0,42.0(

)23.0()36.0()42.0(

)23.0,36.0,42.0(

_

_

)23.0,36.0,42.0()23.0,64.0,42.0()0,1,0(_

))27.0(*8.0),8.0(*8.0),53.0(*8.0()0,1,0()27.0,8.0,53.0)(8.0()0,1,0(_

)27.0,8.0,53.0(*))27.0(*0)8.0(*1)53.0(*0()0,1,0(*_

)27.0,8.0,53.0()14

1,

14

3,

14

2(

132

)1,3,2(

_

_

),1,3,2()1,3,2()0,0,0(_

222

222

u

u

kji

nxvu

initv

initvv

initv

initv

nnupupinitv

initn

initnn

rlainitn

Page 48: 06 | Viewing / Camera

Math of Synthetic Camera• Jawab :

Mencari sistem koordinat UVN :

Transformasi vertex ke sistem UVN :

)88.0,01.0,46.0(

)38.0,6.0,7.0(

)27.0,8.0,53.0(

)1,3,2()0,0,0(

u

v

n

rdanla

Vertex tX=p-r tY=p-r tZ=p-r

0 0-2=-2 -1-3=-4 0-1=-1

1 -1 -4 -1

2 -1 -4 0

3 -2 -4 0

4 -1.5 -2.5 -0.5

Qu=t•u Qv=t•v Qn=t•n

0 -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

(-2*(0.46))+((-4)*(-0.01))+(-1*(-0.88))

Page 49: 06 | Viewing / Camera

Math of Synthetic Camera• Jawab :

Mencari sistem koordinat UVN :

Transformasi perspektif titik Q dengan mata/eye terletak di (0,0,en=6) :

)88.0,01.0,46.0(

)38.0,6.0,7.0(

)27.0,8.0,53.0(

)1,3,2()0,0,0(

u

v

n

rdanla

Vertex u* v*

0 0 -2.53

1 1.38 -3.96

2 -1.11 -4.49

3 -3.03 -3.45

4 -0.45 -0.51

0/(1-(4.53/6))=0/0.25=0

Qu=t•u Qv=t•v Qn=t•n

0 -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

n

n

v

n

n

u

eQQ

v

eQQ

u

1

*,1

*

Page 50: 06 | Viewing / Camera

Math of Synthetic Camera• Jawab :

Gambar synthetic camera dari vertex hasil transformasi perspektif (u*,v*) :

Vertex u* v*

0 0 -2.53

1 1.38 -3.96

2 -1.11 -4.49

3 -3.03 -3.45

4 -0.45 -0.51

v*

u*

Page 51: 06 | Viewing / Camera

SelesaiImam Cholissodin| [email protected]