How to control rotation explicitly such that it only rotates parallel to a plane
There are many ways to do it.
One of them: enable the &quot;Copy attributes&quot; addon in the preferences menu.
Set the 3D cursor in the spot you want as pivot point.
Create an empty in the 3d cursor loc.
Select the empty, shift select the cylinder, press Ctrl C &quot;Copy Rot&quot;.
Set the arrow child of the empty.
Animate the empty (in my example on its Z local axis).