This is the basis of the problem of foot roll in building bipedal rigs. There are two approaches commonly used. I'll describe a stripped down version of the simpler of the two.
The above three bone rig is called the rocking rig. The head and tail of the
rock bone are the two pivot points. The
parent bone serves to avoid the problem of parenting. The
control bone is the rocking bone.
This rig works by rotating the
control bone on its local Z axis, currently oriented along the world Y axis. It is usual to lock the rotation of this bone. As the bone rotates counterclockwise from its center position, the
rock bone will rotate counterclockwise on its head. As the
control bone rotates clockwise from its center position, the
rock bone will rotate clockwise on its tail, as a result of being parented to the
The positioning of the bones is critical. They must lie in a line on the same axis, in this case the X axis. The head of the
parent bone must lie in the same position of tail of the
rock bone. This is one of the two pivot points. The other pivot point lies at the head of the
It is convenient for the
control bone to be parallel to the
parent bone and for your purpose for the
parent bone to be perpendicular to the
None of the bones are connected to the others.
The orientation of the axis of the bones matters. They should all have their Z axis parallel to the world Y axis and pointing in the negative direction.
parent bone is the parent of the
rock bone. This is so that rocking the
rock bone on its tail will work. The
control bones are unparented, although in a rig they would normally both be parented to a root bone.
Each of the
parent bones have a copy rotation constraint to copy rotation from the
control bone. Each also has a limit rotation constraint. The limit rotation constraints are what divide the rotating between the two pivot points. The constraints all operate in local space.
Here are the constraints