Hey guys, I seriously need some help here.

I have no idea why but after undergoing the Rotation phase I lost
coordinatesRotZ[a][0],coordinatesRotZ[a][1]. The value appears to be 0.0
However coordinatesRotZ[a][2] has values stored in it.
so the output looks something like that after printing:

coordinatesRotZ[a][0] coordinatesRotZ[a][1] coordinatesRotZ[a][2]:
0.0 0.0 13.44
0.0 0.0 14.85

``````//---------------------------Translation---------------------------------------
for(int a=0; a<coordinates1.length; a++) {

for(int b=0; b<3; b++){
for(int c=0; c<3; c++){

X = coordinates1[1][0]/coordinates2[1][0]; //alpha c coordinate
Y = coordinates1[1][1]/coordinates2[1][1];
Z = coordinates1[1][2]/coordinates2[1][2];

double [][] Translation1={ {X,0.0,0.0}, {0.0,Y,0.0}, {0.0,0.0,Z} };

coordinates2T[a][b] = coordinates2[a][c]*Translation1[c][b];

//-------------------------Rotation & RMSD Cal----------------------------------

//Uses Leohard Euler's angle of rotation theorem

double [][] Rotz={ {Math.cos(0.087266463), Math.sin(-0.087266463), 0.0},
{Math.sin(0.087266463), Math.cos(0.087266463), 0.0},
{0.0, 0.0 , 1.0} };

double [][] RotX={ {1.0,0.0,0.0},
{0.0,Math.cos(0.087266463), Math.sin(-0.087266463)},
{0.0,Math.sin(0.087266463), Math.cos(0.087266463)} };

double [][] RotZ={ {Math.cos(0.087266463), Math.sin(0.087266463), 0.0},
{Math.sin(-0.087266463), Math.cos(0.087266463), 0.0},
{0.0, 0.0 , 1.0} };

coordinatesRotz[a][b]= coordinates2T[a][c]*Rotz[c][b];
coordinatesRotX[a][b]= coordinatesRotz[a][c]*RotX[c][b];
coordinatesRotZ[a][b]= coordinatesRotX[a][c]*RotZ[c][b];

}
}
}

for(int a=0; a<3; a++){
R1=0;
for(int b=0; b<3; b++){
R1 =Math.sqrt((Math.pow((coordinates1[a][0]-coordinatesRotZ[b][0]),2)
+Math.pow((coordinates1[a][1]-coordinatesRotZ[b][1]),2)
+Math.pow((coordinates1[a][2]-coordinatesRotZ[b][2]),2)));

R2 = R1 + R2;

// if(coordinatesRotZ[b][a] !=0.0)
//System.out.println(Translation1[a][0]+"\t"+Translation1[a][1]+"\t"+Translation1[a][2]);
//System.out.println(R2);
}
}

RMSD_Final = R2 / 3.0;

for(int a=0; a<3; a++){
for(int b=0; b<3; b++){

if(coordinatesRotZ[a][b] !=0.0)
System.out.println(coordinatesRotZ[a][0]+"\t"+coordinatesRotZ[a][1]+"\t"+coordinatesRotZ[a][2]);``````
2
Contributors
3
Replies
4
Views
7 Years
Discussion Span
Last Post by hazeeel

please note after LINE 66, I did include the 2 closing brackets

Can you please include the entire code?

Can you please include the entire code?

it's okay, i think i got this part sorted! thanks! :)