I think the most simple way of defining the 12 points of an icosahedron is to mark two points on each face of a 2x2x2 cube.

The points at +/- 0.618 on each face, perpendicular to the adjacent faces.

These 12 points are each joined to their 5 nearest neighbours, to give the wireframe of an icosahedron.

That will give me an icosahedron standing on one Edge.

How do I code to 'rotate'?? those points by atan(.618)

to bring one of those points to 0.0, 0.0, 1.175,

so that the 'icos' is now standing on a Point?

I would also want to 'rotatee' it so that it stands on a Face.

I can compute the relevant 12 points for each of these situations.

But to do the same for a 92 point 'geodome' would be rather difficult.

All the articles on 3D Rotations mention only one angle of rotation. Surely an angle on each axis needs considering.

JimJoyce