Easing research

My notes on easing

Animator notes:


From facebook pop (inspiration for motion names)

_anim.fromValue = @(0.0);
_anim.toValue =  @(100.f);
_anim.springBounciness = 20.1;
_anim.springSpeed = 20.4;
_anim.dynamicsTension = 200;
_anim.dynamicsFriction = 100.f;
_anim.dynamicsMass = 1.f;
_anim.property = self.pop;
//[shape pop_addAnimation:_anim forKey:nil];

Maybe You can use CAMediaTimingFunction as a function for easing? if you figure out how to use them

anim.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//
anim.fromValue = @(0.0);

Custom Easing methods

Spring anim names

  • damping: The amount of friction. Must be greater than or equal to zero. If exactly zero, the harmonic motion will continue indefinitely. Typical range: 1.0 to 30.0
  • stiffness: The stiffness of the spring. Must be greater than zero. Typical range: 1.0 to 500.0
  • mass: The a

Visualizing of easing: http://easings.net

Here are the easing methods: in code:

Robert Penner easing

func noEasing (t, b, c, d) {
	return c * t / d + b;

t: time b: begin c: change d: duration

  • Creative easing formulas: http://sol.gfxile.net/interpolation/


  • [ ] Add multiple easing methods

Related Posts

Infinite Tree List

My notes on Infinite tree list

Protocol Inheritance

My notes on Protocol Inheritance

Protocol Ambiguity

How to differentiate protocol ambiguity

The Ultimate Xcode Workflow

Spend zero time managing dependencies

Faster Xcode With Spm

How you can speed up compile times in XCode with Swift Package Manager

Spm And Ci Travis

My notes on Swift PM + CI Travis

Spm And Nested Frameworks

My notes on Swift package manager + XCode + Nested frameworks

Xcode And Spm

Here is how you use Swift package manager in your XCode app projects

Carthage And Nested Frameworks

A few workflows concerning Carthage and nested framework

Two Finger Swipe

Notes on implementing two finger swipe for macOS