Let say I have some 3d equation, something like




I'd like to do a stream plot that is a cross section for some fixed z. Is there a way to do this?

  • $\begingroup$ I'm not quite sure what you mean; since $dz/dt \neq 0$, the stream lines will generally not lie in a plane of fixed $z$. A naive "cross section" would then just be a bunch of points, corresponding to the intersections of each 3D streamline with the fixed-$z$ plane. Can you give an example of a plot somewhere else on the web that could help us visualize what you want? $\endgroup$ – Michael Seifert Aug 12 '16 at 17:52

You may use SliceVectorPlot3D.

 SliceVectorPlot3D[{y - x, z (y - x), y - z}, 
   {y == 0, z == a}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}],
 {{a, -1}, -1, 1}]

enter image description here

Hope this helps.

  • $\begingroup$ Interesting, I didn't know you could do that with the Sliced Vector Plot. This is sort of what I was looking for. Thank you! $\endgroup$ – zalba19 Aug 19 '16 at 16:30

By plotting the projection of your vectors on an x-y-plane, like so:

u = y - x
v[z_] = z (y - x)
Manipulate[StreamPlot[{u, v[z]}, {x, -1, 1}, {y, -1, 1}], {z, -1, 1}]

Is this what you're looking for?

  • 1
    $\begingroup$ Projection is a nice idea, but if the lines of StreamPlot represent trajectories over time, then z would be changing throughout that time altering the vector field & trajectories. While the lines have little significance, it seems to me the projected direction field has some meaning. $\endgroup$ – Michael E2 Aug 12 '16 at 19:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.