Generating a Consistently Oriented Tangent Space

By Jeppe Revall Frisvad, 2017 (based on a paper and a blog posting)

This webpage is a demo made for a presentation entitled Combing Hair and Sampling Directions [slides], which I presented at a Christmas workshop in December 2014.

The demo was updated March 2017 to include newly published observations [Duff et al. 2017; Max 2017].

The Hairy Ball Theorem

An even-dimensional sphere does not possess any continuously differentiable field of unit tangent vectors. [Milnor 1978]

A function that given a unit direction vector generates a perpendicular unit vector must have discontinuity lines or at least one singular point.

If we try to comb a hairy ball flat, there will always be at least one tuft.

Combing a Hairy Ball

Mouse control: orbit - left button, dolly - middle button, pan - right button.
Touchscreen control: orbit - one finger, dolly - two finger pinch, pan - two finger drag. [properly supported in Chrome]

Drawing the hair strands along the vector $\vec{t} = (t_x, t_y, t_z)$ which is generated using the surface normal $\vec{n} = (n_x, n_y, n_z)$.

Please use a browser that supports HTML5 canvas. \[ \vec{t} = \vec{n} \]