Triangles for iOS!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Angular Pointilism

Triangles for iOS!

In summary, this library is build from two pieces. The first piece is the triangular-mosaic image blur which can be applied to any UIImageView as an alternative (and prettier) to UIBlurEffect. The second piece is the shuttering triangles animation which (as far as I know) has no practical application and was built purely for aesthetic pleasure.

You may dive right in with the included demo; simply open the .xcodeproj and run on a 4" display

Feature set is twofold

#####1. Animatable iOS mosaic-like image filter #####

Note: Currently this library only supports XIB instantiation and has no exposed property for changing triangle size. (Would love to see a PR adding such functionality)

![animatedGif] (

###Output the filtered image###

![static] (

##### 2. Animatable Shuttering & Undulation ![mov](

This shuttering effect is best described within the context of cellular automata. The following properties are available via public API (from FFShutteringView.h):

 *  The amount of shuttering to show from the bottom up, and top down. A value of half the height will show all shuttering. A value of 0 - (2 * triangular height) will show no shuttering.
 *  Default is 100
@property (nonatomic) NSInteger topBottomMarginMaskLength;

 *  The number of frames that will be called each second.
 *  Default is 30 FPS.
@property (nonatomic) CGFloat frameRate;

 *  The amount of time until the class automatically halts the life of each triangular cell. For infinite life, set to 0.
 *  Default is 0;
@property (nonatomic) NSTimeInterval artificialLifeSpan;
 *  This translates to triangle cell density. The higher this number, the less dense the cells. This figure represents the maximum amount of time a cell may exist with 0 alpha. 
 *  Default is 200
@property (nonatomic) NSUInteger maximumAllowedDeathTicks;

Note: Currently, in order to use this feature, one must copy the 4 triangles for the xcassets folder into their working directory with identical names. This will change in future updates.


All contributions welcome! I have no agenda as to where this project must go, what direction it is to take; make it your own!