git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Append start and end
[jalview.git]
/
src
/
jalview
/
math
/
RotatableMatrix.java
diff --git
a/src/jalview/math/RotatableMatrix.java
b/src/jalview/math/RotatableMatrix.java
index
c0ec1c9
..
2385288
100755
(executable)
--- a/
src/jalview/math/RotatableMatrix.java
+++ b/
src/jalview/math/RotatableMatrix.java
@@
-18,12
+18,27
@@
*/
\r
package jalview.math;
\r
\r
*/
\r
package jalview.math;
\r
\r
-public class RotatableMatrix {
\r
+
\r
+/**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @author $author$
\r
+ * @version $Revision$
\r
+ */
\r
+public class RotatableMatrix
\r
+{
\r
float[][] matrix;
\r
float[] temp;
\r
float[][] rot;
\r
\r
float[][] matrix;
\r
float[] temp;
\r
float[][] rot;
\r
\r
- public RotatableMatrix(int rows, int cols) {
\r
+ /**
\r
+ * Creates a new RotatableMatrix object.
\r
+ *
\r
+ * @param rows DOCUMENT ME!
\r
+ * @param cols DOCUMENT ME!
\r
+ */
\r
+ public RotatableMatrix(int rows, int cols)
\r
+ {
\r
matrix = new float[rows][cols];
\r
\r
temp = new float[3];
\r
matrix = new float[rows][cols];
\r
\r
temp = new float[3];
\r
@@
-31,11
+46,23
@@
public class RotatableMatrix {
rot = new float[3][3];
\r
}
\r
\r
rot = new float[3][3];
\r
}
\r
\r
- public void addElement(int i, int j, float value) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param i DOCUMENT ME!
\r
+ * @param j DOCUMENT ME!
\r
+ * @param value DOCUMENT ME!
\r
+ */
\r
+ public void addElement(int i, int j, float value)
\r
+ {
\r
matrix[i][j] = value;
\r
}
\r
\r
matrix[i][j] = value;
\r
}
\r
\r
- public void print() {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ */
\r
+ public void print()
\r
+ {
\r
System.out.println(matrix[0][0] + " " + matrix[0][1] + " " +
\r
matrix[0][2]);
\r
\r
System.out.println(matrix[0][0] + " " + matrix[0][1] + " " +
\r
matrix[0][2]);
\r
\r
@@
-46,12
+73,20
@@
public class RotatableMatrix {
matrix[2][2]);
\r
}
\r
\r
matrix[2][2]);
\r
}
\r
\r
- public void rotate(float degrees, char axis) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param degrees DOCUMENT ME!
\r
+ * @param axis DOCUMENT ME!
\r
+ */
\r
+ public void rotate(float degrees, char axis)
\r
+ {
\r
float costheta = (float) Math.cos((degrees * Math.PI) / (float) 180.0);
\r
\r
float sintheta = (float) Math.sin((degrees * Math.PI) / (float) 180.0);
\r
\r
float costheta = (float) Math.cos((degrees * Math.PI) / (float) 180.0);
\r
\r
float sintheta = (float) Math.sin((degrees * Math.PI) / (float) 180.0);
\r
\r
- if (axis == 'z') {
\r
+ if (axis == 'z')
\r
+ {
\r
rot[0][0] = (float) costheta;
\r
\r
rot[0][1] = (float) -sintheta;
\r
rot[0][0] = (float) costheta;
\r
\r
rot[0][1] = (float) -sintheta;
\r
@@
-73,7
+108,8
@@
public class RotatableMatrix {
preMultiply(rot);
\r
}
\r
\r
preMultiply(rot);
\r
}
\r
\r
- if (axis == 'x') {
\r
+ if (axis == 'x')
\r
+ {
\r
rot[0][0] = (float) 1.0;
\r
\r
rot[0][1] = (float) 0.0;
\r
rot[0][0] = (float) 1.0;
\r
\r
rot[0][1] = (float) 0.0;
\r
@@
-95,7
+131,8
@@
public class RotatableMatrix {
preMultiply(rot);
\r
}
\r
\r
preMultiply(rot);
\r
}
\r
\r
- if (axis == 'y') {
\r
+ if (axis == 'y')
\r
+ {
\r
rot[0][0] = (float) costheta;
\r
\r
rot[0][1] = (float) 0.0;
\r
rot[0][0] = (float) costheta;
\r
\r
rot[0][1] = (float) 0.0;
\r
@@
-118,14
+155,23
@@
public class RotatableMatrix {
}
\r
}
\r
\r
}
\r
}
\r
\r
- public float[] vectorMultiply(float[] vect) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param vect DOCUMENT ME!
\r
+ *
\r
+ * @return DOCUMENT ME!
\r
+ */
\r
+ public float[] vectorMultiply(float[] vect)
\r
+ {
\r
temp[0] = vect[0];
\r
\r
temp[1] = vect[1];
\r
\r
temp[2] = vect[2];
\r
\r
temp[0] = vect[0];
\r
\r
temp[1] = vect[1];
\r
\r
temp[2] = vect[2];
\r
\r
- for (int i = 0; i < 3; i++) {
\r
+ for (int i = 0; i < 3; i++)
\r
+ {
\r
temp[i] = (matrix[i][0] * vect[0]) + (matrix[i][1] * vect[1]) +
\r
(matrix[i][2] * vect[2]);
\r
}
\r
temp[i] = (matrix[i][0] * vect[0]) + (matrix[i][1] * vect[1]) +
\r
(matrix[i][2] * vect[2]);
\r
}
\r
@@
-139,41
+185,67
@@
public class RotatableMatrix {
return vect;
\r
}
\r
\r
return vect;
\r
}
\r
\r
- public void preMultiply(float[][] mat) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param mat DOCUMENT ME!
\r
+ */
\r
+ public void preMultiply(float[][] mat)
\r
+ {
\r
float[][] tmp = new float[3][3];
\r
\r
float[][] tmp = new float[3][3];
\r
\r
- for (int i = 0; i < 3; i++) {
\r
- for (int j = 0; j < 3; j++) {
\r
+ for (int i = 0; i < 3; i++)
\r
+ {
\r
+ for (int j = 0; j < 3; j++)
\r
+ {
\r
tmp[i][j] = (mat[i][0] * matrix[0][j]) +
\r
(mat[i][1] * matrix[1][j]) + (mat[i][2] * matrix[2][j]);
\r
}
\r
}
\r
\r
tmp[i][j] = (mat[i][0] * matrix[0][j]) +
\r
(mat[i][1] * matrix[1][j]) + (mat[i][2] * matrix[2][j]);
\r
}
\r
}
\r
\r
- for (int i = 0; i < 3; i++) {
\r
- for (int j = 0; j < 3; j++) {
\r
+ for (int i = 0; i < 3; i++)
\r
+ {
\r
+ for (int j = 0; j < 3; j++)
\r
+ {
\r
matrix[i][j] = tmp[i][j];
\r
}
\r
}
\r
}
\r
\r
matrix[i][j] = tmp[i][j];
\r
}
\r
}
\r
}
\r
\r
- public void postMultiply(float[][] mat) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param mat DOCUMENT ME!
\r
+ */
\r
+ public void postMultiply(float[][] mat)
\r
+ {
\r
float[][] tmp = new float[3][3];
\r
\r
float[][] tmp = new float[3][3];
\r
\r
- for (int i = 0; i < 3; i++) {
\r
- for (int j = 0; j < 3; j++) {
\r
+ for (int i = 0; i < 3; i++)
\r
+ {
\r
+ for (int j = 0; j < 3; j++)
\r
+ {
\r
tmp[i][j] = (matrix[i][0] * mat[0][j]) +
\r
(matrix[i][1] * mat[1][j]) + (matrix[i][2] * mat[2][j]);
\r
}
\r
}
\r
\r
tmp[i][j] = (matrix[i][0] * mat[0][j]) +
\r
(matrix[i][1] * mat[1][j]) + (matrix[i][2] * mat[2][j]);
\r
}
\r
}
\r
\r
- for (int i = 0; i < 3; i++) {
\r
- for (int j = 0; j < 3; j++) {
\r
+ for (int i = 0; i < 3; i++)
\r
+ {
\r
+ for (int j = 0; j < 3; j++)
\r
+ {
\r
matrix[i][j] = tmp[i][j];
\r
}
\r
}
\r
}
\r
\r
matrix[i][j] = tmp[i][j];
\r
}
\r
}
\r
}
\r
\r
- public static void main(String[] args) {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ *
\r
+ * @param args DOCUMENT ME!
\r
+ */
\r
+ public static void main(String[] args)
\r
+ {
\r
RotatableMatrix m = new RotatableMatrix(3, 3);
\r
\r
m.addElement(0, 0, 1);
\r
RotatableMatrix m = new RotatableMatrix(3, 3);
\r
\r
m.addElement(0, 0, 1);
\r
@@
-234,7
+306,11
@@
public class RotatableMatrix {
System.out.println(vect[0] + " " + vect[1] + " " + vect[2]);
\r
}
\r
\r
System.out.println(vect[0] + " " + vect[1] + " " + vect[2]);
\r
}
\r
\r
- public void setIdentity() {
\r
+ /**
\r
+ * DOCUMENT ME!
\r
+ */
\r
+ public void setIdentity()
\r
+ {
\r
matrix[0][0] = (float) 1.0;
\r
\r
matrix[1][1] = (float) 1.0;
\r
matrix[0][0] = (float) 1.0;
\r
\r
matrix[1][1] = (float) 1.0;
\r