protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = (a - v.Value * Math.Sin(u.Value / 2.0)) * u.Sin;
            double y = (a - v.Value * Math.Sin(u.Value / 2.0)) * u.Cos;
            double z = v.Value * Math.Cos(u.Value / 2.0);
            return new Point3D(x, y, z);
        }
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = (a * a * Math.Sin(2.0 * u.Value) * Math.Pow(v.Cos, 2)) / 2.0;
            double y = (a * a * u.Sin * Math.Sin(v.Value * 2.0)) / 2.0;
            double z = (a * a * u.Cos * Math.Sin(v.Value * 2.0)) / 2.0;
            return new Point3D(x, y, z);
        }
Example #3
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = 1.0;

            double x = radius * u.Cos * v.Sin;
            double y = radius * u.Sin * v.Sin;
            double z = radius * v.Cos;
            return new Point3D(x, y, z);
        }
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = u.Cos * (a + v.Sin * u.Cos - (Math.Sin(2.0 * v.Value) * u.Sin) / 2.0);
            double y = u.Sin * (a + v.Sin * u.Cos - (Math.Sin(2.0 * v.Value) * u.Sin) / 2.0);
            double z = u.Sin * v.Sin + (u.Cos * Math.Sin(2.0 * v.Value)) / 2.0;
            return new Point3D(x, y, z);
        }
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = 1;

            double x = (radius * u.Sin);
            double y = (radius * u.Cos);
            double z = v.Value;
            return new Point3D(x, y, z);
        }
Example #6
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = 1;

            double x = radius * u.Sin;
            double y = radius * u.Cos;
            double z = v.Value;

            return(new Point3D(x, y, z));
        }
Example #7
0
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double centerRadius = 2.0;
            double crossSectionRadius = 1.0;

            double x = (centerRadius + crossSectionRadius * v.Cos) * Math.Cos(-u.Value);
            double y = (centerRadius + crossSectionRadius * v.Cos) * Math.Sin(-u.Value);
            double z = crossSectionRadius * v.Sin;
            return new Point3D(x, y, z);
        }
Example #8
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = (a - v.Value * Math.Sin(u.Value / 2.0)) * u.Sin;
            double y = (a - v.Value * Math.Sin(u.Value / 2.0)) * u.Cos;
            double z = v.Value * Math.Cos(u.Value / 2.0);

            return(new Point3D(x, y, z));
        }
Example #9
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = u.Cos * (a + v.Sin * u.Cos - (Math.Sin(2.0 * v.Value) * u.Sin) / 2.0);
            double y = u.Sin * (a + v.Sin * u.Cos - (Math.Sin(2.0 * v.Value) * u.Sin) / 2.0);
            double z = u.Sin * v.Sin + (u.Cos * Math.Sin(2.0 * v.Value)) / 2.0;

            return(new Point3D(x, y, z));
        }
Example #10
0
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = 1;

            double x = (radius * u.Sin);
            double y = (radius * u.Cos);
            double z = v.Value;

            return(new Point3D(x, y, z));
        }
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double a = A;

            double x = (a * a * Math.Sin(2.0 * u.Value) * Math.Pow(v.Cos, 2)) / 2.0;
            double y = (a * a * u.Sin * Math.Sin(v.Value * 2.0)) / 2.0;
            double z = (a * a * u.Cos * Math.Sin(v.Value * 2.0)) / 2.0;

            return(new Point3D(x, y, z));
        }
Example #12
0
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double centerRadius       = 2.0;
            double crossSectionRadius = 1.0;

            double x = (centerRadius + crossSectionRadius * v.Cos) * Math.Cos(-u.Value);
            double y = (centerRadius + crossSectionRadius * v.Cos) * Math.Sin(-u.Value);
            double z = crossSectionRadius * v.Sin;

            return(new Point3D(x, y, z));
        }
Example #13
0
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = Radius;
            double height = MaxV-MinV;

            double x = (v.Value * radius * u.Cos) / height;
            double y = (v.Value * radius * u.Sin) / height;
            double z = v.Value;

            return new Point3D(x, y, z);
        }
Example #14
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double radius = Radius;
            double height = MaxV - MinV;

            double x = (v.Value * radius * u.Cos) / height;
            double y = (v.Value * radius * u.Sin) / height;
            double z = v.Value;

            return(new Point3D(x, y, z));
        }
