       RE: Mesh on graphics3D objects

• To: mathgroup at smc.vnet.net
• Subject: [mg14359] RE: [mg14327] Mesh on graphics3D objects
• From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
• Date: Thu, 15 Oct 1998 00:29:00 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```Scott Morrison (scott at morrison.fl.net.au) wrote:
>
>
>I am trying to plot a complicated surface in Mathematica, using
>ParametricPlot3D or SurfaceListPlot3D (from Graphics`Graphics3D`).
>These both produce Graphics3D objects.
>I am trying to remove the mesh drawn over the surface (for Plot3D this
>is easily acheived with Mesh->False). Does anyone know how to do this?
>I can't work out anything!
>
>

Allan Hayes posted the following to the Mathgroup on 5/25/98 in
[mg12588] Re: About plotting a surface.

ParametricPlot3D[{x,y,Sin[x+ Sin[y]], EdgeForm[]},{x,0,6},{y,0,6}]

_____________________

Allan Hayes also posted the following to the Mathgroup on 5/30/98 in
[mg12655] Re: About plotting a surface.

NoMesh2[Graphics3D[c_,rest___]]:=
Graphics3D[{EdgeForm[],c/._EdgeForm :>Sequence[]},rest]

The code above is a more robust (and a bit more complicated) than a
The Mathematica Journal 2(3), 32.  This version is more robust because
it will get rid of any EdgeForm directives that may be present.

___________________

P.J. Hinton posted the next solution to the Mathgroup on 5-25-98 in

The graphics generated by Plot3D[] are represented by Mathematica as
SurfaceGraphics objects, for which Mesh is a valid option.  Surfaces
generated by ParametricPlot3D[] are represented internally with more
general Graphics3D objects, which do not support a Mesh option.  The
elimination of lines can be achieved through the EdgeForm[] directive,
which is used to modify the Polygon[] primitives in the Graphics3D
object.

Here is an example using a ParametricPlot3D[]-generated sphere

<<Graphics`ParametricPlot3D`

gr = (ParametricPlot3D[
{Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]},
{u, 0, 2Pi, Pi/20},
{v, -Pi/2, Pi/2, Pi/10}, DisplayFunction -> Identity] /.
Polygon[x_] -> {EdgeForm[], Polygon[x]} )

Show[gr, DisplayFunction -> \$DisplayFunction]

The operation above uses ReplaceAll[] (/.) to place all Polygon[]
primitives inside of lists which contain a null argument EdgeForm[]
directive.

See Section 2.9.9 of _the Mathematica Book_ for details.

You can also paste the following ButtonBox[] in a Mathematica notebook
to create a hyperlink that will point you to the relevant section.

\!\(\*
TagBox[
ButtonBox[\(Using\ the\ EdgeForm\ directive\),
ButtonData:>{"2.9.9", "9.14"},