A stream particle animation is useful for visualizing the flow direction and speed of a vector field. The “particles” (represented by any of the line markers) trace the flow along a particular stream line. The speed of each particle in the animation is proportional to the magnitude of the vector field at any given point along the stream line.
This example determines the region of the volume to plot by specifying the appropriate starting points. In this case, the stream plots begin at x = 100 and y spans 20 to 50 in the z = 5 plane, which is not the full volume bounds.
load wind [sx sy sz] = meshgrid(100,20:2:50,5);
verts = stream3(x,y,z,u,v,w,sx,sy,sz); sl = streamline(verts);
While all the stream lines start in the z = 5 plane, the values of some spiral down to lower values. The following settings provide a clear view of the animation:
The viewpoint (
selected shows both the plane containing most stream lines and the
Selecting a data aspect ratio (
[2 2 0.125] provides
greater resolution in the z-direction to make
the stream particles more easily visible in the spiral.
view(-10.5,18) daspect([2 2 0.125]) axis tight; set(gca,'BoxStyle','full','Box','on')
Determine the vertices along the stream line where a particle
will be drawn. The
returns this data based on the stream line vertices and the speed
of the vector data. This example scales the velocities by 0.05 to
increase the number of interpolated vertices.
Set the axes
SortMethod property to
the animation runs faster.
streamparticles function sets the following
run the animation 10 times.
start all particle traces together.
draw only the face of the circular marker. Animations usually run
faster when marker edges are not drawn.
which draws a circular marker. You can use other line markers as well.
iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.01); set(gca,'SortMethod','childorder'); streamparticles(iverts,15,... 'Animate',10,... 'ParticleAlignment','on',... 'MarkerEdgeColor','none',... 'MarkerFaceColor','red',... 'Marker','o');