position method
Implementation
@override
Offset position(int n) {
var rand = sin(n / pi).abs() % (2 * pi);
var rvalue = (value + offset + rand * 100) % (2 * pi);
final progress = (3 * rvalue / (2 * pi)) % 1.0;
final fromX = 1.2 * sin(n) * (1 - variation3) + variation3 * 1.2 * cos(n);
final toX = 1.2 * cos(n);
var fromY = 1 + 2 * circleSize;
var toY = -1 - 2 * circleSize;
var x = (fromX * (1 - progress) + toX * progress) * canvasSize.width / 2;
var y = (fromY * (1 - progress) + toY * progress) * canvasSize.height / 2;
return Offset(
canvasSize.width / 2 + x,
canvasSize.height / 2 + y,
);
}