Re: tracing lines on surface-graphics
- To: mathgroup at smc.vnet.net
- Subject: [mg25596] Re: tracing lines on surface-graphics
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 11 Oct 2000 03:50:37 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <8rtst2$dpo@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, form Plot3D[] you get a SurfaceGraphics[] object. The first argument of SurfaceGraphics[] are the f[x[i],y[i]] on a regular matrix. To get the sparse meshlines you can take the rows or columns of this matrix, extend it whith the x and y values where the line is and add this line to a graphics object that is displayed whith the surface. Make a surface: gr = Plot3D[Sin[x^2 + y^2]/(1 + x^2 + y^2), {x, -Pi, Pi}, {y, -Pi, Pi}, PlotPoints -> 60, Mesh -> False, DisplayFunction -> Identity] compute a line : {nx, ny} = Dimensions[gr[[1]]]; xymesh = MeshRange /. gr[[2]]; {{x1, x2}, {y1, y2}} = xymesh; dx = (x2 - x1)/(nx - 1); dy = (y2 - y1)/(ny - 1); l1 = MapIndexed[{x1 + (First[#2] - 1)*dx, y1 + 30*dy, #} &, gr[[1, 30]]]; combine the two graphics: Show[Graphics3D[Line[l1]], gr] Regards Jens Alan Wetherby wrote: > > Hi - I can't find an obvious way to trace a line on a surface-graphics > object. I've plotted f(x,y) and got the surface I want, and now I want > to add a curve, say: x varies according to the plotted range, y=1+x/2, > z=f(x,y) --so it lies on the surface I've plotted. I've turned the mesh > off because it's too dense, given the number of points I'm plotting, > but I want to add a couple of such lines - another option would be to > trace every 20th mesh-line or something like that, but that doesn't > seem to be possible either. > > Thanks for any help -- Alan > > Sent via Deja.com http://www.deja.com/ > Before you buy.