# streamribbon

3-D stream ribbon plot from vector volume data

## Syntax

`streamribbon(X,Y,Z,U,V,W,startx,starty,startz)`

streamribbon(U,V,W,startx,starty,startz)

streamribbon(vertices,X,Y,Z,cav,speed)

streamribbon(vertices,cav,speed)

streamribbon(vertices,twistangle)

streamribbon(...,width)

streamribbon(axes_handle,...)

h = streamribbon(...)

## Description

`streamribbon(X,Y,Z,U,V,W,startx,starty,startz)`

draws stream ribbons from vector volume data `U`

, `V`

, `W`

.

The arrays `X`

, `Y`

, and `Z`

,
which define the coordinates for `U`

, `V`

,
and `W`

, must be monotonic, but do not need to be
uniformly spaced. `X`

, `Y`

, and `Z`

must
have the same number of elements, as if produced by `meshgrid`

.

`startx`

, `starty`

, and `startz`

define the
starting positions of the stream ribbons at the center of the ribbons.

The twist of the ribbons is proportional to the curl of the vector field. The width of the ribbons is calculated automatically.

`streamribbon(U,V,W,startx,starty,startz)`

assumes `X`

, `Y`

, and `Z`

are
determined by the expression

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

where `[m,n,p] = size(U)`

.

`streamribbon(vertices,X,Y,Z,cav,speed)`

assumes precomputed streamline vertices, curl angular velocity, and
flow speed. `vertices`

is a cell array of streamline
vertices (as produced by `stream3`

). `X`

, `Y`

, `Z`

, `cav`

,
and `speed`

are 3-D arrays.

`streamribbon(vertices,cav,speed)`

assumes `X`

, `Y`

, and `Z`

are
determined by the expression

[X,Y,Z] = meshgrid(1:n,1:m,1:p)

where `[m,n,p] = size(cav)`

.

`streamribbon(vertices,twistangle)`

uses the cell array of vectors `twistangle`

for the
twist of the ribbons (in radians). The size of each corresponding
element of `vertices`

and `twistangle`

must
be equal.

`streamribbon(...,width)`

sets the width of the ribbons to `width`

.

`streamribbon(axes_handle,...)`

plots into the axes object with the handle `axes_handle`

instead
of into the current axes object (`gca`

).

`h = streamribbon(...)`

returns a vector of handles (one per start point) to `surface`

objects.

## Examples

## Extended Capabilities

## Version History

**Introduced before R2006a**