A covector ω is a stack of parallel lines. ω(v) is the (signed) number of lines you cross going from 0 to v.
vector v
covector ω (gradient direction)
||| level lines ω·x = k
Covector ω
1.00
0.50
Vector v (drag tip)
1.40
0.80
The classical picture of a covector. A vector is an
arrow. A covector is a stack of equally spaced parallel lines:
the kernel ω·x = 0 plus its integer translates.
Acting on a vector means counting: ω(v) is the
signed number of lines that the segment 0 → v crosses.
Drag v's tip on the canvas: the integer-valued counter under
“crossings” jumps as the arrow tip sweeps past each line.
When ω rotates (slide ω1, ω2),
the level-line stack rotates too, and the spacing – equal to
1/|ω| in the plane – tightens as |ω| grows. The
numeric value ω(v) = ω1v1
+ ω2v2 is just the algebra
underneath this picture.