The rolling ball problem on the plane revisited

By a sequence of rollings without slipping or twisting along segments of a straight line of the plane, a spherical ball of unit radius has to be transferred from an initial state to an arbitrary final state taking into account the orientation of the ball. We provide a new proof that with at most 3 moves, we can go from a given initial state to an arbitrary final state. The first proof of this result is due to Hammersley ( 1983). His proof is more algebraic than ours which is more geometric. We also showed that “generically” no one of the three moves, in any elimination of the spin discrepancy, may have length equal to an integral multiple of 2π.


Introduction and statement of the results
The rollings of a spherical ball B of unit radius over the plane R 2 suggest the consideration of some special kinematic (virtual) motions. A state of the ball B is defined as the pair formed by the point of contact between B and R 2 together with the positive orthonormal frame attached to B. So the set of all the states is identified with the manifold R 2 × SO (3), where SO (3) denotes the group of all orthogonal 3 × 3 matrices with positive determinant.
A move is a smooth path on R 2 × SO (3) corresponding to a rolling of B on R 2 without slipping or twisting along a straight line of the plane R 2 . No slipping in the rolling means that at each instant the point of contact between B and R 2 has zero velocity; no twisting means that, at each instant, the axis of rotation must be parallel to the plane R 2 .
According to John M. Hammersley, the following problem was proposed by David Kendall in the 1950s: What is the number N of moves necessary and sufficient to reach any final state of R 2 × SO (3) starting at a given initial state? In an interesting paper written in 1983, Hammersley [4] shows that N = 3 after using the theory of quaternions.
The following historical considerations we quote from [4, p. 112]: The original version of the question set (by David Kendall in the 1950s) for 18-year-old schoolboys, invited candidates to investigate how two moves, each of length π, would change the ball's orientation; and to deduce in the first place that N ≤ 11, and in the second place that N ≤ 7. Candidates scored bonus marks for any improvement on 7 moves. When he first set the question, Kendall knew that N ≤ 5; but, interest being aroused amongst professional mathematicians at Oxford, he and others soon discovered that the answer must be either N = 3 or N = 4. But in the 1950s nobody could decide between these two possibilities. There was renewed interested in the 1970s, and not only amongst professional mathematicians: for example the President of Trinity (a distinguished biochemist) spent some time rolling a ball around his drawing room floor in search of empirical insight. In 1978, while delivering the opening address to the first Australasian Mathematical Convention, I posed the problem to mathematicians down under; but I have not subsequently received a solution from them. So this is an opportunity to publish the solution.

A formula for a general move and two lemmas
First, we formulate explicitly a move of the spherical ball from the initial point P 0 ∈ R 2 with orientation M 0 ∈ SO(3) to the point P 1 ∈ R 2 , always assuming P 1 = P 0 . Let (x, y) be a given cartesian coordinate system of R 2 with origin at P 0 , that is P 0 = (0, 0). Without loss of generality, we can assume throughout this section that P 0 = (0, 0). We shall denote the polar coordinates of P 1 with origin at P 0 as (r, θ), where θ is measured in counterclockwise with respect to the positive x-axis. In what follows, we refer to (r, θ) as the polar coordinates of P 1 with respect to P 0 . Proposition 2.1. The initial state (P 0 , M 0 ) passes to the state (P 1 , R 3 (−θ)R 2 (r)R 3 (θ)M 0 ) after the move through the segment starting at P 0 and ending at P 1 with polar coordinates (r, θ) with respect to P 0 , where Proof. Without loss of generality, we assume that P 0 is the origin of coordinates, see Fig. 1. Note that R 3 (θ)M 0 is the orientation of M 0 after moving the point P 1 to the point P 1 = R 3 (θ)P 1 , which is on the x-axis. Then R 2 (r)R 3 (θ)M 0 is the orientation of M 0 after the move, following the x-axis, from the origin Vol. 64 (2013) The rolling ball problem 993 Fig. 1. One move P 0 to the point P 1 . Finally, we go back from the point P 1 to P 1 using the rotation R 3 (−θ), and we get the final orientation We say that the move R 3 (−θ)R 2 (r)R 3 (θ)M 0 of Proposition 2.1 has length r and angle θ. We remark that the move of Proposition 2.1 is a rotation of angle r around the vector e = (− sin θ, cos θ, 0), and we write it as because R 3 (−θ)R 2 (r)R 3 (θ) = R(e, r) as it easy to check. It is well known that the rotation matrix R(e, δ) of angle δ around an axis through the origin with direction e = (u, v, w) is where L = √ u 2 + v 2 + w 2 . The following two lemmas will be very useful. The first one, Lemma 2.2, allows to pass in 2 moves from the state (P 0 , (I, J, K)) to an arbitrary state of the form (P 1 , (I, J, K)) with P 1 = P 0 .

