Ask Your Question

Revision history [back]

One thing you can do for starters is turn off the mesh with mesh=false since that keyword argument is Boolean. You can also improve the smoothness of the surface by setting plot_points higher than it's default of 40 in each direction.

If the surface could always be solved for each independent variable, one way to draw contour-like lines would be setting one variable to a constant, solving for the second in terms of the third and using parametric_plot. Since you can't do that for this surface, here's a workaround using a series of implicit_plot3d for lines with constant y-value:

for i in [ .1*j - .6 for j in range(0,13)]:
    g = (x^2 + 2.25*i^2 + z^2 - 1)^3 - (x^2)*(z^3) - 0.1125*(i^2)*(z^3)
    my_plot += implicit_plot3d(g, xint, (y,i-.01,i+.01), zint, color='black')

Here's a link to a live example. The function threejs at the end is a SageMathCell alternative to show.