Currently the JTS implementation uses purely random points. Here's what a field of purely random points looks like:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-stXPguUN6FdYkzK_Qr0OkCNOv16Gw7b3LqzfnIOx96mm-AU2A5xCmdo03rK2gn3RZAPlxt85WeXiXLH1alLXsG-AJ-ZfHpy_K-FahJXtxNmXa3tWr4N1oUI_y_jugX455GQl067AA2Q/s400/JTS_random_points.png)
As a few people pointed out, and as is obvious from the image, this doesn't look that great, since there tends to be a lot of clusters and blank areas. This doesn't give a very aesthetic effect when used for cartographic purposes.
So I experimented with a few other options.
Here's random points generated in a grid of cells (one point randomly located in each cell). Better, but there are still clusters and blank areas.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfYapvn0Xvf-707Li5iPEN3DWLIzNwdY56SjNV8gta7dJ5PQmiYluriQfhIRh58RMn_le2-N-4qLe-IfPj9PSXZ_9qoR8ckrff5CeGIN3HEiqLS7m9AOKBujZhOq0NPlmJpkOclTk__Ek/s400/JTS_random_points_in_grid.png)
Following an idea by Paul Ramsey, here's a grid where the random points are located in circles centred on each grid cell. This is an improvementl, but still doesn't prevent points from ending up close together.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9e91uHo4wZ8xNenEuc4VRpNufBwJ7nypeMrIuOKU6OOIpzMDNcXy6IlXJ9BbDPsRsuj8wSBpxQ9yu4s5UxuUp8ZWMU4MHYzlLf1b55NlBFLk883xIk-1qtBJGfM9qXb5o4zX5TUqpw1c/s400/JTS_random_points_in_grid_circles.png)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH-hYTwHu1kbfaTb-pLDVkvP8lLDbJWGBKCkVhIW78AajIUJDOvh5W8eHAToJDPIzMGpER8H9yviFGqs0noF-T0KF-8h3VkJ11D0e2DI-KWxDOgUGGA-XunJ6_aocV2MAJ3uG3Ir_lmfY/s400/JTS_random_points_in_grid_with_gutter.png)
Much better, I think. Although, as the gutter size increases, the underlying grid becomes apparent. Here's a 50% gutter:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMcpmTfnldS70Vt_QSGqsM7QNadyC8Vr2wo1n3O1uNcHJtixKP42GN0buZd7i2pklM2Sf1Qz3E6guui0p0SJl_GhkYICIznfgXABK9IdQgL9-O7Y1jVFbroy8AF8G3JaAq9C5-AVhOWNU/s400/JTS_random_points_in_grid_with_gutter_50.png)
As David William Bitner pointed out, these can all be restricted to polygonal areas by simply intersecting the point field with the polygon.