AutoStereogramDemo.MathHelper.Divide C# (CSharp) Method

Divide() public static method

public static Divide ( double num, double denom, double &x ) : bool
num double
denom double
x double
return bool
        public static bool Divide(double num, double denom, out double x)
        {
            x = 0;

            if (Math.Abs(denom) < Math.Abs(num))
            {
                if (Math.Abs(denom / num) < 1e-7)
                    return false;
            }
            else if (denom == 0 && num == 0)
                return false;

            x = num / denom;
            return true;
        }

Usage Example

Example #1
0
        private bool GetPlaneRayIntersection(int xProj, int yProj, double eyeXPos, double a, double b, double c, double d, out double x, out double z, CheckPoint checkPoint)
        {
            x = z = 0;

            double dx = xProj * PixelWidthInternal - eyeXPos;
            double dy = yProj * PixelHeight - eyeYPos;
            double dz = DistanceToEyes;

            double t;

            if (!MathHelper.Divide(-(a * eyeXPos + b * eyeYPos - c * DistanceToEyes + d), a * dx + b * dy + c * dz, out t))
            {
                return(false);
            }

            x = eyeXPos + t * dx;
            z = -DistanceToEyes + t * dz;

            return(checkPoint != null?checkPoint(x, eyeYPos + t *dy, z) : true);
        }
MathHelper