Menu

#2836 Gnuplot-6.0.3 breaks Maxima draw3d() function

None
pending-fixed
nobody
None
2025-11-01
2025-11-01
F Russell
No

GNU/Linux Gentoo system. Gnuplot-6.0.3

Gnuplot-6.0.3 breaks Maxima draw3d() function

The Maxima computer algebra software has a function draw3d() that passes a data file and a gnuplot script to the gnuplot command.

If we consider the Maxima commands:

load(draw)$
draw3d(xrange=[-2,2], yrange=[-2,2], surface_hide=true, explicit(x^2-y^2, x, -1, 1, y, -1, 1))$

This will create a data file "data17462.gnuplot" and a gnuplot script "maxout17462.gnuplot."

Both files are attached and both files should be installed in the same directory for testing.

Executing the command "gnuplot -persist maxout17462.gnuplot" with gnuplot-6.0.2 will produce the expected 3D plot.

Executing the command "gnuplot -persist maxout17462.gnuplot" with gnuplot-6.0.3 will produce a plot containg the x,y,z axes but no surface is plotted.

Gnuplot-6.0.3 fails with this script.

I have traced the error to line #34 of the gnuplot script:

set pm3d at s depthorder explicit

If I comment out or remove this line than the plot succeeds with gnuplot-6.0.3.

Please reply if more information is needed.

2 Attachments

Discussion

  • Ethan Merritt

    Ethan Merritt - 2025-11-01

    Thank you for the reproducible example.
    Fixed now.

    For what it's worth, the issue was not with the set pm3d depthorder explicit command per se; the issue was the combination of pm3d depth ordering with set hidden3d. With rare exceptions, these two options are not generally useful in the same plot. You could equally well have recovered the correct plot by commenting out the set hidden3d line of the script. But yes, the combination should be handled correctly even if it is rare.

     
  • Ethan Merritt

    Ethan Merritt - 2025-11-01
    • status: open --> pending-fixed
    • Group: -->
    • Priority: -->
     

Log in to post a comment.