ArtVpath* art_vpath_perturb (ArtVpath *src); ArtVpath* art_vpath_affine_transform (const ArtVpath *src, const double matrix); ArtBpath* art_bpath_affine_transform (const ArtBpath *src, const double matrix);
Once vpaths and bpaths are constructed, it is possible to apply a number of transformations to these vector paths: art_vpath_perturb should not be really used by applications (but you might have to use it so...) but art_vpath_affine_transform and art_bpath_affine_transform are both widely used to apply affine transformations.
Perturbs each of the points by a small random amount. This is helpful for cheating in cases when algorithms haven't attained numerical stability yet.
Computes the affine transform of the vpath, using matrix as the transform. matrix is stored in the same format as PostScript, ie. x' = matrix * x + matrix * y + matrix y' = matrix * x + matrix * y + matrix
Result (x', y') = (matrix * x + matrix * y + matrix, matrix * x + matrix * y + matrix)
The definition of Affine matrices and the Known Bugs