I have a model of a 3D object in my program. I can rotate it by 90 degrees along a axis of my coordinate system. I can choose the axis for every rotation. I can apply several rotations after another.
For example I could do:
object = create_3d_obj();
rotated_ob = rotate_90_degrees(object, X_axis);
even_more_rob = rotate_90_degrees(rotated_ob, X_axis);
very_heavily_rob = rotate_90_degrees(even_more_rob, Y_axis);
However, (as expected) rotating 4 times by 90 degree along the same axis results in the original object. That leaves me with a finite set of rotated objects I can reach with these 90 degree rotations.
How many rotated objects are there? How can I iterate over that set of rotated objects?