W3C home > Mailing lists > Public > www-svg@w3.org > June 2006

[SVGMobile12] 16.2.6 Paced animation and complex types: Determination of a distance along a path.

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Sun, 11 Jun 2006 19:24:46 +0200
To: www-svg@w3.org
Message-Id: <200606111924.46245.Dr.O.Hoffmann@gmx.de>

Hello,

as mentioned correctly in 
'8.4 Distance along a path'
it requires some special formula to
determine a distance along a path,
especially if one needs this to
perform a paced animation with
animateMotion to get the absolute
value of velocity constant. keypoints
of animateMotion need a correct path
length to produce something useful, too.
Correct formulas are available
for example at wikipedia 
(keyword: arc length). This requires
a simple integration, not an even
simpler summation.
The formula given in the table
in '16.2.6 Paced animation and complex types'
is simpler and will not give
a useful result in general if 
applied to a paced animateMotion or
to keyPoints. 
For example if bezier curves are
used, it requires an integration to
get the correct distance along a
path. If the path consists of subpaths,
there should be one integration for
each subpath.
The distance between special
points of the path or even outside the
path is not very interesting for a paced 
animation or for keyPoints.
Normally the distance along the 
path is longer than the shortest
distance between two path points.

Another problem is, that according to
'8.3 Path data' only cubic and quadratic
beziers can contain 'control points'. 
Therefore the table in
'16.2.6 Paced animation and complex types'
does not define any distance for other 
path definitions.

For subpath definitions possible with SVG,
formulas as mentioned by wikipedia 
should be alway applicable, because 
the arc length of SVG-paths will be
always finite (this is often not the case 
for example for fractal arcs or ifs).


Best wishes
Received on Sunday, 11 June 2006 17:25:19 GMT

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