gnustep-dev
[Top][All Lists]
Advanced

[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








reply via email to

[Prev in Thread] Current Thread [Next in Thread]