On Oct 16, 2:29 pm, Francois Maltey <fmal...@nerim.fr> wrote:
> Hello,
>
> Functions plot is fine with singular functions as
>
> plot (sin(1/x), x, 0, 5)
>
> Plot has also a symbolic option detect_poles=True.
> But this option isn't designed for theses plots.
> There are unpleasant vertical lines.
>
> plot (floor(10*x), x, 0, 2)
> plot (x*floor(1/x), x, 0, 2)
> plot (arctan ((tan(x)^2-1)/(2*tan(x)), x, 0, 2)
These are cool examples! I believe there is an 'exclude points'
option in the pipeline, though I can't remember the Trac number.
> I don't think it's too hard to compute about one function call per pixel,
> and then the mathematic are more respected !
Well, that's easier said than done - how many points is a pixel? The
plotting code doesn't say anything about pixels, I don't believe, and
setting ridiculously large tolerances is kind of fun to understand how
the code works. In general this algorithm does pretty well, though
plotting tan(x) is annoying still, if you want to fix that without
using show options.
> It's not pleasant to build a large list of points and then plot theses
> points (and not the polygonal line) because the speed isn't constant for
> any curves.
I'm not sure what you mean. Are you suggesting we use some sort of
curved primitives? A line with that many points is indistinguishable
from a curve (which Archimedes wouldn't have liked, but some other
Greeks argued), at least in a plot.
I think the real issue is that you don't want (nearly) vertical lines
in step-type functions, and this is a legitimate point of contention.
I think that at least on this side of the pond, step functions with
vertical lines are considered a legitimate representation of the
function. However, perhaps that should be revisited? Certainly the
graphs plot produces in such situations look like not the graphs of
functions, in a technical sense. However, note that the list of
points almost assuredly does not actually violate the vertical line
test!
Opinions from others?
- kcrisman
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---