I am wonder if it is possible to create it in a fast way. I tried to create a cub and apply subdivision and cast to transform into a sphere, after that I added particles with custom render object (cylinder hexagon), but doesn't look symmetrical... Who can help me... thanks!
This solution is procedural and only has hexagons. Start with an empty geo nodes object, then add an ico sphere. From there we create and realise instances on both faces and vertexes (but not corners, because that seemed to create issues). After that, we colour, in the same way that Tobias Einarsson did.
Create instances: In the above group, we take the geometry (ico sphere because it is a regular shape), convert the mesh twice to points, on the faces and on the vertices. We then join the two sets of points so we can work on them. The next step is to create instances on the points, using a curve line because it is easier to work with. The curve line is aligned with the normal, which was captured as we entered the node group. At the end of this step we have a series of curves.
Realise instances: In the above group we take the series of curve lines and instance them so we can tailor the individual lines. Firstly we trim the curve so that they are random lengths (using a random value). The amount of trim could be exposed as an input but I have not done this here. The final step here is to convert the curves to a mesh, using a curve circle of resolution 6 (the hexagon) and filling the caps.
The geo nodes input panel: The procedural part here is setting the original diameter of the ico sphere and the number of subdivisions. What I have not set up as inputs, but could do, is the length of the columns and the minimum length based on randomness.