[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Need informations about NSAnimation on MacOS
From: |
Xavier Glattard |
Subject: |
Re: Need informations about NSAnimation on MacOS |
Date: |
Fri, 23 Mar 2007 13:05:46 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Fred Kiefer <fredkiefer <at> gmx.de> writes:
> Xavier Glattard wrote:
> >
> > 2) I dont understand the 3 NSAnimationCurve...
> > - Are they linear or polynomic functions ?
> > - what do 'slowly speeds up' and 'slows down' really mean ?
> >
>
> You may think of these function as a sort of gamma corrections for the
> progress
> "Slowly speeds up" would just mean that your display less progress than
> might be suggested by the mere numbers.
> The more I think about it, an S-shaped gamma correction curve is the
> best analogy I come up with.
>
> Fred
I think i understand 'gamma curve' :-)
<french> un dessin est mieux qu'un long discours </french> :-)
Linear : EaseIn : EaseOut: EaseInOut:
| + | + | +++ | ++
| + | + | ++ | ++
| + | + | + | +
| + | + | + | +
| + | + | + | +
| + | + | + | +
| + | + | + | +
| + | ++ | + | +
| + | ++ |+ | ++
|+ |++ |+ |++
+---------- +---------- +---------- +----------
Is that Ok ?
But these curves may be made of straight lines, or x^2, x^3 curves.
ie for EaseInOut something like :
if (progress <= 1/3)
value = K1 * progress;
if (progress > 1/3 && progress <= 2/3)
value = K2 * progress + D1;
if (progress > 2/3)
value = K1 * progress + D2;
or like :
value = A*progress^3 + B*progress^2 + C*progress
Thanks :-)
Xavier