Ask Your Question
6

Limiting the display range of a 3d plot

asked 14 years ago

Mike Witt gravatar image

updated 3 years ago

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.)

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
2

answered 13 years ago

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.

Preview: (hide)
link
1

answered 14 years ago

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.

Preview: (hide)
link

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: 14 years ago

Seen: 2,501 times

Last updated: Oct 22 '11