Creating 3D shapes from pure math équatiojns

i love maths and i create 2d shapes with Python, using Matplotlib to plot them
i only use math algorithms, math functions, etc, only equations
i dont use simple shpae models like circle nor bezier curves
juste function families, parametric curves or surfaces etc
i would like to create 3D shapes, the aim is to 3d-print them
i have difficulties to make the link between python and some software that can deal with 3D-printers format.
some one showed me this rhino website this morning
do you think it could solve my problem ?

maybe you have a look at a package conmverting implicit function to meshes via discrete samling and marching algorithms?

yes that would be the solution
i understand, inyour answer, that rhino nor Grasshoper, can’t make this work

This is old equation based maths plug-in. Might still work?


Yes and No :wink: Rhino and Grasshopper cannot operate 3D-printers directly. There are additional tools and plugins which support certain workflows…
The Math-plugin creates NURBS curves and surfaces based on parametric equations which is rather limited topology compared to meshes and implicit functions like Stefan suggested.
Next problem is that Rhino uses IronPython but the hardcore math libraries are for CPython and do not work in Rhino directly. There are workarounds but these are somehow complicated…
Still you can do all this in Rhino but what is the benefit if you just want to use Math? There are CPython tools to create .stl files which is all a service provider needs to print your geometry.
Rhino is a great 3D tool in general but it is hard to tell if it does what you expect.
Can you tell us a bit more about what your are planning to do?

It sounds like 2 questions here.
1 - how to use rhino/grasshopper to model 3d shapes using mathematical equations?
Answer: check out the many resources listed in other responses.
2 - how to output from rhino/grasshopper to 3d printing software?
Answer: the most straightforward is, once you have modeled your form, export it as an stl. (that’s a pretty common format for 3d printers to accept). Then, I am making an assumption here, you can open/import that stl into your 3d printing software, (Cura for example), and prepare you model for slicing/printing. I’ve found that, at least with extrusion/filament based 3d printers, that they are often pretty “forgiving”. Meaning, (and not always), but often, a model that may say its " not water tight or suitable for printing", can still be printed. Of course, your case may vary, but I would say a first step would be to find/build a sample model in rhino/grasshopper, bake it, export it as an stl and give it a go.

1 Like

can you post one of your functions and the region of interset or the iso-value you want to extract?