Enter your email address:

Delivered by

Uploud File di Ziddu dan dapat uang broo
Uploud File di Deposit Files

Kelompok 3 Transformasi 2D

Label: , ,

=============================================
= 1. MOKHAMAD IRWAN ALIFI (076403020009)
= 2. SLAMET WAHYU UTOMO (076403020005)
= 3. IRWANTO (070403020031)
= 4. M. NURIL ANWAR (070403020013)
= 5. M. RIDHO SANTOSO (070403020020)
= 6. MIEISA PALUPI (086403020002)
= 7. DWI SUGI P (076403020006)
= 8. ARIF ARDIASYAH (070403020016)
=============================================


Struktur Titik dan Vektor

Slide 3

Struktur data dari titik 2D

typedef struct {

float x,y;

} point2D_t;


Sturktur Data dari vektor 2D


typedef struct {

float v[3];

} vector2D_t;


Perubahan Titik dan Vektor



Point2Vector

Slide 5

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[0]=pnt.x;

vec.v[1]=pnt.y;

vec.v[2]=1.;

}


Vector2 Point

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[0];

pnt.y=vec.v[1];

}


Matrik Transformasi 2D


  1. Matrik transformasi adalah matrik yang membuat sebuah obyek mengalami perubahan baik berupa perubahan posisi, maupun perubahan ukuran.
  2. Matrik transformasi 2D dinyatakan dalam ukuran 3x3, dimana kolom ke-3 digunakan untuk menyediakan tempat untuk proses translasi.


Translasi


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

x’ = x + dx

y’ = y + dy


Model Matrik



Matrik Transformasi dari Translasi 2D


Implementasi Matrik Tranformasi Untuk Translasi


matrix2D_t translationMTX(float dx,float dy)

{

matrix2D_t trans=createIdentity();

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

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

return trans;

}




Scaling

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


Matrik Transformasi
dari Scaling 2D


Proses scaling dengan menggunakan definisi vektor2D dapat dituliskan dengan



Matrik Transformasi dari Scaling



Implementasi Matrik Tranformasi Untuk Scaling

matrix2D_t scalingMTX(float mx,float my)

{

matrix2D_t scale=createIdentity();

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

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

return scale;

}


Rotasi

Rotasi adalah perpindahan obyek dari titik P ke titik P’, yang berupa pemindahan berputar sebesar sudut q




Matrik Transformasi dari Rotasi




Implementasi Matrik Tranformasi Untuk Rotasi

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;

}



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


Perkalian Matrik dengan Matrik


Perkalian matrik a dan matrik b menghasilkan matrik c yang dirumuskan dengan




dimana i dan j bernilai 0 s/d 2


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++) 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;

}


Perkalian Matrik dengan Vektor

Perkalian matrik a dan vektor b menghasilkan vektor c yang dirumuskan dengan



dimana i bernilai 0 s/d 2


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;

}


Komposisi Transformasi


Komposisi transformasi adalah menggabungkan beberapa tranformasi, sehingga dapat menghasilkan bentuk transformasi yang lebih kompleks

Komposisi tranformasi dapat dilakukan dengan mengalikan matrik-matrik transformasi



Contoh program dengan menggunakan Delphi7



Download Materi Lengkap disini
Download Sample Program disini
Download Program source disini





0 komentar:

Posting Komentar


ShoutMix chat widget