How do I determine the Tait-Bryan angles (yaw, pitch, and roll) of polyhedron faces to its center?

I'm modeling a pentagonal hexecontrahedron by placing faces and then rotating them.

I've determined the center of each face by using the Cartesian coordinates of the vertices of its dual polyhedron (a snub dodecahedron). Now I need to determine the rotation of these faces in terms of yaw, pitch, and roll ($-\pi..\pi$ radians). The pentagon is irregular, so all three are important.

This question probably has an obvious answer, but it has been 30 years since I've dealt with vectors and matrices. (My searches seem to all result in discussions of flying airplanes.)

This recently posted question may be relevant, although it mentions only pitch and yaw. I prefer this type of geometric solution.

• What would you use these angles for? – Muphrid Aug 18 '13 at 4:06
• This is an old refrain, but I cannot suggest strongly enough that you avoid yaw/pitch/roll. If you want to build the transform matrix from one face to another, that's fairly reasonable; if you want to directly construct faces as vertex sets, that probably works better; but YPR for something like this is actively painful. – Steven Stadnicki Aug 18 '13 at 4:52
• In a video game I play, I can build things by placing objects and rotating them. I can't simply connect the vertices. I don't mind using vectors and matrices, but since the centers of the faces of my polyhedron always face the origin (0, 0, 0), there may be a simpler trigonometric solution. – Jason Aug 19 '13 at 18:35