예제 #1
0
		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;
		}
예제 #2
0
		public FastPoly2PointTransformer(JamaMatrix matrix) : base(matrix)
		{
			this.polynomialDegree = 2;
			for (int i = 0; i < 12; i++)
			{
				this.c[i] = matrix.GetElement(i, 0);
			}
		}
예제 #3
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);
		}
예제 #4
0
		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;
		}