CubicBezierEasing

@Immutable
class CubicBezierEasing(a: Float, b: Float, c: Float, d: Float) : Easing

A cubic polynomial easing.

The CubicBezierEasing class implements third-order Bézier curves.

This is equivalent to the Android PathInterpolator when a single cubic Bézier curve is specified.

Note: CubicBezierEasing instances are stateless and can be used concurrently from multiple threads.

Rather than creating a new instance, consider using one of the common cubic Easings:

Parameters

a

The x coordinate of the first control point. The line through the point (0, 0) and the first control point is tangent to the easing at the point (0, 0).

b

The y coordinate of the first control point. The line through the point (0, 0) and the first control point is tangent to the easing at the point (0, 0).

c

The x coordinate of the second control point. The line through the point (1, 1) and the second control point is tangent to the easing at the point (1, 1).

d

The y coordinate of the second control point. The line through the point (1, 1) and the second control point is tangent to the easing at the point (1, 1).

See also

Constructors

Link copied to clipboard
constructor(a: Float, b: Float, c: Float, d: Float)

Functions

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun transform(fraction: Float): Float

Transforms the specified fraction in the range 0..1 by this cubic Bézier curve. To solve the curve, fraction is used as the x coordinate along the curve, and the corresponding y coordinate on the curve is returned. If no solution exists, this method throws an IllegalArgumentException.