How can I insert a custom implicit equation in blender, draw its associated 2D curve and then create a revolution solid out of it?

I want to write down a parametric equation for a curve and then create a solid out of it. I would like to know the procedure (the pipeline/workflow) on how to do this. Let me explain.

I have an certain equation, that draws a curve in the 2D plane (the obvious example is $$x^{2}+y^{2} = R^{2}$$ draws a circle in 2D plane). Then, I want to be able to create a revolution solid out of it, with the possibility to choose the axis of rotation. How can I do this?

My question is: How can I insert a custom implicit equation in blender, draw its associated 2D curve and then create a revolution solid out of it?

My equation is not a trivial implicit equation like the one for a circunference, so I suspect that I will have to do some coding or geometry nodes. But I'm in dark here.

• I think you can probably include a more representative parametric equation in your post without fear of putting people off? Feb 27 at 20:50
• @RobinBetts well, probably, but I think that this would not be crucial. I want to know a general pipeline to implement what I'm asking. The question is essencially: how can I go from pure math to a 3D model? Feb 27 at 21:01
• > "how can I go from pure math to a 3D model?" Is this example related to your question? youtu.be/UQaiRcAAoxg?t=1668 Feb 27 at 21:31
• @M.N.Raia Fair enough.. my comment was just a nudge, because your expression of a circle is implicit, not parametric : (( sin(t), cos(t) ) ) Feb 28 at 6:47

I don't think there is a standard workflow for this, since there's no generalized way to discover $$xy$$ pairs satisfying any given equation. Therefore in the software it's usually done simply by densely sampling the available space with some εpsilon threshold defining accuracy. "Usually", because some clever software exists to find such points more efficiently, using machine learning, gradient descent etc. Such clever algorithms are not available in geonodes because it takes na order of magnitude more time to program something in geonodes than in a normal programming language, both because of the necessity to fight the noodles (links), and because the language is still quite limited: most importantly there isn't a robust system for using external libraries, database support etc...

Once you end up with a collection of points roughly satisfying your criteria, you can try to create a curve out of those points. Again, geonodes system doesn't have any special capability for that. If you start with a grid (points are connected with edges) and carefully adjust the comparison threshold not to separate any left vertex from the rest, you can then merge the excess to get rid of faces and ensure all vertices have only 2 edges. Then you can convert that to a single curve.

A curve, can revolve around a circle by using the "curve to mesh: profile" capability. Since you've given a circle as your formula, that's just revolving a circle around a circle which equals a torus. If you want to rotate in place, just make the (main) circle's radius $$0$$ - except it doesn't quite work, so use a radius very close but not exactly zero instead. You could then offset the resulting geometry towards the center to counter the fact the circle radius wasn't exactly $$0$$, but I don't think it matters much considering other inaccuracies of the setup.

Finally you can get rid of overlapping geometry by remeshing. Again, rotating a circle simply produces a sphere, not very impressive:

The (main) circle could be rotated before converting it to mesh, to control the axis of rotation.

Here's an approach in which you directly create a 3D mesh, also using sampling:

Search an import way for implicit equation in blender?