Lemma 2.2.
Let M ∈ SO(3) and P 0 , P 1 ∈ R 2 with P 0 = P 1 . Then, we can go from the initial state (P 0 , M) to the final state (P 1 , M) with 2 moves.
Proof. Without loss of generality, it may be assumed that P 0 is the origin of the cartesian coordinate system and that P 1 is on the positive x-axis.
Let (r, 0) be the polar coordinates of P 1 with respect to P 0 . Take a positive integer n such that 4πn > r and let P be the point of polar coordinates (r, θ) = (2πn, arccos(r/(4πn))) with respect to P 0 . It is easy to check that (i) d(P , P 0 ) = d(P , P 1 ) = r where d denotes the Euclidean distance of R 2 ; (ii) (r, −θ) are the polar coordinates of P 1 with respect to P (i.e., we can think that P is the new origin of coordinates and that θ is measured in counterclockwise with respect to a parallel ray to the positive x-axis starting at P ); and Note that from (i), the points P 0 , P and P 1 are the vertices of an isosceles triangle.
The result will be proven by two applications of Proposition 2.1. First, consider the move starting at P 0 and ending atP . Second, consider the move starting atP and ending at P 1 . According to Proposition 2.1, the ball passes from (P 0 , M) to (P 1 , M) as a result of these two moves.
As usual, we denote by S 1 = R/(2πZ) the circle. The following result describes passage in 2 moves between a state (P 0 , (i, j, k)) and a suitable state of the form (P 2 , (I, J, K)). This result also appears in Biscolla [2]. Lemma 2.3. Given a ∈ S 1 and a point P 0 ∈ R 2 we consider the point P 1 with polar coordinates ((2n + 1)π, b) with respect to P 0 , and the point P 2 with polar coordinates ((2m + 1)π, b − a/2) with respect to P 1 , where n and m are non-negative integers. Then the following statements hold: ZAMP (i) The geometrical locus of all points P 2 with b ∈ S 1 is a circle centered at P 0 of radius π 2(1 + 2n(1 + n) + 2m(1 + m) + (1 + 2n)(1 + 2m) cos(a/2)), which does not depend on b.
(ii) For any b ∈ S 1 the initial state (P 0 , Id) passes to the final state (P 2 , R 3 (a)) after using 2 moves: first the move starting at P 0 and ending at P 1 , and second the move starting at P 1 and ending at P 2 .
Proof. Without loss of generality, we assume that the point P 0 is at the origin of the cartesian coordinate system. Then, an easy computation shows that the cartesian coordinates of P 2 are Hence statement (i) follows.

