public static PosXYZ AlignTransform(PosXYZ pos, double[,] trans) { return(new PosXYZ(RigidAlign.Transform(pos.Data(), trans)) { Z = pos.Z }); }
public static PosXYZ AffineInverseTransform(TransformParams trans, PosXYZ pos) { return(new PosXYZ(RigidAlign.AffineInverseTransform(pos.Data(), trans.ToDoubles())) { Z = pos.Z }); }
public static Tuple <double[, ], double> CalcAlignTransform(List <PosXYZ> platform1, List <PosXYZ> platform2) { var ret = RigidAlign.Align( platform1.Select(p => p.X).ToArray(), platform1.Select(p => p.Y).ToArray(), platform2.Select(p => p.X).ToArray(), platform2.Select(p => p.Y).ToArray() ); return(new Tuple <double[, ], double>(ret.Item1, ret.Item2)); }