bezier.dart icon indicating copy to clipboard operation
bezier.dart copied to clipboard

EventSpacer question

Open idkq opened this issue 3 years ago • 0 comments

Hi thanks for this! I can't get EvenSpacer to work... dots should follow the edge.

image
  @override
  void paint(Canvas canvas, Size size) {
    final curve = CubicBezier([
      Vector2(0, size.height),
      Vector2(size.width/8, size.height/8),
      Vector2(size.width, size.height/2),
      Vector2(size.width, size.height)
    ]);

    final points = curve.points;

    final path = Path()..moveTo(points[0].x, points[0].y)..cubicTo(curve.points[1].x, curve.points[1].y, curve.points[2].x,
        curve.points[2].y, curve.points[3].x, curve.points[3].y);

    canvas.drawPath(path, Paint()..color=Color.fromRGBO(0, 150, 255, 1));

    final es = EvenSpacer.fromBezier(curve,intervalsCount: 40);

    final count = 40;
    final eventValues = es.evenTValues(parametersCount: count);

    final paint = Paint();
    for (int i=0;i<eventValues.length;i++) {
      print(eventValues[i]);
      final pt = i;
      final x1 = pt * size.width/count;
      //double bla =(es.evenTValueAt(eventValues[i])) * size.height;
      double bla =(eventValues[i]) * size.height;
      canvas.drawCircle(Offset(x1, bla), 4, paint);
    }
  }

idkq avatar May 03 '21 22:05 idkq