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); }
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); }
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)); }
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); }
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 = 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)); }
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)); }
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)); }
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); }
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)); }
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)); }
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); }
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)); }
private double X(MemoizeMath u, MemoizeMath v) { return(u.Cos * v.Sin); }
protected abstract Point3D Project(MemoizeMath u, MemoizeMath v);
private double Y(MemoizeMath u, MemoizeMath v) { return(u.Sin * v.Sin); }
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; }