Top Banner
Achmad Basuki, Nana Ramadijanti - Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS) TRANFORMASI 2 DIMENSI TRANFORMASI 2 DIMENSI Achmad Basuki Nana Ramadijanti
29

TRANSFORMASI 2D.pdf

Jan 18, 2017

Download

Documents

vungoc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti - Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

TRANFORMASI 2 DIMENSITRANFORMASI 2 DIMENSI

Achmad BasukiNana Ramadijanti

Page 2: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

MateriMateri• Struktur titik dan vektor• Perubahan struktur titik ke vektor• Perubahan struktur vektor ke titik• Translasi• Scalling• Rotasi• Perkalian Matrik• Komposisi Transformasi

Page 3: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Struktur Titik dan VektorStruktur 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

Page 4: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Perubahan Titik dan VektorPerubahan Titik dan Vektor

v[1] xv[2] yv[3] 1

vektor 2D

titik 2D

Point2Vector Vector2Point

Page 5: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Point2VectorPoint2Vector

Fungsi ini digunakan untuk memindahkan tipe data titikmenjadi tipe data vektor. Hal ini sangat berguna untukoperasional 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.;

}

Page 6: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Vector2PointVector2Point

Fungsi ini digunakan untuk memindahkan tipe data vektor menjadi tipe data titik. Hal ini sangat

berguna untuk penyajian grafis setelah prosespengolahan 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];

}

Page 7: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Transformasi 2DTransformasi 2D

• Translasi• Scaling• Rotasi

Page 8: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Matrik Transformasi 2DMatrik Transformasi 2D

• Matrik transformasi adalah matrik yang membuat sebuah obyek mengalami perubahanbaik berupa perubahan posisi, maupunperubahan ukuran.

• Matrik transformasi 2D dinyatakan dalamukuran 3x3, dimana kolom ke-3 digunakan untukmenyediakan tempat untuk proses translasi.

⎥⎥⎥

⎢⎢⎢

333231

232221

131211

aaaaaaaaa

Page 9: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

TranslasiTranslasi

Translasi adalah perpindahan obyek dari titik P ketitik P’ secara linier.

P(x,y)

P’(x’,y’)

dx

dy

x’ = x + dxy’ = y + dy

Model Matrik:

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡dydx

yx

yx''

Page 10: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Matrik Transformasidari Translasi 2D

Matrik Transformasidari Translasi 2D

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

3

2

1

3

2

1

1001001

ˆˆˆ

vvv

dd

vvv

y

xProses translasi

denganmenggunakan

definisi vektor2D dapat dituliskan

dengan

MatrikTransformasi

dariTranslasi⎥

⎥⎥

⎢⎢⎢

1001001

y

x

dd

Page 11: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

matrix2D_t translationMTX(float dx,float dy){

matrix2D_t trans=createIdentity();trans.m[0][2]=dx;trans.m[1][2]=dy;return trans;

}

Implementasi MatrikTranformasi Untuk Translasi

Implementasi MatrikTranformasi Untuk Translasi

Fungsi untuk membuat matrik identitas

Page 12: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Matrik IdentitasMatrik Identitas

Matrik identitas adalah matrik yang nilaidiagonal utamanya sama dengan satu danlainnya nol.

⎥⎥⎥

⎢⎢⎢

100010001

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;

}

Page 13: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

ScalingScaling

Scaling m adalah perpindahan obyek dari titik P ketitik P’, dimana jarak titik P’ adalah m kali titik P

x’ = mx x y’ = my y

x

y

P(x,y)

P’(x’,y’)

mx.x

my.y

Page 14: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Matrik Transformasidari Scaling 2D

Matrik Transformasidari Scaling 2D

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

3

2

1

3

2

1

1000000

ˆˆˆ

vvv

mm

vvv

y

xProses scaling

denganmenggunakan

definisi vektor2D dapat dituliskan

dengan

MatrikTransformasidari Scaling⎥

⎥⎥

⎢⎢⎢

1000000

y

x

mm

Page 15: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

matrix2D_t scalingMTX(float mx,float my){

matrix2D_t scale=createIdentity();scale.m[0][0]=mx;scale.m[1][1]=my;return scale;

}