The elimination of the spin discrepancy
The next result allows passage with 3 moves from the state (P 0 , (i, j, k)) to the state (P 0 , (I, J, k)). Theorem 3.1. (Elimination of the spin discrepancy) Given P 0 ∈ R 2 and a ∈ S 1 we can pass from the initial state (P 0 , Id) to the final state (P 0 , R 3 (a)) using 3 moves.
Proof. Without loss of generality, we assume that P 0 is at the origin of the cartesian coordinate system, and that a ∈ (0, 2π). Now, we shall provide the proof that 3 moves are sufficient. We first do the move: starting at origin and ending at the point P 1 = (r, −θ) in polar coordinates with respect to P 0 , for a convenient θ ∈ (π/2 − a/4, π/2) and r = arccos(cot θ tan(θ + a/2)). ( The second move starts at P 1 and ends at the point P 2 = (2r sin(π/2 − θ), π) in polar coordinates with respect to P 1 . Finally, the third move starts at P 2 and ends at P 0 = (r, θ) in polar coordinates with respect to P 2 . These three moves follow the edges of an isosceles triangle, with P 1 being the vertex between the edges of equal length r and with angle π − 2θ between these two edges (see Fig. 2).
The next result allows passage with 3 moves from the state (P 0 , (i, j, k)) to an arbitrary state of the form (P 1 , (I, J, k)).

Proposition 3.2.
Given P 0 , P 1 ∈ R 2 with P 0 = P 1 and a ∈ S 1 we can pass from the initial state (P 0 , Id) to the final state (P 1 , R 3 (a)) using 3 moves.
Proof. Without loss of generality, we assume that P 0 is at the origin of the cartesian coordinate system. Then by Lemma 2.3, there are infinitely many circles centered at P 0 whose radii increase tending to infinity. We can pass with 2 moves from the point P 0 to any point of these circles, and on these points, the orientation of the spherical ball is R 3 (a).
Clearly we can pass with 1 move from the point P 1 to the points of the circles centered at P 1 with radii 2lπ with l = 1, 2, . . ., and on these points the orientation of the spherical ball is the same as in P 1 , that is R 3 (a).
The family of circles centered at P 0 intersects the family of circles centered at P 1 and, therefore, we can pass from the initial state (P 0 , Id) to the final state (P 1 , R 3 (a)) using three moves.

Three moves are necessary and sufficient on R 2
In the proof of the next theorem, we shall need the expression of a rotation around the x-axis of angle b, it is defined as We will show that we can go with 3 moves from the state (P 0 , Id) to the state (P 0 , M), by assuming that the rotation axis of M is linearly independent of k = (0, 0, 1). Theorem 4.1. Given P 0 ∈ R 2 and M ∈ SO(3) having rotation axis linearly independent of k = (0, 0, 1), we can pass from the initial state (P 0 , Id) to the final state (P 0 , M) using 3 moves.
Proof. As usual, we can suppose that P 0 is the origin of the cartesian coordinate system. Let (I, J, K) be the orthonormal frame associated with the rotation matrix M = R 3 (c)R 1 (b)R 3 (a), with a, c ∈ S 1 and b ∈ [0, π]. We recall that from the definition of the Euler angles, that b is the angle between the vectors k and K (for more details, see [3, pp. 143-148]). Moreover, we can think of M as a rotation around an eigenvector v with eigenvalue 1, and we know that M moves k into K, j into J and i into I.
Assume that the vector v is horizontal, that is v is in the plane generated by the vectors {i, j}. Now after rolling the unitary ball around the vector v in the direction v T (the orthogonal vector to v) a distance b, we see that the ball goes from the initial state (P 0 , Id) to a state (P 1 , M) because k goes to K and, since the orthogonal plane to v is invariant under M , simultaneously i goes to I and j goes to J. Now applying Lemma 2.2 to the ball at (P 1 , M), we get the state (P 0 , M) with two more moves. Then we go from (P 0 , Id) to (P 0 , M) with 3 moves.
In the rest of the proof, we suppose that v = (v 1 , v 2 , v 3 ) is not horizontal. So v 3 = 0, and we can take v 3 = 1. Let Π be the plane through P 0 (the origin) orthogonal to the vector v. The equation of this plane Π is v 1 x + v 2 y + z = 0. We have v 2 1 + v 2 2 = 0, otherwise v = (0, 0, 1) and k are linearly dependent. We choose the coordinates (x, y, z) so that the intersection line between the plane Π and the horizontal plane is the x-axis. Therefore, the plane Π has equation v 2 y + z = 0 with v 2 = 0. Hence in the new coordinates v = (0, v 2 , 1), and let φ be the angle of the rotation M around the vector v. Denote by ϕ the norm of v, that is ϕ 2 = 1 + v 2 2 .
Vol. 64 (2013) The rolling ball problem 997 Choose on the plane Π the two unitary vectors Note that the vectors u 1 (0) and u 2 (0) form an angle φ/4 with the x-axis. By rotating the vectors u 1 (0) and u 2 (0) an angle λ on the plane Π we get the unitary vectors where l = λ − φ/4 and L = λ + φ/4. We introduce now the horizontal vectors We denote by α i (λ) the angle from the vector k to the vector u i (λ) for i = 1, 2.
The orientation M is given by the orthogonal matrix obtained as the rotation of angle φ around the unitary vector (0, v 2 , 1)/ϕ. So, according with the notation introduced in (1) The orientation M is obtained at the point and with this notation, we mean that two moves are used to pass from P 0 to P (n, λ), first rotating an angle 2nπ + 2α 1 (λ) around the vector −h 1 (λ) and then rotating an angle 2nπ − 2α 2 (λ) around the vector h 2 (λ). In fact one can check that We claim that for a sufficiently large integer n > 0, the closed curve {P (n, λ) : λ ∈ [0, 2π]} intersects, at a certain valueλ of λ, a circle centered at P 0 = (0, 0, 0) (the origin) with radius 2mπ for some integer m > 0. At the point P (n,λ) the orientation is M and rolling the ball along the segment [P 0 , P (n,λ)] with a length 2mπ we get, at the origin, the same orientation M . Therefore, starting at the origin with the identity and using three moves, we come back to the origin with the given orientation M . This completes the proof of the theorem. Now we shall prove the claim.
We will show that we can go with 3 moves from the state (P 0 , Id) to the state (P 1 , M) by assuming that the rotation axis of M is linearly independent of k = (0, 0, 1).

Theorem 4.2.
Given P 0 , P 1 ∈ R 2 with P 0 = P 1 and M ∈ SO(3) having rotation axis linearly independent of k = (0, 0, 1), we can pass from the initial state (P 0 , Id) to the final state (P 1 , M) using 3 moves. Vol. 64 (2013) The rolling ball problem 999 Proof. The proof of this proposition follows essentially the same steps as in the proof of Theorem 4.1.
We will describe the steps which are different. Let d be the Euclidian distance between the points P 0 = (0, 0, 0) and the point P 1 . Let k be a positive integer such that 2kπ − 2d > 2π. (10) Let {P (n, λ) : λ ∈ [0, 2π]} be the closed curve defined in the proof of Theorem 4.1. We write r(n, λ) = ||P (n, λ)||, that is the distance of the point P (n, λ) to the origin P 0 . Working as in the proof of the second inequality of (8), we obtain if n is sufficiently large. Note that in (8) we get 2π instead of 2kπ, but in the proof of (8) the difference r(n, π/2) − r(n, 0) can be made as large as we want by increasing n, showing that this difference can be greater than 2kπ. Let r * (n, λ) be the Euclidean distance from the point P (n, λ) to the point P 1 . By the triangle inequality, we get Therefore, we obtain r * (n, λ)| max ≥ r(n, π/2) − d, and r * (n, λ)| min ≤ r(n, 0) + d, where the maximum and minimum are taken over λ ∈ [0, 2π]. From these last two inequalities, (10) and (11) we have So we have obtained an inequality similar to the inequality (8) but this time with respect to the point P 1 instead of the origin. Now working as in the last part of the proof of Theorem 4.1, we get that the closed curve {P (n, λ) : λ ∈ [0, 2π]} intersects one of the circles of radius 2mπ centered at P 1 , and the theorem follows as in the proof of Theorem 4.1.
Clearly, the results from Theorem 3.1 until Proposition 4.2 show that we can go with at most 3 moves from the state (P 0 , (i, j, k)) to any other state (P 1 , (I, J, K)). Hence, we have proved that N ≤ 3.

Remark 4.3.
Since it is easy to see that we cannot reach (P 0 , R 3 (a)) , 0 < a < π, from (P 0 , Id) with two moves, one concludes that N = 3.

More on the elimination of the spin discrepancy
In all the moves necessary for proving that with 3 moves, we can go from an arbitrary initial state to any arbitrary final state we use some move of length an integral multiple of 2π with the exception of the case called elimination of the spin discrepancy, see Theorem 3.1. Now we shall prove that "generically" we cannot find three moves in the spin discrepancy having one of them length a multiple of 2π.
(a) We cannot go with 3 moves from the state (P 0 , Id) to the state (P 0 , R 3 (a)) if the second move has length 2πk and cos(a/2) / ∈ Q. (b) We cannot go with 3 moves from the state (P 0 , Id) to the state (P 0 , R 3 (a)) if the first or third move has length 2πk and cos a / ∈ Q. ZAMP Proof. We separate the proof in two cases. Case a: Assume that we can go with 3 moves from the state (P 0 , Id) to the state (P 0 , R 3 (a)) and that the second move has length 2πk. More precisely, (i) P 0 is the origin of coordinates and with 3 moves we pass from P 0 to P 1 , from P 1 to P 2 , and finally from P 2 to P 0 ; (ii) P 1 has polar coordinates (r, θ) with respect to P 0 with θ ∈ (0, π); (iii) P 2 has polar coordinates (2πk, −α) with respect to P 1 with α ∈ (0, π); and (iv) P 2 is on the positive x-axis and the distance between P 0 and P 2 is R. See Fig. 3.
From Proposition 2.1, we can write the composition of the three moves as follows This equality provides 9 polynomial equations in the 6 variables cos r, sin r, cos R, sin R, cos θ and sin θ.
Computing the Gröbner basis of these 12 polynomial equations with respect the mentioned 6 variables, we get an equivalent system of polynomial equations (equivalent in the sense that both systems have the same solutions) containing the following two equations sin R sin a = 0, sin r sin a = 0.
For more details on the Gröbner basis, see for instance [1]. Since cos(a/2) / ∈ Q we have that sin a = 0, so sin R = 0 and sin r = 0, or equivalently r = π and R = mπ with and m positive integers. Now evaluating the equation of the third row and third column of (12), we get 1 = (−1) +m . Therefore, and m have the same parity. Assume that and m are even, then evaluating the equation of the first file and second column of (12), we get sin a = 0, a contradiction with the assumption that cos(a/2) / ∈ Q. Hence and m are odd. Then evaluating the second file and first column of (12), we get the equation sin a = 2 cos θ sin θ. Therefore θ = a/2.
Applying the cosine formula to the triangle with vertices P i for i = 0, 1, 2, we obtain 4k 2 = 2 + m 2 − 2 m cos(a/2). Or equivalently In contradiction with the assumption that cos(a/2) / ∈ Q.
Case b: Assume that we can go with 3 moves from the state (P 0 , Id) to the state (P 0 , R 3 (a)) and that the third move has length 2πk. Note that this case also covers the situation when the move having length 2πk is the first one. Without loss of generality, we can assume that Vol. 64 (2013) The rolling ball problem 1001 (i) P 0 is the origin of coordinates and that with the 3 moves we pass from P 0 to P 1 , from P 1 to P 2 , and finally from P 2 to P 0 ; (ii) P 1 has polar coordinates (r, θ) with respect to P 0 with θ ∈ (0, π); (iii) P 2 has polar coordinates (R, −α) with respect to P 1 with α ∈ (0, π); and (iv) P 2 is on the positive x-axis and the distance between P 0 and P 2 is 2πk.
Computing the Gröbner basis of these 13 polynomial equations with respect the mentioned 8 variables, we get an equivalent system of polynomial equations (equivalent in the sense that both systems have the same solutions) containing again the following two equations sin R sin a = 0, sin r sin a = 0.
Since cos a / ∈ Q we have that sin a = 0, so sin R = 0 and sin r = 0, or equivalently r = π and R = mπ with and m positive integers.
Evaluating the equation of the third file and third column of (13) we get 1 = (−1) +m . Therefore and m have the same parity. Assume that and m are even, then evaluating the equation of the first file and second column of (13) we get sin a = 0, a contradiction with the assumption that cos a / ∈ Q. Hence and m are odd. Now applying two times the cosine formula to the triangle with vertices P i for i = 0, 1, 2 we obtain Then, from the equation of the first file and first column of (13), we get that cos a must be one of the following two values ± 16k 4 − 8 2 k 2 − 8m 2 k 2 + 4 + m 4 2 2 m 2 , in contradiction that cos a / ∈ Q. This completes the proof of the theorem.