CGAL 5.0.4 - Geometric Object Generators
|
#include <CGAL/point_generators_3.h>
The class Random_points_on_segment_3
is an input iterator creating points uniformly distributed on a segment.
The default Creator
is Creator_uniform_3<Kernel_traits<Point_3>Kernel::RT,Point_3>
.
std::copy_n()
CGAL::Counting_iterator
std::random_shuffle
Types | |
typedef std::input_iterator_tag | iterator_category |
typedef Point_3 | value_type |
typedef std::ptrdiff_t | difference_type |
const typedef Point_3 * | pointer |
const typedef Point_3 & | reference |
Random_points_on_segment_3 (const Point_3 &p, const Point_3 &q, Random &rnd=get_default_random()) | |
creates an input iterator g generating points of type Point_3 uniformly distributed on the segment from \( p\) to \( q\) (excluding \( q\)), i.e. \( *g == (1-\lambda)\, p + \lambda q\) where \( 0 \le\lambda< 1\). More... | |
CGAL::Random_points_on_segment_3< Point_3, Creator >::Random_points_on_segment_3 | ( | const Point_3 & | p, |
const Point_3 & | q, | ||
Random & | rnd = get_default_random() |
||
) |
creates an input iterator g
generating points of type Point_3
uniformly distributed on the segment from \( p\) to \( q\) (excluding \( q\)), i.e. \( *g == (1-\lambda)\, p + \lambda q\) where \( 0 \le\lambda< 1\).
A single random number is needed from rnd
for each point. The expressions to_double(p.x())
, to_double(p.y())
, and to_double(p.z())
must result in the respective double
representation of the coordinates of \( p\), and similarly for \( q\).