FlightParametrics is an easy to use enum which can be used as a type, and can calculate the normalized progress, ranging from 0.0 to 1.0, for the most common parametric easings.
A sample visual reference can be found here
- 46 Parametric Curves
- Normalized from 0.0 - 1.0
- Inversable, and Equatable
- Requirements : XCode 7.3+, iOS 8.0+, tvOS 9.0+
- Installation Instructions
- Release Notes
- If you found a bug, or have a feature request, open an issue.
- If you want to contribute, review the Contribution Guidelines, and submit a pull request.
// Can be declared as an Equatable
// property, supports == / !=
var easing : FPEasing = .inOutCubic
// Returns the parametric progress based
// on some calculated relative linear
// progress from 0.0 - 1.0
var progress = easing.parametricProgress(relativeProgress)
// You can ask an easing for its inverse
// which will return it's corresponding
// inverse parametric function
//
// i.e .inOutCubic -> .outInCubic
// .inSine -> .outSine
// .outCircular -> .inCircular
var revEasing = easing.reverseEasing()
These are the supported parametric curves that you can apply to the property animation.
.inSine .inOutSine .outSine .outInSine |
.inQuadratic .inOutQuadratic .outQuadratic .outInQuadratic |
.inCubic .inOutCubic .outCubic .outInCubic |
.inQuartic .inOutQuartic .outQuartic .outInQuartic |
.inQuintic .inOutQuintic .outQuintic .outInQuintic |
.inExponential .inOutExponential .outExponential .outInExponential |
.inCircular .inOutCircular .outCircular .outInCircular |
.inBack .inOutBack .outBack .outInBack |
.inElastic .inOutElastic .outElastic .outInElastic |
.inBounce .inOutBounce .outBounce .outInBounce |
.inAtan .inOutAtan .outAtan * |
.linear .smoothStep .smootherStep * |
FlightParametrics is released under the MIT license. See License for details.