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

Re: animateMotion - specifying a start position along a path that is not the beginning of the path

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Sun, 12 Dec 2010 14:59:44 +0100
To: www-svg@w3.org, ryan.arnold@gmail.com
Message-Id: <201012121459.44718.Dr.O.Hoffmann@gmx.de>

the example seems to be pessimised with scripting,
therefore the example is presented as an empty file
for me ;o)

However following your explanation my idea would
1. to determine/calculate the length of the path and 
the lengths of each car as a fraction of the length of
the path (if you have problems with calculation for the
path, you can use stroke-dasharray to iterate it manually)
2. to use corresponding keyPoints and keyTimes
(for each car the sum of the fractions of the cars before,
respectively behind, depending on the order, see below)

For a closed path it might be necessary to repeat
the motion path to be able to provide keyPoints for
one complete turn for every car.
For an open path you might need additional motions
(maybe discrete) to remove the cars from the path
at the right time - or whatever might happen, if they
are at the end of the path.

It is maybe a good idea to to turn around the order of cars
to get a simpler method to position the cars correctly
with the keyPoints.

There can be more complications if calcMode is
not paced or the lengths of cars change within the
active duration.

If you want to use your approach with different 
begin times (what could be simpler for several
viewers/user-agents), the approach is almost
the same, first the determination of the length
of the path and the lengths of each car, then
use corresponding vales for begin (active
duration multiplied by sum for fractions of cars 

If you agree to simplify the car presentation to a
basic stroke (I like abstraction ;o), 
you can try to realise it with an animation 
of stroke-dasharray as well, avoiding advanced
calculations of path and car lengths, fractions, 
keyTimes and keyPoints ;o)

Received on Sunday, 12 December 2010 14:00:18 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 March 2017 09:47:23 UTC