Name:      hog_2D --- hedgehog arrow plots for 2D 2-vector fields

Type:      mapper

Language:  C

Author:    Anonymous

Input:     field 2D float n-vector, n >= 2
           irregular, rectilinear, uniform

Output:    geom  (arrows, with or without heads)

Parameters:
           Scale    float   (unbounded)  sets relative length of arrows
           downsize int     1-16         subsamples field for fewer arrows
           arrows   toggle               arrow head visiblity control

Description:

 This module draws vector arrows on the lattice
 of a 2D field, at the node positions.
 It draws arrows in the 2D plane, given X-Y vector components.
 The downsize dial subsamples the mesh, so
 not all nodes get arrows, for clarity.
 There is never a Z component to the vectors,
 except that the arrow heads are 3D pyramids.
 Even if the input field is 3-vector or more,
 it only draws arrows assuming 2D vectors in first two
 vector components. The arrows are constructed from
 disjoint line segments.