On 5/12/2024 3:57 PM, Fabrice Couvreur wrote:
Hi,
When I want to draw the curve which corresponds to n=60 (blue curve), it
doesn't seem possible: I don't understand.
Thanks
Fabrice
\startMPpage[offset=1DK]
numeric u;
u = 6cm;
interim linejoin := mitered;
interim ahangle := 30;
path xx, yy;
xx = ( (-0.3,0) -- 1.4 right) scaled u;
yy = ( (-0.1,0) -- 1.8 right) rotated 90 scaled u;
def compute_curve(suffix f)(expr xmin, xmax, xinc) =
((xmin,f(xmin))
for x=xmin+xinc step xinc until xmax:
.. (x,f(x))
endfor)
enddef;
for i = 1 upto 4:
vardef f(expr x) =x+exp(-i*x) enddef;
path curve;
curve = compute_curve(f,-0.4,1.4,0.0001) scaled u;
draw curve;
endfor;
vardef f(expr x) =x+exp(-6*x) enddef;
path curve;
curve = compute_curve(f,-0.4,1.4,0.0001) scaled u;
draw curve;
vardef f(expr x) =x+exp(-15*x) enddef;
path curve;
curve = compute_curve(f,-0.4,1.4,0.0001) scaled u;
draw curve;
vardef f(expr x) =x+exp(-60*x) enddef;
path curve;
curve = compute_curve(f,-0.4,1.4,0.0001) scaled u; ->>>>> not
drawn
best put a comment before the ->>>>>>>
draw curve withcolor blue;
drawarrow (0,0) -- (u,0) withpen pencircle scaled 1.5bp;
drawarrow (0,0) -- (0,u) withpen pencircle scaled 1.5bp;
label.urt("A",(0,1u));
draw xx;
draw yy;
draw (1u,0) -- (1u,1.8u);
label.llft("0",(0,0));
vardef mark_y_axis(expr value, name) =
save p; pair p; p = value * u * up;
draw (left--right) scaled 1 shifted p;
label.lft(name, p shifted 2 left);
enddef;
for a = 1 upto 1:
mark_y_axis(a, "");
endfor
mark_y_axis(1, "$1$");
vardef mark_x_axis(expr value, name) =
save p; pair p; p = value * u * right;
draw (up--down) scaled 1 shifted p;
label.bot(name, p shifted 2 down);
enddef;
for a = 1 upto 1:
mark_x_axis(a, "");
endfor
mark_x_axis(1, "$1$");
path rectangle;
rectangle = (-0.3u,-0.4u) -- (1.3u,-0.4u) -- (1.3u,-0.4u) --
(1.3u,1.4u) -- (-0.3u,1.4u)--cycle;
clip currentpicture to rectangle;
\stopMPpage
your exp usage:
exp(-60*-0.4)
if you see what huge numbers come out of that, like
-51.006602 11100558579.857309 l
-50.989594 11034154639.123087 l
-50.972586 10968147929.149401 l
-50.955579 10902536073.687559 l
-50.938571 10837316710.703716 l
you could imagine a viewer crapping out on that because no matter what
one clips it still is 'kind of drawn', so what viewer do you use?
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________