## CGAL::points_on_square_grid_2

### Definition

The function points_on_square_grid_2 generates a given number of points on a square grid whose size is determined by the number of points to be generated.

#include <CGAL/point_generators_2.h>

template <class OutputIterator, Creator creator>

OutputIterator

points_on_square_grid_2 (
| double a, std::size_t n, OutputIterator o, Creator creator = Creator_uniform_2<Kernel_traits<P>::Kernel::RT,P>)

|  | creates the first n points on the regular sqrt(n) × sqrt(n) grid within the square [-a,a] × [-a,a]. Returns the value of o after inserting the n points.

### Requirements

- Creator must be a function object accepting two double values x and y and returning an initialized point (x,y) of type P. Predefined implementations for these creators like the default can be found in Section .
- The OutputIterator must accept values of type P. If the OutputIterator has a value_type the default initializer of the creator can be used. P is set to the value_type in this case.

### See Also

CGAL::perturb_points_2
CGAL::points_on_segment_2
CGAL::points_on_cube_grid_3
CGAL::random_collinear_points_2
CGAL::random_selection
std::random_shuffle