How to avoid model intersections

Such a densely packed arrangement actually corresponds to a hexagonal grid, a honeycomb.

This can be generated as follows:

Grid Collection
function createHexagonGrid( radius, rings ) {... calculation of the positions

From the Collection of examples from discourse.threejs.org :
BeginnerExample step 13

function createHoneyComb ...