W3C home > Mailing lists > Public > www-svg@w3.org > September 2010

Re: normalizedPathSegList in SVGPathElement

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Sat, 4 Sep 2010 13:22:16 +0200
To: www-svg@w3.org
Message-Id: <201009041322.16680.Dr.O.Hoffmann@gmx.de>
Dirk Schulze:

>...
>Can the specification provide a more detailed algorithm how to
>flatten/normalize a path, and how to synchronize both types of segment
>lists?

Conversion from relative paths to absolute paths  and S to C and T to Q
and H, V to L as mentioned in SVG tiny 1.2 should be trivial.

Within my SVG+PHP tutorial I looked on similar issues to 
normalise even more path data - typically useful to animate
from one shape to another.
It is for example possible to provide exact conversion 
rules from affine and quadratic curves to cubic
curves. However, because there is an infinite number of
possible parametrisations, the result depends on these
parametrisations, what matters for example within animation,
if the converted paths are animated and not the paths
converted for every interpolation step. To calculate 
the animation result and convert it then for the rendering
each time of course avoids problems with the parametrisation
dependence.

If elliptical arcs are approximated with cubic curves, one
always has to do the approximation for each animation
interpolation step. And because it is an approximation, 
to provide a simple rule to get the cubic curves path segments
representing an elliptical arc within the requirement of SVG to 
have at least an accuracy of one device pixel might be not trivial.
For this to hear some ideas how to get it correct enough
and fast (with a minimal number of cubic curves to meet
the required precision) at the same time would be interesting :o) 

Olaf
Received on Saturday, 4 September 2010 11:44:33 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:46 GMT