transform method
- @override
override
Returns the value of the curve at point t
.
The value of t
must be between 0.0 and 1.0, inclusive. Subclasses should
assert that this is true.
A curve must map t=0.0 to 0.0 and t=1.0 to 1.0.
Implementation
@override
double transform(double t) {
assert(t >= 0.0 && t <= 1.0);
final double s = period / 4.0;
t = 2.0 * t - 1.0;
if (t < 0.0)
return -0.5 * math.pow(2.0, 10.0 * t) * math.sin((t - s) * (math.pi * 2.0) / period);
else
return math.pow(2.0, -10.0 * t) * math.sin((t - s) * (math.pi * 2.0) / period) * 0.5 + 1.0;
}