MathGroup Archive 2000

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

Search the Archive

Re: tracing lines on surface-graphics

  • To: mathgroup at smc.vnet.net
  • Subject: [mg25616] Re: [mg25593] tracing lines on surface-graphics
  • From: BobHanlon at aol.com
  • Date: Mon, 16 Oct 2000 03:04:39 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 10/9/2000 9:58:47 PM, roommate222 at my-deja.com writes:

>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.
>

Needs["Graphics`Graphics`"];

Needs["Graphics`Graphics3D`"];

plotPts = 41;  
xMeshSeparation = 1/3;
yMeshSeparation = 1/2;
xmin = 0; 
xmax = 6;
ymin = 0; 
ymax = 4;

f[x_, y_] := x*y/4;

t[x_] := Evaluate[f[x, 1 + x/2]];

mesh = Join[
 Table[ScatterPlot3D[Table[{x, y, If[Positive[f[x, y]], 1.01, .99]*f[x, y]}, 
{y, ymin, ymax, (ymax-ymin)/(plotPts-1)}], PlotJoined -> True, PlotStyle -> 
AbsoluteThickness[1], DisplayFunction -> Identity], {x, xmin, xmax, 
xMeshSeparation}], 
 Table[ScatterPlot3D[Table[{x, y, If[Positive[f[x, y]], 1.01, .99]*f[x, y]}, 
{x, xmin, xmax, (xmax-xmin)/(plotPts-1)}], PlotJoined -> True, 
DisplayFunction -> Identity], {y, ymin, ymax, yMeshSeparation}]];

trace = ScatterPlot3D[Table[{x, 1+x/2, If[Positive[t[x]], 1.01, .99]*t[x]}, 
{x, xmin, xmax, (xmax-xmin)/(plotPts-1)}], 
PlotJoined -> True, PlotStyle -> {AbsoluteThickness[2], RGBColor[1, 0, 0]}, 
DisplayFunction -> Identity];

surf = Plot3D[f[x, y], {x, 0, xmax}, {y, 0, ymax}, PlotPoints -> plotPts, 
      Mesh -> False, AxesLabel -> {"x", " y", "\n\n\nz "}, 
      DisplayFunction -> Identity, ImageSize -> {430, 350}];

Show[Join[{surf}, {trace}, mesh], DisplayFunction -> $DisplayFunction, 
    ImageSize -> {430, 350}];


Bob Hanlon


  • Prev by Date: Re: Unusual speedup of Table
  • Next by Date: Re: Unusual speedup of Table
  • Previous by thread: Re: tracing lines on surface-graphics
  • Next by thread: Harmonic Analysis (Harmonic Matching) (Symbolic) in Mathematica