Rotation around an arbitrary axis

Hey folks, I’m running into some problems generating a triangle fan mesh that serves as the rounded end of a long triangle strip mesh. Both shapes are constructed using ofMesh.

Currently, the triangle fan is rotated ever so slightly out of line from the edge of the triangle strip, as seen in the attached image. The result is that it the fan looks (and behaves) like a rudder, which is especially undesirable for a shape that moves forward!

The black vector in the image is the direction of the curve, while the green vector is was calculated by rotating the width of the mesh around the cross product of the width of the triangle strip and the direction of the curve (note that these two vectors are not always at right angles).

Can anybody point me in the right direction for calculating the angle between those two vectors along an arbitrary axis? It crossed my mind that if I knew what that angle was, I could rotate it along the axis that is the width/span of the triangle strip mesh and make up for the unwanted offset.

Thanks++ for any thoughts on this!