MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: Mathmatica Problem...
  • Next by Date: Scale on axis in ListPlot3D?
  • Previous by thread: Re: Mesh on graphics3D objects
  • Next by thread: Re: Mesh on graphics3D objects