Re: Adding markers on the surface of a Plot3D?

*To*: mathgroup at smc.vnet.net*Subject*: [mg89517] Re: Adding markers on the surface of a Plot3D?*From*: Szabolcs <szhorvat at gmail.com>*Date*: Wed, 11 Jun 2008 05:14:56 -0400 (EDT)*References*: <g2b4o8$nm2$1@smc.vnet.net> <g2dbpl$9q9$1@smc.vnet.net>

On Jun 11, 10:19 am, mike-g2 <michael.a.gilchr... at gmail.com> wrote: > On Jun 7, 3:02 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de> > wrote: > > > > > Hi, > > > a) yes you are right, it' cant be done : > > > fun[x_, y_] := Sin[x*y] > > > DynamicModule[{plt}, > > plt =Plot3D[fun[x, y], {x, -Pi, Pi}, {y, -Pi, Pi}]; > > Manipulate[ > > xline = ParametricPlot3D[{x, yc, fun[x, yc]}, {x, -Pi, Pi}]; > > yline = ParametricPlot3D[{xc, y, fun[xc, y]}, {y, -Pi, Pi}]; > > Graphics3D[{plt[[1]], > > Sphere[{xc, yc, fun[xc, yc]}, 0.1], {AbsoluteThickness[4], > > RGBColor[1, 0, 0], xline[[1]], yline[[1]]}}], > > {{xc, 0}, -Pi, Pi}, {{yc, 0}, -Pi, Pi} > > ] > > ] > > > and an other impossible example > > > fun[x_, y_] := Exp[-x^2 - y^2] > > > DynamicModule[{plt}, > > plt =Plot3D[fun[x, y], {x, -Pi, Pi}, {y, -Pi, Pi}, > > PlotStyle -> Opacity[0.5], PlotRange -> All]; > > Manipulate[ > > pnt = Append[xy, fun @@ xy]; > > Graphics3D[{plt[[1]], Line[{Append[xy, 0], pnt}], > > Sphere[pnt, 0.1], {AbsoluteThickness[4], RGBColor[1, 0, 0], > > Line[{pnt, pnt*{1, 1, 2}}]}}, PlotRange -> All], > > {{xy, {0, 0}}, Slider2D} > > ] > > ] > > > and > > > Show[] evaluates to a Graphics[]/Graphics3D[] and the FrontEnd > > show this graphics lik it show you the result of Expand[(x+1)^1000] > > but in older Mathematica versions the FrontEnd need an other program > > to display the PostScript and Show[] had a side effect that it paste > > a rendered image in the Notebook. > > > Regards > > Jens > > > AES wrote: > > > I'd like to highlight the two mesh lines that pass through a certain > > > central point -- let's call it the point {xc,yc} -- on aPlot3Dby > > > thickening those two lines relative to the other mesh lines, or giving= > > > them a distinctive color, or . . . > > > > Or put a dot on the surface at the point {xc, yc, f[xc,yc]} to identif= y > > > this location on the surface . . . > > > > Or run a vertical "post" up through that point using something like > > > Line[{xc, yc, 0}, {xc, yc, 2*f[xc,yc]}}] (with the part of the post > > > below the surface not being seen if you look at the surface from > > > above) . . . > > > > I think I've so far tested and confirmed every possible way in which > > > each of these tasks _can't_ be done . . . > > > > [And would someone want to help me understand _why_ the > > > Show[ - - - - -] command (followed by a semicolon) no longer works, or= > > > can no longer be used, as one of a sequence of multiple expressions > > > within a longer cell? And why it can't even have a semicolon follow= ing > > > it as the last line in a cell? I just can't envision the logic of w= hy > > > this was a necessary (or optional?) interface design decision -- isn't= > > > Show[---] an expression?] > > So I struggled with this issue previously trying to use Epilog with > Plot3D, but to no avail. Could some one please explain why Epilog > won't work for adding a 3D object to a Plot3D or, if it will work, > give an example? > Epilog does work with Graphics3D, but only for superposing 2D graphics on the image. To add 3D objects, use Show[].