package myGraphics.VectorGrafix; import myGraphics.VectorGrafix.Matrix; import myGraphics.VectorGrafix.Vector2d; public class Matrix2d extends Matrix { public Matrix2d() { int i, j; mterm = new double[3][3]; for (i = 0; i < 3; i++) { /* initialized to identity matrix */ for (j = 0; j < 3; j++) { if (i == j) { mterm[i][j] = 1.0; } else { mterm[i][j] = 0.0; } } } } public void reset() { int i, j; for (i = 0; i < 3; i++) { /* reset to identity matrix */ for (j = 0; j < 3; j++) { if (i == j) { mterm[i][j] = 1.0; } else { mterm[i][j] = 0.0; } } } } public Matrix2d multiply(Matrix2d m2) { Matrix2d temp = new Matrix2d(); int i, j, s; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { temp.set_term(i, j, 0.0); for (s = 0; s < 3; s++) { temp.set_term(i, j, temp.get_term(i, j) + (mterm[i][s] * m2.get_term(s, j))); } } } return temp; } public Vector2d multiply(Vector2d v) { Vector2d temp = new Vector2d(); int i, s; for (i = 0; i < 3; i++) { temp.set_term(i, 0.0); for (s = 0; s < 3; s++) { temp.set_term(i, temp.get_term(i) + (mterm[i][s] * v.get_term(s))); } } return temp; } }