W3C home > Mailing lists > Public > www-style@w3.org > April 2009

Re: [css3-transitions] Complex easing functions

From: Dr. Olaf Hoffmann <Dr.O.Hoffmann@gmx.de>
Date: Fri, 10 Apr 2009 12:36:35 +0100
To: www-style@w3.org
Message-Id: <200904101336.35969.Dr.O.Hoffmann@gmx.de>
For transitions Chebyshev polynomials (or similar
related functions) could be used as an additional 
alternative to provide some bouncing effects - 
for example one could simple note the number of the 
intended polynom.
Because they have a norm, they are not
outside of the box of allowed values and
they represent an explicite time dependency,
in case this is simpler to understand for some
authors. They have to be shifted a little bit to
meet the intended box [0;1], but they are 
often used to approximate/interpolate an arbitrary 
curve - therefore there should exist already
many modules to handle those polynomials
effectively.

http://en.wikipedia.org/wiki/Chebyshev_polynomials

Another option could be obviously trigonometric
functions - sinus, cosinus or the square of them.
They can be used to approximate arbitrary
explicite time dependent functions, if this is
really required (I do not assume, that this is
necessary for transitions).

Giovanni Campagna:
>> In general such equation does not exist for the Cubic-Bezier - is ambiguous
>> in our "space-time" ((C) Dr. O.Hoffmann).
>Not it is ambiguous, rather the equation X(t) =
>(1-t)^2*t*A+(1-t)*t^2*B+t^3 (parametric form for the Bezier Curve,
>given P0 = 0 and P3 = 1) is a cubic, so it can have (at most) three
>solutions, ie three values of the parameter, given a point of time.
>That is, you need to ensure that X(t) is bijective, so:
>1) there must exists at least a value for t in [0;1] so that X(t) >= 1
>and a value of t in [0;1] so that
>X(t) <= 0 (this ensures surjectivity)
>2) X(t) must be monotonic strictly increasing or strictly decreasing,
>that is it's first derivative must be never 0
>(Dr O.Hoffman said it must be strictly increasing, he was wrong
>because he assumed that the independent variable is t, the parameter,
>while really it is the time)

I noted the opposite ;o)
The time function (the time as a function of the parameter running
from 0 to 1) must have a monotonic behaviour; for
animation or transitions we do not really need strictly 
monotonic, what allows discrete jumps, what is not
possible of course in a classical space-time too, but
because viewers typically have only a display with
discrete time steps this can be neglected.
For example keyTimes  in SMIL/SVG
allow such a mixture of continuous and discrete
interpolation. With the current CSS drafts this is
not possible (but can be approximated within
an animation, not within a transition).

And I think, the arguments are almost the same, just from another
point of view. For a trajectory in space-time you need something
like a blackhole to get in an area with a classically strange time 
behaviour, but as far as we know, there is no practical possibility of 
time travels (this means more than one solution for one moment in time
for a classical trajectory - position in space as a function of time).
However superposition principles and quantum mechanics may not 
exclude, that an object is at the same time at different positions - but 
one needs again a projection to a classical observable for display,
what means something like a random choice, if there is more 
than one possible solution - I think, typical authors are not 
interested in such kind of behaviour, most of them are still
restricted to classical behaviour in their thinking ;o)
Received on Friday, 10 April 2009 11:46:43 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 22 May 2012 03:46:58 GMT