#7872: Adding coordinate transformations to plot3d
--------------------------------------------------------+-------------------
Reporter: olazo | Owner: olazo
Type: enhancement | Status:
needs_work
Priority: minor | Milestone:
sage-4.3.3
Component: graphics | Keywords:
Author: Bill Cauchois, Oscar Gerardo Lazo Arjona | Upstream: N/A
Reviewer: Karl-Dieter Crisman | Merged:
Work_issues: |
--------------------------------------------------------+-------------------
Comment(by wcauchois):
Replying to [comment:17 kcrisman]:
First of all, thanks for taking a look at this. Your comments are very
thorough and I will respond to each of them in turn.
> I haven't been able to do a thorough review yet, but in general I agree
that this looks very nice! Everything below should be interpreted as
nitpicking; however, because of the last item (doctests) I must put this
as 'needs work'.
>
> In spherical_plot3d, it is a 'drop' of water, not a 'drom'.
Yes, I think that's correct.
> In plot3d where the transformations are added, should it be
> {{{
> elif adaptive:
> }}}
> or
> {{{
> if adaptive:
> }}}
> That is, does transformation exclude adaptive? If so, this should be
documented. Also, shouldn't
I think transformation excludes adaptive since parametric_plot3d doesn't
support adaptive plots. I'll make sure to document this.
> {{{
> + from sage.symbolic.callable import is_CallableSymbolicExpression
> }}}
> be done only if transformation is not None?
Sure. I don't see how that really matters though, since its just an import
statement.
> The @interact doctests don't really make sense in the command-line
format. I tried them nonetheless, and it popped up a bunch of jmol
windows - looked nice! But there must be a better way to doctest this;
perhaps just A;B;C;D;E or something.
How about {{{show(A + B + C + D + E)}}} in the TESTS section below?
> Also, why are Cylindrical and Spherical imported in plot3d/all.py?
It's not clear to me why someone would want that available but not just
use e.g. spherical_plot3d or just import Spherical if they really needed
it?
This is one of the major features of the transformation system. You can
use spherical_plot3d, which will graph a function r in terms of phi and
theta, or you can specify transformation=Spherical() which lets you choose
the dependent and independent variables.
For example,
{{{
plot3d(..., transformation=Spherical('phi', ['r', 'theta']))
}}}
will graph a function phi in terms of r and theta. So basically you get
more flexibility by using Spherical(). Is there a way I could make that
clearer in the documentation?
> Also, doctests are needed for the abstract classes, and (for
readability) a blank line between methods wouldn't hurt.
Okay.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7872#comment:18>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.