Function: curvarrows - plot a 2D or 3D curve (parametric or cartesian) with arrows from a vector field at points on the curve.

Calling sequence:

curvarrows(fld,curv,t=a..b);
Parameters:

fld - the vector field, either a -component list or vector expression in the parameter t (specifying the vectors in terms of the parameter) or a function of variables whose values are -component lists or vectors (specifying the vector field in terms of Cartesian coordinates), where is 2 or 3.

curv - the curve, either a -component list or vector expression in the parameter t (for a parametric representation of the curve) or a scalar expression in t (representing the coordinate while t is the coordinate).

t - name for the parameter.

a , b - real constants, endpoints for the parameter interval.

Optional arguments:

Description:

Examples:

> with(surfarro,curvarrows):

Curve is a circle represented parametrically, vectors are tangent.

> curv1:= [cos(t),sin(t)];
F1:= diff(curv1,t);
curvarrows(F1, curv1, t = 0 .. 2*Pi, arrowcolour=blue,
scalefactor=1/2, arrowthickness=1, scaling=constrained);

Curve is a semicircle represented in Cartesian coordinates, vectors are normal.

> curv2:= sqrt(1-x^2);
F2:= [x,curv2];
curvarrows(F2,curv2, x = -1 .. 1,
scalefactor=1/3, scaling=constrained);

Parametric 3D curve, vector field is a function of , and coordinates. Note that 6 arrows appear because the arrows at the beginning and end of the parameter interval coincide.

> curv3:= [cos(t), sin(t), 1];
F3:= (x,y,z) -> [x, y, z];
curvarrows(F3,curv3, t = 0 .. 2*Pi,
arrowcolour=blue, scalefactor = 1/4, arrownum = 7, scaling=constrained);