Quaternions xz rotation with preserved y
Before we go into math this is the common life explanation of the problem that I try to simulate: I have a piece of a tape (thin, wide, and long). One end of it is attached to a surface with a pin (tape can rotate around the pin). I can move the other end of the tape around as I wish. I'm using quaternions to calculate the rotation of the tape. But there is a problem shown in the illustration:
When I move the free end point around, the tape rotates around Y axis (around the axis that goes through its long side). I would like to get rid of this rotation. If you imagine this tape laying flat on the table, when I move the end point around, the tape is not laying flat anymore, but could be standing on its side.
So this is the question: How do I control the rotation along Y axis in a quaternion?
(I can supply the details on how I actually come up with quaternion that represents this partially wrong result, if that is of any help)
Thanks a lot.