3-D Visualization

Creating Stream Particle Animations

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.

1. Specify the Starting Points of the Data Range to Plot

This example determines the region of the volume to plot by specifying the appropriate starting points. In this case, the stream plots begin a x = 100, y spans 20 to 50 and in the z = 5 plane. Note that this is not the full volume bounds.

• ```load wind
[sx sy sz] = meshgrid(100,20:2:50,5);
```

2. Create Stream Lines to Indicate the Particle Paths

This example uses stream lines (`stream3`, `streamline`) to trace the path of the animated particles. This adds a visual context for the animation. Another possibility is to set the `EraseMode` property of the stream particle to none, which would be useful for a single trace through the volume.

• ```verts = stream3(x,y,z,u,v,w,sx,sy,sz);
sl = streamline(verts);
```

3. Define the View

While all of 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 (`view`) selected shows both the plane containing most stream lines as well as the spiral.
• Selecting a data aspect ratio (`daspect`) of `[2 2 0.125]` provides greater resolution in the z-direction to make the stream particles more easily visible in the spiral.
• Set the axes limits to match the data limits (`axis`) and draw the axis box (`box`).
• ```view(-10.5,18)
daspect([2 2 0.125])
axis tight; box on
```

4. Calculate the Stream Particle Vertices

The first step is to determine the vertices along the stream line where a particle should be drawn. The `interpstreamspeed` function returns this data based on the stream line vertices and the speed of the vector data. This example scales the velocities 0.05 to increase the number of interpolated vertices.

Setting the axes `DrawMode` property to `fast` enables the animation to run faster.

The `streamparticles` function sets the following properties:

• `Animate` to `10` to run the animation 10 times
• `ParticleAlignment` to `on` to start all particle traces together
• `MarkerEdgeColor` to `none` to draw only the face of the circular marker. Animations usually run faster when marker edges are not drawn.
• MarkerFaceColor to `red`
• `Marker` to `o`, which draws a circular marker. You can use other line markers as well.
• ```iverts = interpstreamspeed(x,y,z,u,v,w,verts,0.05);
set(gca,'drawmode','fast');
streamparticles(iverts,15,...
'Animate',10,...
'ParticleAlignment','on',...
'MarkerEdgeColor','none',...
'MarkerFaceColor','red',...
'Marker','o');

```

 Displaying Divergence with Stream Tubes Vector Field Displayed with Cone Plots