# Formula (According to Blender) to create an Enneper Order 3

This is what an Enneper looks like in Blender, according to Math Functions - XYZ:

This is an Enneper, Order 3

The XYZ Functions (Enneper Blender) are as follows:

Is there a way to modify the default XYZ formula for Enneper, XYZ to create an Enneper Order 3? Is it better suited to Blender Python? Or perhaps Sverchok, especially now with Sverchok Extras - with an eye to minimal surfaces (of which Enneper is one)?

Can it be done, and if so how? If not, what would be a better avenue to pursue?

I did come up with this modified for Blender from MathMod. It's different. It's no Order 3. Missing a side.

From the formula here:

If a stands for n (so 3 in our case) and b for 2n-1 (so 5), then:

x = u*cos(v)-(u**b * cos(b*v) / b)

y = u*sin(v)+(u**b * sin(b*v) / b)

z = 2 * (u**a) * cos(a*v)/a


with:

0 < u < 1.2
-pi < v < pi


And:

a = 3
b = 2 * a - 1


Which is:

Then:

If you want to push u to its limits, set it between:

0 < u < sqrt(2)


And you can change the order setting a and b differently (b = 2 * a - 1), for instance:

If useful, here is the preset file "enneper_n.py" that can be stored into the preset directory (on Windows):

C:\Users\userName\AppData\Roaming\Blender Foundation\Blender\2.90\scripts\presets\operator\mesh.primitive_xyz_function_surface


Its content is:

import bpy
op = bpy.context.active_operator

op.x_eq = 'u*cos(v)-(u**b * cos(b*v) / b)'
op.y_eq = 'u*sin(v)+(u**b * sin(b*v) / b)'
op.z_eq = '2 * (u**a) * cos(a*v)/a'
op.range_u_min = 0.0
op.range_u_max = 1.2000000476837158
op.range_u_step = 32
op.wrap_u = False
op.range_v_min = -3.1415927410125732
op.range_v_max = 3.1415927410125732
op.range_v_step = 128
op.wrap_v = False
op.close_v = False
op.n_eq = 1
op.a_eq = '3'
op.b_eq = '2*a-1'
op.c_eq = '0'
op.f_eq = '0'
op.g_eq = '0'
op.h_eq = '0'
op.show_wire = True
op.edit_mode = False

• That's a confusing one.... where you transliterated cos(2n-1)t as cos(b*v), I would have gone for cos(b)*v ... everything looks ok, you must be right .... Commented Sep 12, 2020 at 18:23
• @RobinBetts, don't think so... here no parenthesis for cos mathcurve.com/surfaces.gb/enneper/enneper.shtml ... but I could be wrong... but if you try it, you'll see Commented Sep 12, 2020 at 18:44
• @RobinBetts if cos or sin independent of v, so finally a constant value.... can it work? don't think so Commented Sep 12, 2020 at 18:50
• Exactly.. you must be right. Confusing notation, though (theirs, not yours) Commented Sep 12, 2020 at 18:52
• @RobinBetts, have edited the answer with a blend in which i have saved "enneper N" preset. Not sure this preset is included in the file, but you can test it. Commented Sep 12, 2020 at 18:58