def METHOD_NAME(self, coords: list[tuple[float, float]], nb_points: int) -> list[tuple[float, float]]:
    """Add some points in order to reach roughly the asked number of points."""
    total_length = 0
    prev_coord = None
    for coord in coords:
        if prev_coord is not None:
            total_length += self._dist(prev_coord, coord)
        prev_coord = coord
    if total_length == 0.0:
        return coords
    result: list[tuple[float, float]] = []
    prev_coord = None
    for coord in coords:
        if prev_coord is not None:
            cur_length = self._dist(prev_coord, coord)
            cur_nb_points = max(int(nb_points * cur_length / total_length + 0.5), 1)
            dx = (coord[0] - prev_coord[0]) / float(cur_nb_points)
            dy = (coord[1] - prev_coord[1]) / float(cur_nb_points)
            for i in range(1, cur_nb_points + 1):
                result.append((prev_coord[0] + dx * i, prev_coord[1] + dy * i))
        else:
            result.append((coord[0], coord[1]))
        prev_coord = coord
    return result