47 |
|
A[2][0] = sin(phi) * sin(theta); |
48 |
|
A[2][1] = -cos(phi) * sin(theta); |
49 |
|
A[2][2] = cos(theta); |
50 |
– |
|
51 |
– |
printf("A[2][x] = %lf\t%lf\t%lf\n", A[2][0], A[2][1], A[2][2]); |
50 |
|
|
51 |
|
} |
52 |
|
|
322 |
|
transposeMat3(pAxisMat, pAxisRotMat); |
323 |
|
|
324 |
|
|
327 |
– |
for (i=0; i<myAtoms.size(); i++){ |
328 |
– |
apos = refCoords[i]; |
329 |
– |
printf("%f\t%f\t%f\n",apos[0],apos[1],apos[2]); |
330 |
– |
} |
331 |
– |
|
325 |
|
//rotate the rigid body to the principle axis frame |
326 |
|
for (i = 0; i < myAtoms.size(); i++) { |
327 |
|
matVecMul3(pAxisRotMat, refCoords[i].vec, refCoords[i].vec); |
328 |
|
myAtoms[i]->setPos(refCoords[i].vec); |
336 |
– |
} |
337 |
– |
|
338 |
– |
for (i=0; i<myAtoms.size(); i++){ |
339 |
– |
apos = refCoords[i]; |
340 |
– |
printf("%f\t%f\t%f\n",apos[0],apos[1],apos[2]); |
329 |
|
} |
330 |
|
|
331 |
|
identityMat3(iMat); |
536 |
|
return myAtoms[index]->getEps(); |
537 |
|
|
538 |
|
} |
539 |
+ |
|
540 |
+ |
char *RigidBody::getAtomBase(int index){ |
541 |
+ |
|
542 |
+ |
return myAtoms[index]->getBase(); |
543 |
+ |
|
544 |
+ |
} |