Anda di halaman 1dari 20

KELOMPOK IV

JIMMY H
LIEM FELIX
MEILIANA C
SO STEVEN
Scaling adalah perpindahan objek dari titik
P ke titik P’, dimana jarak titik P’ adalah
m kali titik P. Jadi dengan kata lain,
scaling adalah transformasi yang
memperbesar atau memperkecil suatu
objek.
SEHINGGA DIKETAHUI
P’(X’,Y’,Z’)

P(X,Y,Z)
MY.Y

MX.X
MZ.Z
MATRIKS TRANSFORMASI DARI SCALING
matrix2D_t scalingMTX(float mx, float my, float
mz)
{
matrix2D_t scale=createIdentity();
scale.m[0] [0] = mx;
scale.m[1] [1] = my;
scale.m[2] [2] = mz;
return scale;
}
ROTASI DAPAT TERBAGI MENJADI 3 YAITU

 ROTASI TERHADAP SUMBU X


 ROTASI TERHADAP SUMBU Y
 ROTASI TERHADAP SUMBU Z
Rotasi pada sumbu x adalah perpindahan objek
dari titik P(x,y,z) ke titik P’(x’,y’,z’) berupa
pemindahan berputar sebesar sudut terhadap
sumbu x, dapat digambarkan sbb :

P(X,Y,Z) SEHINGGA DIKETAHUI :

P’(X’,Y’,Z’)
MATRIXKS ROTASI
matrix3D_t rotationXMTX(float theta)
{
matrix3D_t rotate=createIdentity();
float cs = cos(theta);
float sn = sin(theta);
rotate.m[1] [1] – cs;
rotate.m[1] [2] = -sn;
rotate.m[2] [1] = sn;
rotate.m[2] [2] = cs;
return rotate;
}
Rotasi pada sumbu yadalah perpindahan objek
dari titik P(x,y,z) ke titik P’(x’,y’,z’) berupa
pemindahan berputar sebesar sudut terhadap
sumbu y, dapat digambarkan sbb:

P’(X’,Y’,Z’) P(X,Y,Z) SEHINGGA DIKETAHUI


MATRIKS ROTASI
matrix3D_t rotationYMTX(float theta)
{
matrix3D_t rotate=createIdentity();
float cs = cos(theta);
float sn = sin(theta);
rotate.m[0] [0] = cs;
rotate.m[0] [2] = sn;
rotate.m[2] [0] = -sn;
rotate.m[2] [2] = cs;
return rotate;
}
Rotasi pada sumbu zadalah perpindahan objek
dari titik P(x,y,z) ke titik P’(x’,y’,z’) berupa
pemindahan berputar sebesar sudut terhadap
sumbu z, dapat digambarkan sbb:

SEHINGGA DIKETAHUI

P(X’,Y’,Z’)

P(X,Y,Z)
MATRIKS ROTASI
matrix3D_t rotationZMTX(float theta)
{
matrix3D_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] [2] = cs;
return rotate;
}
PERKALIAN MATRIKS DAPAT MELIPUTI

 PERKALIAN MATRIKS DENGAN MATRIKS


 PERKALIAN MATRIKS DENGAN VEKTOR
Perkalian ini digunakan untuk operasi
transformasi dari objek 3D dan untuk
menggabungkan transformasi. Perkalian
matriks a dengan matriks b menghasilkan
matriks c, yang dirumuskan dengan:

Dimana I dan j bernilai 0-3.


matrix3D_t operator * (matrix3D_t a, matrix3D_t b)
{
matrix3D_t c; // c=a*b;
int i,j,k;
for (i=0; i<4; i++)
for (j=0; j<4; j++){
c.m[i] [j] = 0;
for (k=0; k<4; k++)
c.m [i] [j]+= a.m[i] [k] * b.m[k] [j];
}
return c;
}
 
Perkalian matriks ini digunakan untuk operasi
transformasi dari objek 3D guna menghasilkan
vektor baru dari titik objek yang
transformasikan. Perkalian matriks a dan
vector b menghasilkan vektor c, yang
dirumuskan dengan :

Dimana i bernilai 0-3.


vector3D_t operator * (matrix3D_t a, vector3D_t b)
{
vector3D_t c; // c=a*b;
int i,k;
for (i=0; i<4; i++)
{
c.v[i]= 0;
for (k=0; k<4; k++)
c.v [i] += a.m[i] [k] * b.v[k];
}
return c;
}

Anda mungkin juga menyukai