• Tidak ada hasil yang ditemukan

TRANFORMASI 2 DIMENSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "TRANFORMASI 2 DIMENSI"

Copied!
29
0
0

Teks penuh

(1)

TRANFORMASI 2 DIMENSI

TRANFORMASI 2 DIMENSI

Achmad Basuki

Nana Ramadijanti

(2)

Materi

Materi

• Struktur titik dan vektor

• Perubahan struktur titik ke vektor

• Perubahan struktur vektor ke titik

• Translasi

• Scalling

• Rotasi

• Perkalian Matrik

(3)

Struktur Titik dan Vektor

Struktur Titik dan Vektor

Struktur data

dari titik 2D

typedef struct {

float x,y;

} point2D_t;

typedef struct {

float v[3];

} vector2D_t;

Struktur data

dari vektor 2D

(4)

Perubahan Titik dan Vektor

Perubahan Titik dan Vektor

v[1] Å x

v[2] Å y

v[3] Å 1

vektor 2D

titik 2D

Point2Vector

Vector2Point

(5)

Point2Vector

Point2Vector

Fungsi ini digunakan untuk memindahkan tipe data titik

menjadi tipe data vektor. Hal ini sangat berguna untuk

operasional matrik yang digunakan dalam melakukan

transformasi dan pengolahan matrik pada grafika komputer.

vector2D_t point2vector(point2D_t pnt)

{

vector2D_t vec;

vec.v[1]=pnt.x;

vec.v[2]=pnt.y;

vec.v[3]=1.;

}

(6)

Vector2Point

Vector2Point

Fungsi ini digunakan untuk memindahkan tipe data

vektor menjadi tipe data titik. Hal ini sangat

berguna untuk penyajian grafis setelah proses

pengolahan matrik yang dikenakan pada obyek 2D.

point2D_t vector2point(vector2D_t vec)

{

point2D_t pnt;

pnt.x=vec.v[1];

pnt.y=vec.v[2];

}

(7)

Transformasi 2D

Transformasi 2D

• Translasi

• Scaling

(8)

Matrik Transformasi 2D

Matrik Transformasi 2D

• Matrik transformasi adalah matrik yang

membuat sebuah obyek mengalami perubahan

baik berupa perubahan posisi, maupun

perubahan ukuran.

• Matrik transformasi 2D dinyatakan dalam

ukuran 3x3, dimana kolom ke-3 digunakan untuk

menyediakan tempat untuk proses translasi.

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

(9)

Translasi

Translasi

Translasi adalah perpindahan obyek dari titik P ke

titik P’ secara linier.

P(x,y)

P’(x’,y’)

dx

dy

x’ = x + dx

y’ = y + dy

Model Matrik:

+

=

dy

dx

y

x

y

x

'

'

(10)

Matrik Transformasi

dari Translasi 2D

Matrik Transformasi

dari Translasi 2D

=

3

2

1

3

2

1

1

0

0

1

0

0

1

ˆ

ˆ

ˆ

v

v

v

d

d

v

v

v

y

x

Proses translasi

dengan

menggunakan

definisi vektor2D

dapat dituliskan

dengan

Matrik

Transformasi

dari

Translasi

1

0

0

1

0

0

1

y

x

d

d

(11)

matrix2D_t translationMTX(float dx,float dy)

{

matrix2D_t trans=createIdentity();

trans.m[0][2]=dx;

trans.m[1][2]=dy;

return trans;

}

Implementasi Matrik

Tranformasi Untuk Translasi

Implementasi Matrik

Tranformasi Untuk Translasi

(12)

Matrik Identitas

Matrik Identitas

Matrik identitas adalah matrik yang nilai

diagonal utamanya sama dengan satu dan

lainnya nol.

1

0

0

0

1

0

0

0

1

matrix2D_t createIdentity(void) {

matrix2D_t u;

int i,j;

for (i=0;i<3;i++) {

for(j=0;j<3;j++) u.m[i][j]=0.;

u.m[i][i]=1.;

}

return u;

}

(13)

Scaling

Scaling

Scaling m adalah perpindahan obyek dari titik P ke

titik P’, dimana jarak titik P’ adalah m kali titik P

x’ = m

x

x

y’ = m

y

y

x

y

P(x,y)

P’(x’,y’)

m

x

.x

m

y

.y

(14)

Matrik Transformasi

dari Scaling 2D

Matrik Transformasi

dari Scaling 2D

=

3

2

1

3

2

1

1

0

0

0

0

0

0

ˆ

ˆ

ˆ

v

v

v

m

m

v

v

v

y

x

Proses scaling

dengan

menggunakan

definisi vektor2D

dapat dituliskan

dengan

Matrik

Transformasi

dari Scaling

1

0

0

0

0

0

0

y

x

m

m

(15)

matrix2D_t scalingMTX(float mx,float my)

{

matrix2D_t scale=createIdentity();

scale.m[0][0]=mx;

scale.m[1][1]=my;

return scale;

}

Implementasi Matrik

Tranformasi Untuk Scaling

Implementasi Matrik

(16)

Rotasi

Rotasi

Rotasi adalah perpindahan obyek dari titik P ke titik P’,

yang berupa pemindahan berputar sebesar sudut

θ

x’ = x cos(θ) - y sin(θ)

y’ = x sin(θ) + y cos(θ)

x

y

P(x,y)

P’(x’,y’)

(17)

Matrik Transformasi

dari Rotasi

Matrik Transformasi

dari Rotasi

=

3

2

1

3

2

1

1

0

0

0

)

cos(

)

sin(

0

)

sin(

)

