## CGAL::Random_points_on_segment_2<Point_2, Creator>

### Definition

The class Random_points_on_segment_2<Point_2, Creator> is an input iterator creating points uniformly distributed on a segment. The default Creator is Creator_uniform_2<Kernel_traits<P>::Kernel::RT,P>.

### Is Model for the Concept

InputIterator
PointGenerator

#include <CGAL/point_generators_2.h>

### Types

typedef std::input_iterator_tag
| iterator_category;
typedef Point_2 | value_type;
typedef std::ptrdiff_t
| difference_type;
typedef const Point_2*
| pointer;
typedef Point_2 | reference;

### Operations

Random_points_on_segment_2<Point_2, Creator> g ( | Point_2 p, Point_2 q, Random& rnd = default_random);

| g is an input iterator creating points of type Point_2 uniformly distributed on the segment from p to q (excluding q), i.e. *g == (1-) p + q where 0 < 1 . A single random number is needed from rnd for each point. Requirement: The expressions to_double(p.x()) and to_double(p.y()) must result in the respective double representation of the coordinates of p, and similarly for q.

### See Also

CGAL::copy_n
CGAL::Counting_iterator
CGAL::Points_on_segment_2<Point_2>
CGAL::Random_points_in_disc_2<Point_2, Creator>
CGAL::Random_points_in_square_2<Point_2, Creator>
CGAL::Random_points_on_circle_2<Point_2, Creator>
CGAL::Random_points_on_square_2<Point_2, Creator>
std::random_shuffle