/// <summary> /// 从点对应近似刚性仿射变换 /// </summary> public void VectorToRigid() { HTuple length = new HTuple(benchmark1_X.Length, benchmark1_Y.Length, benchmark2_X.Length, benchmark2_Y.Length).TupleMin(); if (benchmark1_X.Length == length && benchmark1_Y.Length == length && benchmark2_X.Length == length && benchmark2_Y.Length == length) { string info = string.Format("mark({0},{1}),mark({2},{3})== >> FindMark({4},{5}),FindMark({6},{7})", benchmark1_X[0].F, benchmark1_Y[0].F, benchmark1_X[1].F, benchmark1_Y[1].F, benchmark2_X[0].F, benchmark2_Y[0].F, benchmark2_X[1].F, benchmark2_Y[1].F); Debug.WriteLine(info); matrix.VectorToRigid(benchmark1_X, benchmark1_Y, benchmark2_X, benchmark2_Y); Debug.WriteLine(string.Format("[{0},{1},{2},{3},{4},{5}]", matrix[0].D, matrix[1].D, matrix[2].D, matrix[3].D, matrix[4].D, matrix[5].D)); Debug.WriteLine(string.Format("[{0},{1},{2},{3},{4},{5}]", matrix[0].D, matrix[1].D, matrix[2].D, matrix[3].D, matrix[4].D, matrix[5].D)); } else { Debug.Assert(false, "矩阵参数错误"); } }