Re: How to apply EdgeForm to ParametricPlot3D?
- To: mathgroup at christensen.cybernetics.net
- Subject: [mg1700] Re: How to apply EdgeForm to ParametricPlot3D?
- From: wagner at bullwinkle.cs.Colorado.EDU (Dave Wagner)
- Date: Mon, 17 Jul 1995 03:34:29 -0400
- Organization: University of Colorado, Boulder
In article <DBKyKB.4BF at wri.com>, Gabriel Berriz <berriz at husc.harvard.edu> wrote: > > >Hello. Is it possible to apply the EdgeForm Graphics3D directive to a >surface plot done with ParametricPlot3D? The Book says nothing to the >contrary, but I haven't found a way of getting it to work >(i.e. ParametricPlot3D *always* draws black edges on the polygons >forming the surface, regardless of EdgeForm directives). Does anybody >know how to do it? You can apply EdgeForm to *any* Graphics3D object. The form of a Graphics3D object is "Graphics3D[primitives, options]", where each of the two parts is a list. (A list of polygons, lines, and so forth in the first case, and a list of options in the second.) Hence the following does what you want with the Graphics3D object "g3dobj": Show[Graphics3D[{EdgeForm[whatever], g3dobj[[1]]}, g3dobj[[2]] ]] where "whatever" is a list of style directives. Note that the primitives (the first element of the object) can be arbitrarily nested, so there's no problem adding another level of nesting to it. You can leave out the second componenet if you want to, but then you would lose any special formatting options that were already in the object. Here's an example. I have no idea what this gizmo is but it was the first thing I could think of plotting parametrically. In[1]:= ParametricPlot3D[{Sin[u], Cos[u]Sin[t], Cos[t]}, {u,-Pi,0}, {t,0,Pi}] In[2]:= Show[Graphics3D[{EdgeForm[Hue[0]], %[[1]]}, %[[2]]]] Dave Wagner Principia Consulting (303) 786-8371 dbwagner at princon.com http://www.princon.com/princon