Ask Your Question
6

Limiting the display range of a 3d plot

asked 2010-08-18 20:08:20 +0100

Mike Witt gravatar image

updated 2021-05-04 21:52:02 +0100

FrédéricC gravatar image

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 flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
2

answered 2011-10-22 00:35:43 +0100

process91 gravatar image

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.

edit flag offensive delete link more
1

answered 2010-08-18 20:26:40 +0100

William Stein gravatar image

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.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2010-08-18 20:08:20 +0100

Seen: 2,403 times

Last updated: Oct 22 '11