Beispiel #1
0
        public static double Test5_CubeScale_Inhomogenous(ref PointCloudVertices myPCLTarget, ref PointCloudVertices myPCLSource, ref PointCloudVertices myPCLResult)
        {
            myPCLTarget = PointCloudVertices.CreateCube_Corners(50);

            myPCLSource = PointCloudVertices.CloneVertices(myPCLTarget);
            PointCloudVertices.ScaleByVertex(myPCLSource, new Vertex(1, 2, 3));

            myPCLResult = IterativeClosestPointTransform.Instance.PerformICP(myPCLSource, myPCLTarget);
            return(IterativeClosestPointTransform.Instance.MeanDistance);
        }
Beispiel #2
0
        public static double Test5_CubeRotateTranslate_ScaleInhomogenous(ref PointCloudVertices myPCLTarget, ref PointCloudVertices myPCLSource, ref PointCloudVertices myPCLResult)
        {
            myPCLTarget = PointCloudVertices.CreateCube_Corners(50);

            myPCLSource = PointCloudVertices.CloneVertices(myPCLTarget);

            PointCloudVertices.Translate(myPCLSource, 0, 0, 149);
            PointCloudVertices.ScaleByVertex(myPCLSource, new Vertex(1, 2, 3));

            Matrix3d R = new Matrix3d();

            R = R.RotationXYZDegrees(90, 124, -274);
            PointCloudVertices.Rotate(myPCLSource, R);

            myPCLResult = IterativeClosestPointTransform.Instance.PerformICP(myPCLSource, myPCLTarget);
            return(IterativeClosestPointTransform.Instance.MeanDistance);
        }