Implementasi MatrikTranformasi Untuk Scaling

Implementasi MatrikTranformasi Untuk Scaling

Page 16: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

RotasiRotasiRotasi 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’)

θ

Page 17: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Matrik Transformasidari Rotasi

Matrik Transformasidari Rotasi

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

3

2

1

3

2

1

1000)cos()sin(0)sin()cos(

ˆˆˆ

vvv

vvv

θθθθProses Rotasi

denganmenggunakan

definisi vektor2D dapat dituliskan

dengan

MatrikTransformasidari Rotasi⎥

⎥⎥

⎢⎢⎢

⎡ −

1000)cos()sin(0)sin()cos(

θθθθ

Page 18: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

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 MatrikTranformasi Untuk Rotasi

Implementasi MatrikTranformasi Untuk Rotasi

Page 19: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Perkalian MatrikPerkalian Matrik

• Perkalian matrik dengan matrikmenghasilkan matrik

• Perkalian matrik dengan vektormenghasilkan vektor

Perkalian matrik ini digunakan untuk operasionaltransformasi dari obyek 2D dan untuk komposisi

(menggabungkan) tranformasi

Page 20: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

PerkalianMatrik dengan Matrik

PerkalianMatrik dengan Matrik

Perkalian matrik a dan matrik b menghasilkanmatrik c yang dirumuskan dengan

∑=

=2

0kkjikij bac

dimana i dan j bernilai 0 s/d 2

Page 21: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Implementasi PerkalianMatrik dengan Matrik

Implementasi PerkalianMatrik dengan Matrik

matrix2D_t operator * (matrix2D_t a, matrix2D_t b){

matrix2D_t c;//c=a*bint 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;

}

Page 22: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

PerkalianMatrik dengan Vektor

PerkalianMatrik dengan Vektor

Perkalian matrik a dan vektor b menghasilkanvektor c yang dirumuskan dengan

∑=

=2

0kkiki bac

dimana i bernilai 0 s/d 2

Page 23: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Implementasi PerkalianMatrik dengan Vektor

Implementasi PerkalianMatrik dengan Vektor

vector2D_t operator * (matrix2D_t a, vector2D_t b){

vector2D_t c;//c=a*bint 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;

}

Page 24: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Komposisi TransformasiKomposisi Transformasi

• Komposisi transformasi adalahmenggabungkan beberapa tranformasi, sehingga dapat menghasilkan bentuktransformasi yang lebih kompleks

• Komposisi tranformasi dapat dilakukandengan mengalikan matrik-matriktransformasi

Page 25: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Contoh Komposisi TranformasiContoh Komposisi Tranformasi

Translasi(d,0)

Rotasi(θ)

Komposisi transformasi dinyatakan dengan :

Rotasi(θ).Translasi(d,0)

Page 26: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Contoh Komposisi TranformasiContoh Komposisi Tranformasi

Komposisi transformasi dinyatakan dengan :

Translasi(d,0). Rotasi(θ)

Translasi(d,0)

Rotasi(θ)

Page 27: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Tugas 1 Grafika KomputerMenggambarkan Orbit Bumi dan Bulan

Tugas 1 Grafika KomputerMenggambarkan Orbit Bumi dan Bulan

Page 28: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Tugas 2 Grafika KomputerMenggambar Gerakan Tutup Gelas Terbuka

Tugas 2 Grafika KomputerMenggambar Gerakan Tutup Gelas Terbuka

Gelas tertutup Gelas terbukaGerakan terbukadan tertutup

Page 29: TRANSFORMASI 2D.pdf

Achmad Basuki, Nana Ramadijanti, Laboratorium Computer Vision – Politeknik Elektronika Negeri Surabaya (PENS-ITS)

Tugas 3 Grafika KomputerMenggambar Osiloskop

Tugas 3 Grafika KomputerMenggambar Osiloskop

Sinyal berjalan

Fungsi gelombang AM adalah: [ ])2sin(.1).2sin( tfmtfy ic ππ +=fc = frekwensi pembawafi = frekwensi informasim= = konstanta modulasi