Difference between revisions of "Bend Path"

From Inkscape Wiki
Jump to navigation Jump to search
 
Line 15: Line 15:


(i.e. we go for distance x along the path, and then for distance y along the normal)
(i.e. we go for distance x along the path, and then for distance y along the normal)
[[Category:Developer Documentation]]

Latest revision as of 23:54, 6 March 2011

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)