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
version Roman-Meader gave in
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
[mg12570]Re: About plotting a surface.
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"},
ButtonStyle->"MainBookLink"],
DisplayForm]\)
___________________________
Cheers,
Ted Ersek