Kostas,
> (%i5) f(x,y) := 10*sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)$
>
> (%i6) plot3d(f(x,y), [x,-20,20],[y,-20,20], [grid,80,80]);
>
> Maxima encountered a Lisp error:
>
> Error during processing of --eval option "(cl-user::run)":
>
> The value T is not of type DOUBLE-FLOAT.
What happened is that f(x, y) was evaluated for x=0 and y=0,
which caused a divison by 0, which was not handled gracefully
by plot3d. Sorry for the bother; this is a bug in the plotting code.
(Specifically a function named COERCE-FLOAT-FUN.)
> This doesn't happen if I use [grid,50,50].
Yes -- that happens to avoid f(0, 0).
One workaround --
g(x, y) := if equal(x, 0) and equal(y, 0) then 10 else f(x, y);
plot3d (g, [x, -20, 20], [y, -20, 20], [grid, 80, 80]);
Thanks for the bug report -- hope this helps,
Robert Dodier