public static JamaMatrix Polynomialize(JamaMatrix values, int degree) { JamaMatrix jamaMatrix = IPolyPointTransformer.PolyExps(degree); JamaMatrix jamaMatrix2 = new JamaMatrix(values.RowDimension, jamaMatrix.RowDimension); for (int i = 0; i < jamaMatrix.RowDimension; i++) { for (int j = 0; j < values.RowDimension; j++) { jamaMatrix2.SetElement(j, i, Math.Pow(values.GetElement(j, 0), jamaMatrix.GetElement(i, 0)) * Math.Pow(values.GetElement(j, 1), jamaMatrix.GetElement(i, 1))); } } JamaMatrix jamaMatrix3 = new JamaMatrix(jamaMatrix2.RowDimension * 2, jamaMatrix2.ColumnDimension * 2); jamaMatrix3.setMatrix(0, jamaMatrix2.RowDimension - 1, 0, jamaMatrix2.ColumnDimension - 1, jamaMatrix2); jamaMatrix3.setMatrix(jamaMatrix2.RowDimension, 2 * jamaMatrix2.RowDimension - 1, jamaMatrix2.ColumnDimension, 2 * jamaMatrix2.ColumnDimension - 1, jamaMatrix2); return jamaMatrix3; }
public FastPoly2PointTransformer(JamaMatrix matrix) : base(matrix) { this.polynomialDegree = 2; for (int i = 0; i < 12; i++) { this.c[i] = matrix.GetElement(i, 0); } }
public Affine2DPointTransformer(JamaMatrix matrix) { this.c0 = matrix.GetElement(0, 0); this.c1 = matrix.GetElement(0, 1); this.c2 = matrix.GetElement(0, 2); this.c3 = matrix.GetElement(1, 0); this.c4 = matrix.GetElement(1, 1); this.c5 = matrix.GetElement(1, 2); }
public static double Min(JamaMatrix gm) { bool flag = true; double num = 0.0; if (gm.RowDimension * gm.ColumnDimension <= 0) { throw new Exception("No elements."); } for (int i = 0; i < gm.RowDimension; i++) { for (int j = 0; j < gm.ColumnDimension; j++) { double element = gm.GetElement(i, j); if (flag || element < num) { num = element; flag = false; } } } return num; }