public List<Point> sectionStartSubpartPoints(Section section, double width) {
    List<Point> points = new ArrayList<>();
    double startX = section.getPoints().get(0).getX();
    for (int pi = 0; pi < section.getPoints().size(); pi++) {
      points.add(section.getPoints().get(pi));
      if (section.getPoints().get(pi).getX() - startX >= width) {
        break;
      }
    }
    return points;
  }
Given a list of tangents it divides the list of tangents in a list of sections. Each section
shares the same tangent signs (a section could be an increasing curve or a decreasing curve,
but not both)

@return Array of sections.
library-udf/src/main/java/org/apache/iotdb/library/match/PatternExecutor.java