// Special thanks to the Blender3d addon "Add Mesh - Extra Objects" for the inspiration! :)
// 				  and the presets of the addon, at: https://github.com/elfnor/blender_XYZ_surface_presets
// :)
{
  "TwistedTorus": {
    "x": "-cos(u)*(6-(5/4 + sin(3*v))*sin(v-3*u))",
    "y": "-(6-(5/4 + sin(3*v))*sin(v-3*u))*sin(u)",
    "z": "cos(v-3*u)*(5/4+sin(3*v))",
    "scale": 1,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 32,
    "uWrap": true,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": true,
    "vClose": true
  },
  "Bonbon": {
    "x": "(u-3.3379)",
    "y": "cos(u)*sin(v)",
    "z": "cos(u)*cos(v)",
    "scale": 2,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Boy": {
    "x": "(sq2 * cos(2*u)*pow(cos(v),2) + cos(u)*sin(2*v)) / (2 - alpha *sq2*sin(3*u)*sin(2*v))",
    "y": "(sq2 * sin(2*u)*pow(cos(v),2) - sin(u)*sin(2*v)) / (2 - alpha *sq2*sin(3*u)*sin(2*v))",
    "z": "(3*pow(cos(v),2)) / (2 - alpha*sq2*sin(3*u)*sin(2*v))",
    "scale": 4,
    "uRange": [-1.5707963705062866, 1.5707963705062866],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 3.1415927410125732],
    "vDivs": 32,
    "vWrap": false,
    "vClose": false,
    "variables": "alpha=1"
  },
  "Hexahedron": {
    "x": "pow(cos(v),3)*pow(cos(u),3)",
    "y": "pow(sin(u),3)",
    "z": "pow(sin(v),3)*pow(cos(u),3)",
    "scale": 8,
    "uRange": [-1.2999999523162842, 1.2999999523162842],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Klein": {
    "x": "(3*(1+sin(v)) + 2*(1-cos(v)/2)*cos(u))*cos(v)",
    "y": "(4+2*(1-cos(v)/2)*cos(u))*sin(v)",
    "z": "-2*(1-cos(v)/2)*sin(u)",
    "scale": 1,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 16,
    "uWrap": true,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Moebius": {
    "x": "(cos(v)+u*cos(v/2)*cos(v))",
    "y": "(u*sin(v/2))",
    "z": "(sin(v)+u*cos(v/2)*sin(v))",
    "scale": 4,
    "uRange": [-0.4000000059604645, 0.4000000059604645],
    "uDivs": 4,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Breather": {
    "x": "-u + (2*rr*cosh(alpha*u)*sinh(alpha*u))/denom",
    "y": "(2*ww*cosh(alpha*u)*(-(ww*cos(v)*cos(ww*v)) - sin(v)*sin(ww*v)))/denom",
    "z": "(2*ww*cosh(alpha*u)*(-(ww*sin(v)*cos(ww*v)) + cos(v)*sin(ww*v)))/denom",
    "scale": 2,
    "uRange": [-13.2, 13.2],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [-37.4, 37.4],
    "vDivs": 32,
    "vWrap": false,
    "vClose": false,
    "variables": "alpha = 0.4\nrr= 1 - pow(alpha,2)\nww = sqrt(rr)\ndenom = alpha*( pow(ww*cosh(alpha*u),2) + pow(alpha*sin(ww*v),2) )"
  },
  "RidgedTorus": {
    "x": "outer_radius*cos(u)+(ridge_power*sin(numofridges*u)+inner_radius)*cos(u)*cos(v)",
    "y": "outer_radius*sin(u)+(ridge_power*sin(numofridges*u)+inner_radius)*sin(u)*cos(v)",
    "z": "(ridge_power*sin(numofridges*u)+inner_radius)*sin(v)",
    "scale": 1,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 32,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false,
    "variables": "outer_radius = 5\nridge_power = 0.6\ninner_radius = 2\nnumofridges = 10"
  },
  "CliffordTorus": {
    "x": "cos(u+v)/(sq2+cos(v-u))",
    "y": "sin(v-u)/(sq2+cos(v-u))",
    "z": "sin(u+v)/(sq2+cos(v-u))",
    "scale": 4,
    "uRange": [0, 3.1415927410125732],
    "uDivs": 8,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 32,
    "vWrap": false,
    "vClose": false,
    "variables": "sq2 = 1.4142135623730951"
  },
  "Cyclide": {
    "x": "(thickness*(center_offset - aspect_ratio*cos(u)*cos(v) ) + radius*radius*cos(u)) / denom",
    "y": "(radius*sin(u)*(aspect_ratio-thickness*cos(v) ) )/denom",
    "z": "(radius*sin(v)*(center_offset*cos(u)-thickness ) )/denom",
    "scale": 4,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false,
    "variables": "aspect_ratio = 1\nradius = 0.98\ncenter_offset = 0.199\nthickness  = 0.3\ndenom = (aspect_ratio-center_offset*cos(u)*cos(v))"
  },
  "Shell": {
    "x": "(cos(v)*(1+cos(u))*sin(v/8))",
    "y": "(sin(u)*sin(v/8)+cos(v/8)*1.5)",
    "z": "(sin(v)*(1+cos(u))*sin(v/8))",
    "scale": 4,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 8,
    "uWrap": true,
    "vRange": [0, 12.566370964050293],
    "vDivs": 32,
    "vWrap": false,
    "vClose": false
  },
  "Catalan": {
    "x": "u-sin(u)*cosh(v)",
    "y": "4*sin(1/2*u)*sinh(v/2)",
    "z": "1-cos(u)*cosh(v)",
    "scale": 1,
    "uRange": [-3.1415927410125732, 9.42477798461914],
    "uDivs": 24,
    "uWrap": false,
    "vRange": [-2, 2],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Dini": {
    "x": "radius*cos(u)*sin(v)",
    "y": "2*(((cos(v)+ln(tan(v/2)+1E-2)) + twist_rotation*u)+3.4985)",
    "z": "radius*sin(u)*sin(v)",
    "scale": 1,
    "uRange": [0, 12.566370614359172],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 2],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false,
    "variables": "radius = 4\ntwist_rotation=0.2"
  },
  "Catenoid": {
    "x": "2*cosh(v/2)*cos(u)",
    "y": "v",
    "z": "2*cosh(v/2)*sin(u)",
    "scale": 1,
    "uRange": [-3.1415927410125732, 3.1415927410125732],
    "uDivs": 24,
    "uWrap": true,
    "vRange": [-3.1415927410125732, 3.1415927410125732],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Cochlea": {
    "x": "v*cos(u)",
    "y": "v*sin(u)",
    "z": "(0.4*u-2.5383)",
    "scale": 4,
    "uRange": [0, 12.566370964050293],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [0, 2],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Cosinus": {
    "x": "u",
    "y": "sin(pi* ( pow(u,2) + pow(v,2) ) )/2",
    "z": "v",
    "scale": 8,
    "uRange": [-1, 1],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [-1, 1],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Enneper": {
    "x": "u -pow(u,3)/3  + u*pow(v,2)",
    "y": "pow(u,2) - pow(v,2)",
    "z": "v -pow(v,3)/3  + v*pow(u,2)",
    "scale": 1,
    "uRange": [-2, 2],
    "uDivs": 8,
    "uWrap": false,
    "vRange": [-2, 2],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Helicoidal": {
    "x": "sinh(v)*sin(u)",
    "y": "3*u",
    "z": "-sinh(v)*cos(u)",
    "scale": 1,
    "uRange": [-3.1415927410125732, 3.1415927410125732],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [-3.1415927410125732, 3.1415927410125732],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Helix": {
    "x": "(1-0.1*cos(v))*cos(u)/0.1",
    "y": "0.1*(sin(v) + u/1.7 -10)/0.1 + 5",
    "z": "(1-0.1*cos(v))*sin(u)/0.1",
    "scale": 1,
    "uRange": [0, 12.566370964050293],
    "uDivs": 32,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Hyperhelicoidal": {
    "x": "(sinh(v)*cos(3*u))/(1+cosh(u)*cosh(v))",
    "y": "(cosh(v)*sinh(u))/(1+cosh(u)*cosh(v))",
    "z": "(sinh(v)*sin(3*u))/(1+cosh(u)*cosh(v))",
    "scale": 8,
    "uRange": [-3.1415927410125732, 3.1415927410125732],
    "uDivs": 32,
    "uWrap": false,
    "vRange": [-3.1415927410125732, 3.1415927410125732],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "PseudoCatenoid": {
    "x": "2.2*(2*cosh(v/2)*cos(u))",
    "y": "1.51166 * (2*cosh(v/2)*sin(u) * sin((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513) + 1.8*(v) * cos((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513))",
    "z": "1.51166 * (2*cosh(v/2)*sin(u) * cos((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513) - 1.8*(v) * sin((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513))",
    "scale": 1,
    "uRange": [-3.1415927410125732, 3.1415927410125732],
    "uDivs": 32,
    "uWrap": false,
    "vRange": [-3.1415927410125732, 3.1415927410125732],
    "vDivs": 14,
    "vWrap": false,
    "vClose": false
  },
  "PseudoSphere": {
    "x": "cos(u)*cos(v)+sin((sin(u)+1)*2*pi)",
    "y": "4*sin(u)",
    "z": "cos(u)*sin(v)+cos((sin(u)+1)*2*pi)",
    "scale": 2,
    "uRange": [-1.5707963705062866, 1.5707963705062866],
    "uDivs": 32,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 8,
    "vWrap": false,
    "vClose": false
  },
  "Sine": {
    "x": "sin(u)",
    "y": "sin(v)",
    "z": "sin(u+v)",
    "scale": 8,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 16,
    "uWrap": true,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 16,
    "vWrap": true,
    "vClose": true
  },
  "Snake": {
    "x": "1.2*(1 -v/(2*pi))*cos(3*v)*(1 + cos(u)) + 3*cos(3*v)",
    "y": "9*v/(2*pi) + 1.2*(1 - v/(2*pi))*sin(u)",
    "z": "1.2*(1 -v/(2*pi))*sin(3*v)*(1 + cos(u)) + 3*sin(3*v)",
    "scale": 1,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 7,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 42,
    "vWrap": false,
    "vClose": false
  },
  "SteroSphere": {
    "x": "(2*u/(u*u+v*v+1))",
    "y": "((u*u+v*v-1)/(u*u+v*v+1))",
    "z": "(2*v/(u*u+v*v+1))",
    "scale": 8,
    "uRange": [-2, 2],
    "uDivs": 16,
    "uWrap": false,
    "vRange": [-2, 2],
    "vDivs": 16,
    "vWrap": false,
    "vClose": false
  },
  "Torus": {
    "x": "(1+0.5*cos(u))*cos(v)",
    "y": "0.5*sin(u)",
    "z": "(1+0.5*cos(u))*sin(v)",
    "scale": 6,
    "uRange": [0, 6.2831854820251465],
    "uDivs": 8,
    "uWrap": false,
    "vRange": [0, 6.2831854820251465],
    "vDivs": 12,
    "vWrap": false,
    "vClose": false
  }
}
