Displace objects to surface My Skill level: Beginner
I am sure this issue is due to my skill level and it is easily achievable.
I was able to do this in Parametric modeling software like Solidworks.

I was wondering if it was possible to do the following in an easier fashion:

Think of the formation like "Coastal Columnar Basalt".



I had a large amount of patterned objects I wanted to displace to a curved surface.

What I tried:


Shrinkwrap
Particles on surface (Hair): The issue here is since the surface is curved, the vertices and faces in orthogonal view are not evenly spaced. This causes a lot of gaps between the objects.


What I am doing currently:
I have the tiled objects and the surface in the scene and I am manually moving each object up till it touches the surface.
I have close to 80000 objects :(
One easy way is to use a displace modifier with a heightmap. Then use 'UV mapping.' If you use a field of shapes, and set the UV for the top of each cylinder to zero size, then it will be flat on top.

Example blend: