Difference between revisions of "Bend Path"

From Inkscape Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
=Bend Path=
The following text was originally written by J.F. Barraud. It explains the mathematics behind the Bend Path effect.
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).
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) )
P is a map t --> P(t) = ( x(t), y(t) ) and B is a map t --> B(t) = ( a(t), b(t) )
Line 14: 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)