public class CubicBezierEasing(
private val a: Float,
private val b: Float,
private val c: Float,
private val 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). |
Functions
transform
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.
Throws: IllegalArgumentException
If the cubic Bézier curve cannot be solved
equals
override fun equals(other: Any?): Boolean
hashCode
override fun hashCode(): Int
toString
override fun toString(): String