RE: Mesh

• To: mathgroup at smc.vnet.net
• Subject: [mg23044] RE: [mg23020] Mesh
• From: "David Park" <djmp at earthlink.net>
• Date: Thu, 13 Apr 2000 02:43:29 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Adam Halverson wrote:
>
> Is there a way to change mesh density so that it isn't 1:1 with
> PlotPoints?  When plotting some rapidly varying functions, I need to up
> the PlotPoints, but the Mesh gets so dense that the entire plot is
> black.  I don't want to plot without the mesh because it's tough to see
> how some of the smaller parts of the functions are changing without
> it...
>

This is an interesting question and I am anxious to hear other responses.

In general, I would say that you do want the Mesh division to be the same as
the PlotPoint division. You say that you want the mesh to help delineate the
finer details. But if the mesh were coarser, it would in all probability
miss the details. If the function is uniformly detailed, you will have to
use a larger ImageSize to show it properly. Here is an example of a
uniformly detailed plot. It seems to me the mesh is about what you would
want.

Plot3D[Sin[x]*Sin[y], {x, -20, 20}, {y, -20, 20}, PlotPoints -> 150,
ImageSize -> 650];

But suppose you have a function which is smooth over most of its domain, but
is very detailed in certain parts. Help gives a good example under Mesh.

Plot3D[Sin[x + Sin[y/x]], {x, -1, 1}, {y, -1, 1}, PlotPoints -> 30,
AxesLabel -> {x, y, f[x,y]},
ImageSize -> 400];

There is no way to make the PlotPoints and Mesh fine enough to capture all
the detail in every portion of this plot. But you can always zoom in on a
relevant portion of the plot this way:

x0 = 0.02;
y0 = 1;
scale = 0.005;
Plot3D[Sin[x + Sin[y/x]], {x, x0 - scale, x0 + scale}, {y, y0 - scale, y0 +
scale}, PlotPoints -> {80, 30},
AxesLabel -> {x, y, f[x, y]}, ImageSize -> 400];

Moving 10 times closer to the y-axis requires a scale 100 times finer.

x0 = 0.002;
y0 = 1;
scale = 0.00005;
Plot3D[Sin[x + Sin[y/x]], {x, x0 - scale, x0 + scale}, {y, y0 - scale, y0 +
scale}, PlotPoints -> {80, 30},
AxesLabel -> {x, y, f[x, y]}, ImageSize -> 400];

It is possible to piece together a number of plots to have different meshes
in different regions, but the results are not likely to be worth the effort.
Far better to show an overall plot with selected close-ups.

David Park