cos(

ˆ

ˆ

ˆ

v

v

v

v

v

v

θ

θ

θ

θ

Proses Rotasi

dengan

menggunakan

definisi vektor2D

dapat dituliskan

dengan

Matrik

Transformasi

dari Rotasi

1

0

0

0

)

cos(

)

sin(

0

)

sin(

)

cos(

θ

θ

θ

θ

(18)

matrix2D_t rotationMTX(float theta)

{

matrix2D_t rotate=createIdentity();

float cs=cos(theta);

float sn=sin(theta);

rotate.m[0][0]=cs; rotate.m[0][1]=-sn;

rotate.m[1][0]=sn; rotate.m[1][1]=cs;

return rotate;

}

Implementasi Matrik

Tranformasi Untuk Rotasi

Implementasi Matrik

(19)

Perkalian Matrik

Perkalian Matrik

• Perkalian matrik dengan matrik

menghasilkan matrik

• Perkalian matrik dengan vektor

menghasilkan vektor

Perkalian matrik ini digunakan untuk operasional

transformasi dari obyek 2D dan untuk komposisi

(menggabungkan) tranformasi

(20)

Perkalian

Matrik dengan Matrik

Perkalian

Matrik dengan Matrik

Perkalian matrik a dan matrik b menghasilkan

matrik c yang dirumuskan dengan

=

=

2

0

k

kj

ik

ij

a

b

c

(21)

Implementasi Perkalian

Matrik dengan Matrik

Implementasi Perkalian

Matrik dengan Matrik

matrix2D_t operator * (matrix2D_t a, matrix2D_t b)

{

matrix2D_t c;

//c=a*b

int i,j,k;

for (i=0;i<3;i++) for (j=0;j<3;j++) {

c.m[i][j]=0;

for (k=0;k<3;k++)

c.m[i][j]+=a.m[i][k]*b.m[k][j];

}

return c;

}

(22)

Perkalian

Matrik dengan Vektor

Perkalian

Matrik dengan Vektor

Perkalian matrik a dan vektor b menghasilkan

vektor c yang dirumuskan dengan

=

=

2

0

k

k

ik

i

a

b

c

dimana i bernilai 0 s/d 2

(23)

Implementasi Perkalian

Matrik dengan Vektor

Implementasi Perkalian

Matrik dengan Vektor

vector2D_t operator * (matrix2D_t a, vector2D_t b)

{

vector2D_t c;

//c=a*b

int i,j;

for (i=0;i<3;i++) {

c.v[i]=0;

for (j=0;j<3;j++)

c.v[i]+=a.m[i][j]*b.v[j];

}

return c;

}

(24)

Komposisi Transformasi

Komposisi Transformasi

• Komposisi transformasi adalah

menggabungkan beberapa tranformasi,

sehingga dapat menghasilkan bentuk

transformasi yang lebih kompleks

• Komposisi tranformasi dapat dilakukan

dengan mengalikan matrik-matrik

(25)

Contoh Komposisi Tranformasi

Contoh Komposisi Tranformasi

Translasi(d,0)

Rotasi(θ)

Komposisi transformasi dinyatakan dengan :

(26)

Contoh Komposisi Tranformasi

Contoh Komposisi Tranformasi

Komposisi transformasi dinyatakan dengan :

Translasi(d,0). Rotasi(θ)

Translasi(d,0)

Rotasi(θ)

(27)

Tugas 1 Grafika Komputer

Menggambarkan Orbit Bumi dan Bulan

Tugas 1 Grafika Komputer

(28)

Tugas 2 Grafika Komputer

Menggambar Gerakan Tutup Gelas Terbuka

Tugas 2 Grafika Komputer

Menggambar Gerakan Tutup Gelas Terbuka

Gelas tertutup

Gerakan terbuka

Gelas terbuka

dan tertutup

(29)

Tugas 3 Grafika Komputer

Menggambar Osiloskop

Tugas 3 Grafika Komputer

Menggambar Osiloskop

Sinyal berjalan

Fungsi gelombang AM adalah:

y

sin(

2

f

t

).

[

1

m

.

sin(

2

f

t

)

]

i

c

π

π

+

=

f

c

= frekwensi pembawa

f

i

= frekwensi informasi

Referensi

Dokumen terkait

In this case, the writer only discusses about one of the rules of language namely; tenses and especially, the students‘ knowledge of simple past tense with using English story and

[r]

Secara garis besar faktor-faktor yang menyebabkan terjadinya cacat-cacat pada proses produksi Hanger TAC 6212 adalah : (1) Adaya kesalahan dalam proses kerja, (2) Tidak

Mengingat fungsi dari bangunan ini sebagai tempat mempromosikan potensi seni budaya dan pariwisata dari propinsi Jawa Barat, maka sebagai pertimbangan utama dalam perancangannya

bahan baku, melakukan pemeriksaan atas perlengkapan restoran (daily checking), melakukan pengawasan atas kegiatan operasional perusahaan, melakukan penilaian atas kelayakan

Berikut ini adalah hasil penelitian variasi musiman dan kuantitas produksi serasah dari jenis dominan hutan pegunungan rendah di Taman Nasional Gunung Halimun.. Tujuan penelitian

landu aurretik ekoitzitako testuen (aurre-testuen) azterketak lagunduko dute erakusten unibertsitate mailako ikasleek nolako zailtasunak dituzten. 2) Erabili diren sekuentzia

Untuk memutuskan apakah hasil amatan tersebut ( r = 0,49) mencerminkan apa yang terjadi dalam populasi (dalam populasi memang ada hubungan antara X dan Y ) atau