Deriving parametric surface using mathematical equation

I was exploring minimal surfaces and came across various types of minimal surfaces that have been researched by scientists before. One of them is Bour’s surface and I got to learn about its coordinates equation for internet link given below.

Though I have got points that approximate the boundary curves, But how to derive surface from these points is still a challenge. Maybe I need another equation in terms of U and V or the information I have is sufficient to derive the surface. Any help would be appreciated. I am attaching the initial file I have worked on. Thank you.

BOUR’S (11.1 KB)

Parametriccuriosity (19.1 KB)


@Mahdiyar, How did you create that video?

By animating the slider.
CameraCrane for controlling the camera.
Bulk Image Converter for converting image files from BMP to JPG.
AfterEffects for creating Image Sequence animation.


And just to add a more “GH” way, you could use Daniel Piker images to GIF


Thanks @Mahdiyar, @laurent_delrieu, :slight_smile: I actually knew this method but I thought it’s something fancier that I did not know about.

you can also check horster plugin for grasshopper. It is a nice and simple tool to generate animation like those too.

1 Like

Thanks a lot Mahdiyar. I think problem with me was to understand math behind it. Your script made it clear both in terms of mathematical logic and process to do it in grasshopper. What I understood is that domain for this surface is sphere that is one variable and radius as another.

1 Like

don’t forget to enable interpolate

and if you want more control (u,v points number)

Parametriccuriosity (22.2 KB)

This also will help you :
Math surfaces from


Thanks for the help @seghierkhaled I was trying to work up an enneper surface today too. Had similar problems figuring out how to convert some of the math into Cartesian equations. It was tough to find equations that were already Cartesian and also showed how get the degree/order of the surface parameterized so I could keep adding more “ruffles”.

In addition to your work, this helped me out too:


Here’s finally worked:

parametric surface (24.1 KB)


For details about NURBS including efficient algorithms for evaluating and working with NURBS see The NURBS Book. by Piegl and Tiller, 1997.

Thanks for the tip @davidcockey

So when we cross-reference to make a 2D matrix of u,v values is this the same as writing a nested for-loop to make a 2D matrix was well?

The next thing I’m trying to wrap my head around is is how/why in these equations the r and t values are related to the u and v values.

r and t are parameters in those equations with “r” from radius and “t” from angle which is frequently represented by the greek letter theta. There may not be NURBS equations which exactly corresponds to those equations. If there are NURBS equations which correspond exactly to those equations the u and v parameters used in the NURBS equations would be different than the r and t parameters.

Simpler example:

A surface bounded by a circle can be represented by parametric equations:
x = r * consine(t)
y = r * sine(t)
with r having values from 0 to the maximum radius and t have values from 0 to 2*Pi

A surface bounded by a circle can be represented exactly by a rational NURBS surface which is single span degree 1 in the radial direction (u) and 4 span degree 2 in the circumferential direction (v). However the values of v at any point on the surface with the exception of along the quadrent lines will be different than the value of the t parameter. CircleSurfaceDC.3dm (1.5 MB)

It is important to understand that while the equations for NURBS curves and surfaces are parametric, only a small subset of parametric curves and surfaces can be represented exactly by NURBS equations.

1 Like