Bend Path

From Inkscape Wiki
Revision as of 23:54, 6 March 2011 by Airhogs777 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Bend Path

The following text was originally written by J.F. Barraud. It explains the mathematics behind the Bend Path effect.

Let B be the skeleton path, and P the pattern (the path to be deformed).

P is a map t --> P(t) = ( x(t), y(t) ) and B is a map t --> B(t) = ( a(t), b(t) )

The first step is to re-parametrize B by its arc length: this is the parametrization in which a point p on B is located by its distance s from start. We obtain a new map s --> U(s) = (a'(s),b'(s)), that still describes the same path B, but where the distance along B from start to U(s) is s itself. We also need a unit normal to the path. This can be obtained by computing a unit tangent vector, and rotate it by 90°. We call this normal vector N(s).

The basic deformation associated to B is then given by:

(x,y) --> U(x)+y*N(x)

(i.e. we go for distance x along the path, and then for distance y along the normal)