Skip to content
Bridging AGGeometryKit with POP for amazing dynamics and animations.
Objective-C Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Demo Make project compatible with xcode 9 Jan 21, 2019
Source Removing property for animation which can not be supported May 13, 2014
.gitignore Ignore userdata Jun 10, 2014
AGGeometryKit+POP.podspec Fixing pods for demo May 16, 2014
LICENSE 0.1 May 15, 2014 Update May 23, 2016
logo.png Logo adjustments Aug 12, 2014
video-aggeometrykit-pop.png Hosting video on repo instead of vimeo cdn May 15, 2014
video-aggeometrykit.png Hosting video on repo instead of vimeo cdn May 15, 2014


Bridging AGGeometryKit with POP for amazing dynamics and animations.

See this interesting video about animation principles by Cento Lodigiani. If you like what you see and want to mimic step #1 and #5 - then this kit is here to help you.

Demo video


New-school: Use the cocoa pod named AGGeometryKit+POP.
Old-school: Grab the files found in Source.


Demo video
See the video on vimeo


It does not rely on snapshotting view hierarchy at all. Whenever you update the property quadrilateral (defined in AGGeometryKit) on the CALayer you are actually just applying a new CATransform3D. This can be done on any view whether it is an interactive UIWebView or just a plain UIImageView. This is totally cost-free! :)


Animate each corner independently using these new POPAnimatableProperty's.

extern NSString * const kPOPLayerAGKQuadTopLeft;
extern NSString * const kPOPLayerAGKQuadTopLeftX;
extern NSString * const kPOPLayerAGKQuadTopLeftY;

extern NSString * const kPOPLayerAGKQuadTopRight;
extern NSString * const kPOPLayerAGKQuadTopRightX;
extern NSString * const kPOPLayerAGKQuadTopRightY;

extern NSString * const kPOPLayerAGKQuadBottomLeft;
extern NSString * const kPOPLayerAGKQuadBottomLeftX;
extern NSString * const kPOPLayerAGKQuadBottomLeftY;

extern NSString * const kPOPLayerAGKQuadBottomRight;
extern NSString * const kPOPLayerAGKQuadBottomRightX;
extern NSString * const kPOPLayerAGKQuadBottomRightY;

@interface POPAnimatableProperty (AGK_POP)

+ (instancetype)AGKPropertyWithName:(NSString *)aName;



Convex quadrilateral, simple quadrilateral, tangential, kite, rhombus, square, trapezium, trapezoid, parallelogram, bicentric, cyclic, POP, facebook, animation, dynamics, simulation


Please see the Debugging section over at the AGGeometryKit repo.


You can reach me on twitter as @hfossli.

Who's behind this? a company situated in Oslo, Norway, with some help from some very clever guys.

You can’t perform that action at this time.