I need a parametric equation for the Taubin heart surface, which is defined in implicit form. I asked a similar question in math branch, but didn't get an answer.

This is the implicit form:

$$\\\left(x^2+\frac{9y^2}{4}+z^2-1\right)^3-x^2 z^3-\frac{9y^2 z^3}{80}=0$$

This is the same written in Wolfram Language:

(x^2 + (3/2)^2 y^2 + z^2 - 1)^3 - x^2 z^3 - (3/2)^2/20 y^2 z^3 == 0

How can I use a Mathematica to find a parametric equation equivalent?

  • 4
    $\begingroup$ If there is a point from which all rays intersect the surface in at most one point, then a parametrization in terms of spherical coordinates is possible. Might not be able to solve the equations, though, if you want symbolic formulas for the coordinates. (BTW, it's nice to have formulas in Mathematica code as well, since it will make it more likely that someone will copy into their Mathematica and try an idea out for you.) $\endgroup$
    – Michael E2
    Nov 3, 2019 at 16:21
  • 1
    $\begingroup$ I suspect that this is one of the kind of surfaces that requires an elliptic function to parametrize properly (from a cursory look at the equation's form), so I do not have much hope of you ever finding a simple radical-free trigonometric parametrization (equivalently, a rational parametrization, since the two are trivially related through the Weierstrass substitution). $\endgroup$ Nov 13, 2019 at 8:32

1 Answer 1


Putting Michael E2's comment into an answer.

f = {x, y, z} \[Function] (x^2 + (3/2)^2 y^2 + z^2 - 1)^3 - x^2 z^3 - (3/2)^2/20 y^2 z^3;
X = {ϕ, θ} \[Function] r[ϕ, θ] {Cos[θ] Cos[ϕ], Cos[θ] Sin[ϕ], Sin[θ]};
sol = Solve[f @@ X[ϕ, θ] == 0, r[ϕ, θ], Reals] // Simplify;
surf1 = X[ϕ, θ] /. sol[[1]];
surf2 = X[ϕ, θ] /. sol[[2]];
ParametricPlot3D[surf1, {ϕ, -Pi, Pi}, {θ, -Pi/2, Pi/2}]

enter image description here

  • $\begingroup$ Thank you very much! surf1 and surf2 is equal lines, please edit $\endgroup$
    – PavelDev
    Nov 3, 2019 at 17:00
  • $\begingroup$ Fixed it. You're welcome. $\endgroup$ Nov 3, 2019 at 17:07
  • $\begingroup$ I printed the output equation. Can we get result without root objects? My goal was to find an equation that could be plot in most programs $\endgroup$
    – PavelDev
    Nov 3, 2019 at 20:19
  • 2
    $\begingroup$ @PavelDev The equation is degree 6, and one has to be lucky for its solution to be reducible to radicals. Perhaps there's a way to approximate sol, which would good enough to reproduce the figure. -- Henrik's solution does give the parametrization in spherical coordinates. $\endgroup$
    – Michael E2
    Nov 3, 2019 at 21:54
  • 2
    $\begingroup$ @PavelDev Theoretically it is possible that no solutions in radicals exist. They probably do not exist. Solutions in radicals of a general polynomial equation exist only up to degree 4. If the equation can be solved in the way you want, I don't know how to do it. $\endgroup$
    – Michael E2
    Nov 4, 2019 at 2:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.