# Limiting the display range of a 3d plot Is there any way to limit the display range of a 3d plot, using either jmol or tachyon? (Something similar to xmax and ymax with a 2d plot.)

edit retag close merge delete

Sort by » oldest newest most voted

I ran into this issue recently, and I ended up implicitly plotting a simple function like

sage: implicit_plot3d(x,(x,-10,10),(y,-10,10),(z,-10,10),opacity=0)+...


(where the ... were the rest of the functions I wanted to plot). This at least gave the graph a controllable scale, and then I adjusted the other functions to be within the box created by my first function.

more

I'm pretty sure the answer to this question is: "no". Robert Bradshaw and I implemented almost all of the 3D plotting code, and I specifically remembering not getting to this. I also just looked at the relevant source code and didn't see anything:

sage: f(x,y)=x^2+y^2
sage: G = plot3d(f, (-1,1), (-2,2))
sage: G.show??


By the way, the way this should work once it is implemented is that you'll type

sage: G.show(zmax=2)


and the plot would get cutoff at 2 instead of at 5 like it is currently shown.

I'm also not sure what the best way to implement this is. For some renderers it might easy -- just pass an option on to clip the viewing rectangle. One could also try to clip the 3d scene itself, but this could be arbitrarily hard.

more