R3.Geometry.VectorND.ProjectTo3D C# (CSharp) Method

ProjectTo3D() public method

4D -> 3D projection.
public ProjectTo3D ( double cameraDist ) : VectorND
cameraDist double
return VectorND
        public VectorND ProjectTo3D( double cameraDist )
        {
            double denominator = cameraDist - X[3];
            if( Tolerance.Zero( denominator ) )
                denominator = 0;

            // Make points with a negative denominator invalid.
            if( denominator < 0 )
                denominator = 0;

            VectorND result = new VectorND( new double[] {
                X[0] * cameraDist / denominator,
                X[1] * cameraDist / denominator,
                X[2] * cameraDist / denominator, 0  });
            return result;
        }