Example #15
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double xRadius = 1.0;
            double yRadius = 1.0;
            double zRadius = 1.0;

            double x = xRadius * u.Cos * v.Sin;
            double y = yRadius * u.Sin * v.Sin;
            double z = zRadius * v.Cos;

            return(new Point3D(x, y, z));
        }
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double centerRadius = 2.0;
            double crossSectionRadius = 1.0;
            double n1 = N1;
            double n2 = N2;

            double x = (centerRadius + crossSectionRadius * SafePow(v.Cos, N2)) * SafePow(Math.Cos(-u.Value), n1);
            double y = (centerRadius + crossSectionRadius * SafePow(v.Cos, N2)) * SafePow(Math.Sin(-u.Value), n1);
            double z = crossSectionRadius * SafePow(v.Sin, n2);
            return new Point3D(x, y, z);
        }
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double xRadius = 1.0;
            double yRadius = 1.0;
            double zRadius = 1.0;
            double n1 = N1;
            double n2 = N2;

            double x = xRadius * SafePow(v.Sin, n1) * SafePow(u.Cos, n2);
            double y = yRadius * SafePow(v.Sin, n1) * SafePow(u.Sin, n2);
            double z = zRadius * SafePow(v.Cos, n1);
            return new Point3D(x, y, z);
        }
        protected override System.Windows.Media.Media3D.Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double centerRadius       = 2.0;
            double crossSectionRadius = 1.0;
            double n1 = N1;
            double n2 = N2;

            double x = (centerRadius + crossSectionRadius * SafePow(v.Cos, N2)) * SafePow(Math.Cos(-u.Value), n1);
            double y = (centerRadius + crossSectionRadius * SafePow(v.Cos, N2)) * SafePow(Math.Sin(-u.Value), n1);
            double z = crossSectionRadius * SafePow(v.Sin, n2);

            return(new Point3D(x, y, z));
        }
Example #19
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double xRadius = 1.0;
            double yRadius = 1.0;
            double zRadius = 1.0;
            double n1      = N1;
            double n2      = N2;

            double x = xRadius * SafePow(v.Sin, n1) * SafePow(u.Cos, n2);
            double y = yRadius * SafePow(v.Sin, n1) * SafePow(u.Sin, n2);
            double z = zRadius * SafePow(v.Cos, n1);

            return(new Point3D(x, y, z));
        }
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double x = X(u, v);
            double y = Y(u, v);
            double z = Z(u, v);

            double x2 = x * x;
            double y2 = y * y;
            double z2 = z * z;

            double f = (2.0 * x2 - y2 - z2 + 2.0 * y * z * (y2 - z2) + z * x * (x2 - z2) + x * y * (y2 - x2)) / 2.0;
            double g = (y2 - z2 + (z * x * (z2 - x2) + x * y * (y2 - x2))) * Math.Sqrt(3) / 2.0;
            double h = (x + y + z) * (Math.Pow(x + y + z, 3) + 4.0 * (y - x) * (z - y) * (x - z));
            return new Point3D(f,g,h/8.0);
        }
Example #21
0
        protected override Point3D Project(MemoizeMath u, MemoizeMath v)
        {
            double x = X(u, v);
            double y = Y(u, v);
            double z = Z(u, v);

            double x2 = x * x;
            double y2 = y * y;
            double z2 = z * z;

            double f = (2.0 * x2 - y2 - z2 + 2.0 * y * z * (y2 - z2) + z * x * (x2 - z2) + x * y * (y2 - x2)) / 2.0;
            double g = (y2 - z2 + (z * x * (z2 - x2) + x * y * (y2 - x2))) * Math.Sqrt(3) / 2.0;
            double h = (x + y + z) * (Math.Pow(x + y + z, 3) + 4.0 * (y - x) * (z - y) * (x - z));

            return(new Point3D(f, g, h / 8.0));
        }
Example #22
0
 private double X(MemoizeMath u, MemoizeMath v)
 {
     return(u.Cos * v.Sin);
 }
 protected abstract Point3D Project(MemoizeMath u, MemoizeMath v);
Example #24
0
 private double Y(MemoizeMath u, MemoizeMath v)
 {
     return(u.Sin * v.Sin);
 }
Example #25
0
 private double Z(MemoizeMath u, MemoizeMath v)
 {
     return(v.Cos);
 }
 private double Z(MemoizeMath u, MemoizeMath v)
 {
     return v.Cos;
 }
 private double Y(MemoizeMath u, MemoizeMath v)
 {
     return u.Sin * v.Sin;
 }
 private double X(MemoizeMath u, MemoizeMath v)
 {
     return u.Cos * v.Sin;
 }
Example #29
0
 protected abstract Point3D Project(MemoizeMath u, MemoizeMath v);