Preprint
Article

This version is not peer-reviewed.

Linearized Expressions of 3D Rotational Motion

Submitted:

14 February 2025

Posted:

17 February 2025

You are already at the latest version

Abstract
Rotation motion in a three-dimensional physical world refers to an angular displacement of an object around a specific axis in $\mathbb{R}^3$. It is typically formulated as a non-linear and non-convex motion due to the nonlinearity and nonconvexity of $\mathbb{SO}(3)$. However, this paper proposes a new perspective that the 3D rotation motion can be expressed by a linear system without dropping any constraints and increasing any singularities. Moreover, two frequent cases, i.e., $\angle\left(\mathbf{R}\boldsymbol{x},\boldsymbol{y}\right)=0$ and $\angle\left(\mathbf{R}\boldsymbol{x},\boldsymbol{y}\right)=\frac{\pi}{2}$, in computer vision and robotics that can be expressed linearly are deeply discussed in this paper.
Keywords: 
;  ;  ;  

1. Introduction

Rotational motion [1] in the three-dimensional physical world is regarding to the circular movement of an object around a fixed axis [2]. It is a basic concept and commonly used in physics, computer graphics, computer vision, robotics, aerospace, and other scientific fields [3,4,5,6]. More specifically, in many practical applications, rotational motion is not only an important way of constructing the motion of the target system [7,8,9] but also an important state parameter to be estimated [10,11,12]. However, rotation motion is typically formulated as a non-linear and non-convex process [11,12,13]. It not only makes some linear algorithms, such as Kalman filter [14,15], impossible to directly apply [16], but also makes solving the related problem more sophisticated and difficult [13,17].
In this paper, a new perspective is proposed that the rotation motion can be linearized without dropping any constraints and increasing any singularities. It is particularly worth pointing out that there are no special and advanced techniques, such as Lie groups and Lie algebras [18,19], for the methods used in this paper. Only some basic knowledge of linear algebra [20,21,22] is required to understand the ideas presented in this paper.
The structure of this paper is as follows: it first reviews rotational motion in the second section, then presents the linearized expression for rotation in the third section. The fourth and fifth sections discuss two special cases,i.e., τ = 0 and τ = 1 2 π , providing in-depth analysis.

2. Rotation Motion

Mathematically, given a point x R 3 , if it is rotated about a fixed unit vector r S 2 through the origin and the rotated angle is θ , then the rotation motion can be formulated by multiplication of a matrix and a vector,
R x y
where y R 3 is the rotated point by x and R is a 3 × 3 rotation matrix. There are some properties regarding the rotation motion [23],
  • Shape and Size: Rotation does not alter the shape or size of the object. More Specifically,
    • R x = R · x = x . It means the length of the point x will not be changed by rotation motion. Without loss of generality, the rotation motion in this paper is studied with unit norm vectors, i.e., x S 2 on the unit sphere surface, which represents a unit direction vector in the 3D physical world.
    • R x 1 , R x 2 = x 1 , x 2 where x 1 , x 2 S 2 are any two unit vectors. It means the angle (structure) of the object is unchanged.
  • Axis of Rotation: Rotational motion occurs around a fixed axis. Given a vector x S 2 , if R x = x , it means the after the rotation R , the vector direction x remains unchanged, and the vector x must be parallel to the rotation axis r , which is from Euler’s rotation theorem and screw theory [24,25,26,27]. In addition,
    R x = x R I 3 × 3 x = 0
    where I 3 × 3 is the 3 × 3 identity matrix. Algebraically, Eq.(2) means the rotation axis direction r lies in the null space of R I 3 × 3 . Alternatively, let R x = λ x , then the rotation axis direction r is an eigenvector of R corresponding to the eigenvalue λ = 1 .
At first glance, the rotation motion is a linear process, which might be misled by the matrix representation Eq.(1). Unfortunately, R is not a regular matrix in R 3 × 3 . A rotation only has three degrees of freedom, since it can be determined by a rotation axis r S 2 and a rotation angle θ [ 0 , π ] . Formally, R SO ( 3 ) , and a rotation can be represented by a matrix and non-linear constraints,
R = r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 , s . t . R T R = I 3 × 3 , det ( R ) = + 1
According to the famous Rodrigues’ rotation formula [28,29], given the rotation axis r = r 1 r 2 r 3 T S 2 and rotation angle θ , the matrix can be constructed by
R = exp θ [ r ] × = I 3 × 3 + sin ( θ ) [ r ] × + 1 cos ( θ ) [ r ] × 2 , [ r ] × = 0 r 3 r 2 r 3 0 r 1 r 2 r 1 0
Moreover, a rotation matrix can be represented by a quaternion vector with unit length [30,31], such that q = q 0 q 1 q 2 q 3 T S 3 . Specifically,
R = q 0 2 + q 1 2 q 2 2 q 3 2 2 q 1 q 2 q 0 q 3 2 q 1 q 3 + q 0 q 2 2 q 1 q 2 + q 0 q 3 q 0 2 q 1 2 + q 2 2 q 3 2 2 q 2 q 3 q 0 q 1 2 q 1 q 3 q 0 q 2 2 q 2 q 3 + q 0 q 1 q 0 2 q 1 2 q 2 2 + q 3 2
It is worth noting that many different forms of parameter representation can represent the same rotation, and each form of representation has its appropriate application scenario [32,33,34,35]. For example, since a rotation can be determined by a fixed rotation axis r S 2 and a rotation angle θ 0 , π , then the rotation can be represented by axis–angle representation θ · r  [36], which geometrically is a point in a 3D ball of radius π  [29] and has been widely used in pose estimation problems [29,37,38]. Nonetheless, throughout most of this paper, quaternions are used to represent rotations [30,31] and thus to illustrate the proposed linearization theory.
Preprints 149397 i001

3. Linear Expressions for Rotation Motion

Given a = a 1 a 2 a 3 S 2 and a rotation R SO ( 3 ) , the rotation motion can be formulated as
R a = b R a , b = 0 b T R a = 1
where b = b 1 b 2 b 3 S 2 is rotated by a . This formulation is actually a special case of the general rotational motion. Generally, given a , b S 2 and R SO ( 3 ) whose quaternion expression is q S 3 , consider an arbitrary angle τ [ π , π ] , there is
R a , b = τ b T R a = cos τ q T M q = cos τ
Here M is constructed by a and b  [30,40]. Specifically,
M = [ 0 a 1 a 2 a 3 a 1 0 a 3 a 2 a 2 a 3 0 a 1 a 3 a 2 a 1 0 ] T [ 0 b 1 b 2 b 3 b 1 0 b 3 b 2 b 2 b 3 0 b 1 b 3 b 2 b 1 0 ]
When τ = 0 , Eq.(7) degenerates back to Eq.(6).
It is worth noting that there are two facts concerning R a , b = τ ,
Preprints 149397 i002
For the first point, it is understandable. For the second point, observe R a , b = τ R ( θ ) R a , b = τ , where R ( θ ) is a rotation whose rotation axis is R a and rotation angle is θ ; θ is an arbitrary angle. It means if R satisfy R a , b = τ , then there are an infinite number of rotations R ( θ ) R that also satisfy the given rotation motion. Therefore, given a rotation constraint R a , b = τ , all rotations that satisfy the given rotation motion should be in some special regions in SO ( 3 ) .
By conducting eigendecomposition of the real symmetric matrix M = u Λ u T  [22,41], where and u = u 0 u 1 u 2 u 3 R 4 × 4 is an orthogonal matrix u u T = I 4 × 4 . Observe
det M λ I 4 × 4 = 0 λ 2 1 2 = 0
Therefore, the eigenvalue matrix of M is
Λ = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
Accordingly, q T u Λ u T q = cos τ .
Let p = p 0 , p 1 , p 2 , p 3 T = u T q , then q = u p = p 0 u 0 + p 1 u 1 + p 2 u 2 + p 3 u 3 . Observe
p T p = q T u u T q = p 0 2 + p 1 2 + p 2 2 + p 3 2 = 1 q T u Λ u T q = p T Λ p = p 0 2 + p 1 2 p 2 2 p 3 2 = cos τ p 0 2 + p 1 2 = 1 2 1 + cos τ p 2 2 + p 3 2 = 1 2 1 cos τ
Therefore, it can be formulated
p 0 = 2 1 + cos τ 2 cos ( ϕ ) , p 1 = 2 1 + cos τ 2 sin ( ϕ ) p 2 = 2 1 cos τ 2 cos ( ψ ) , p 3 = 2 1 cos τ 2 sin ( ψ )
As a consequence, the possible rotation q can be reformulated linearly
q = p 0 u 0 + p 1 u 1 + p 2 u 2 + p 3 u 3
= 2 1 + cos τ 2 cos ( ϕ ) u 0 + sin ( ϕ ) u 1 + 2 1 cos τ 2 cos ( ψ ) u 2 + sin ( ψ ) u 3
where ϕ , ψ [ π , π ] . This result clearly shows that the rotational motion can be expressed in linear forms.
Geometrically, if R a , b = τ , then all possible rotation q that satisfy the constraint will be in a two-dimensional torus in S 3 . For better understanding, some special cases can be visualized, i.e., τ = { 0 , π 9 , 3 π 9 , 6 π 9 , 8 π 9 } via stereographic projection [42,43], as in Figure 1.
It is worth noting that when τ = { 0 , π } , i.e., R a = ± b , the torus in S 3 is degenerated into a one-dimensional circle, more specifically, a great circle [44,45,46] in S 3 . Formally,
( a ) : when τ = 0 q = cos ( ϕ ) u 0 + sin ( ϕ ) u 1 ( b ) : when τ = π q = cos ( ψ ) u 2 + sin ( ψ ) u 3
In addition, when τ = π 2 , the torus is becoming to the Clifford torus in S 3  [47,48], since it has the equal diameters in cross directions. Specifically,
q = 2 2 cos ( ϕ ) u 0 + sin ( ϕ ) u 1 + 2 2 cos ( ψ ) u 2 + sin ( ψ ) u 3

4. Special Case I: Great Circle in S 3

If τ = 0 , which means R a = b , it is one of the most common cases in practical applications [33,37]. Then according to Eq. (15) all rotations that satisfy R a = b should be in
q = cos ( ϕ ) u 0 + sin ( ϕ ) u 1
where u 0 and u 1 are the basis vectors in S 3 , and they depend on M , i.e., a and b . Geometrically speaking, q is a unit vector in R 4 , which is a linear combination of the two vectors u 0 and u 1 . In addition, q T q = 1 , which means q is on the surface of the unit quaternion sphere. Therefore, the region where all possible rotations satisfy a specific rotation motion is a great circle in S 3  [44].
Figure 2. The illustration of great circles in S 3 ; for better visualization, they is imitatively drawn in R 3 . (a) Given R a = b , all possible solution of the to-be-solved rotation will be in a circle-shape region on S 3 (b) Given two rotation motion, there are two circles on the surface, and the intersections of the circles are the solutions that meet both rotation motions. Note that the intersections are symmetrical on the surface, and they are corresponding to the same rotation matrix. (c) Given more rotation motions, there are more circles. The intersections of the circles should be the rotation solution meet all given rotation motions.
Figure 2. The illustration of great circles in S 3 ; for better visualization, they is imitatively drawn in R 3 . (a) Given R a = b , all possible solution of the to-be-solved rotation will be in a circle-shape region on S 3 (b) Given two rotation motion, there are two circles on the surface, and the intersections of the circles are the solutions that meet both rotation motions. Note that the intersections are symmetrical on the surface, and they are corresponding to the same rotation matrix. (c) Given more rotation motions, there are more circles. The intersections of the circles should be the rotation solution meet all given rotation motions.
Preprints 149397 g002
In order to determine a unique rotation, two independent constraints are required. Specifically, given two pair of inputs R a 1 = b 1 and R a 2 = b 2 , two circles can be calculated according to Eq.(17), which is however not easy.
q = cos ( ϕ 1 ) u 1 , 0 + sin ( ϕ 1 ) u 1 , 1 q = cos ( ϕ 2 ) u 2 , 0 + sin ( ϕ 2 ) u 2 , 1 ?
In fact, it does not need to be that complicated. Since u T u = I 4 × 4 , there will be
cos ( ϕ ) u 0 T + sin ( ϕ ) u 1 T u 2 = 0 cos ( ϕ ) u 0 T + sin ( ϕ ) u 1 T u 3 = 0 q T u 2 = 0 q T u 3 = 0
Consequently, given R a = b , there will be u 2 T , u 3 T q = 0 , where u 2 and u 3 are constructed by a and b . Given { a 1 , b 1 } and { a 2 , b 2 } , there will be
u 1 , 2 T u 1 , 3 T q = 0 u 2 , 2 T u 2 , 3 T q = 0 u 1 , 2 T u 1 , 3 T u 2 , 2 T u 2 , 3 T q = 0 d e f k 4 × 4 q = 0
Similarly, given N inputs, { a i , b i } i = 1 N , there will be
R a 1 = b 1 R a 2 = b 2 R a N = b N u 1 , 2 T u 1 , 3 T q = 0 u 2 , 2 T u 2 , 3 T q = 0 u N , 2 T u N , 3 T q = 0 d e f k 2 N × 4 q = 0
Up until this point, the rotation motion can be surprisingly linearly solved.

4.1. Eigenvector of M

It is worth noting that the linear expression of rotation motion is closely related to u = u 0 u 1 u 2 u 3 . Due to M u = u Λ , there will be
M u 0 = 1 · u 0 ; M u 1 = 1 · u 1 ; M u 2 = 1 · u 2 ; M u 3 = 1 · u 3
It is easy to confirm [49,50],
M 0 a b T a b a + b × T = 1 · 0 a b T a b a + b × T = d e f 1 · Ω
M 0 a + b T a + b a b × T = + 1 · 0 a + b T a + b a b × T = d e f + 1 · Ω +
Therefore, any row of Ω can be the eigenvector of M with eigenvalue 1 . Similarly, any row of Ω + can be the eigenvector of M with eigenvalue 1.
Accordingly, there will be
  • any row of Ω is a linear combination of u 0 and u 1 .
  • any row of Ω + is a linear combination of u 2 and u 3 .
Consequently, rank Ω = rank Ω + = 2 ; Ω and Ω + are not necessarily orthogonal matrices. Nonetheless, there is still Ω q = 0 , more specifically,
Ω q = 0 0 a b T a b a + b × q 0 q 1 q 2 q 3 = 0
0 a 1 b 1 a 2 b 2 a 3 b 3 a 1 b 1 0 a 3 + b 3 a 2 + b 2 a 2 b 2 a 3 + b 3 0 a 1 + b 1 a 3 b 3 a 2 + b 2 a 1 + b 1 0 q 0 q 1 q 2 q 3 = 0

5. Special Case II: Clifford Torus in S 3

In the previous description, we provide a general derivation for the connection between rotation constraint, i.e., b T R a = 0 and Clifford torus. Here we show an alternative way to obtain a Clifford torus from rotation constraint.
Given a rotation constraint b T R a = 0 , the possible rotation R can be (see Figure 3)
R α , β = R v 2 β R v 1 α R 0 , α , β π , π
where v 2 = b , v 1 T v 1 = 1 and v 1 T v 2 = 0 ; R 0 is a rotation that rotates a to v 1 ; R v 1 ( α ) = exp α [ v 1 ] × and R v 2 ( β ) = exp β [ v 2 ] × are rotations around directions b 1 and b , respectively. The rotation motion can be as follows,
v 1 = R 0 a , v 1 = R v 1 α R 0 a , b T R v 2 β R v 1 α R 0 a = 0
To use quaternion to represent rotation [30]
R v 2 β : = q v 2 ( β ) = cos β 2 v 2 T sin β 2 T
R v 1 α : = q v 1 ( α ) = cos α 2 v 1 T sin α 2 T
R 0 : = q 0 q 123 T T
The formula for the multiplication of two quaternions is [30]
( r 1 , v 1 ) ( r 2 , v 2 ) = ( r 1 r 2 v 1 v 2 , r 1 v 2 + r 2 v 1 + v 1 × v 2 )
Define v 3 = v 1 × v 2 , then
R v 2 ( β ) R v 1 ( α ) : = cos β 2 cos α 2 v 2 T sin β 2 cos α 2 + v 1 T sin α 2 cos β 2 v 3 T sin β 2 sin α 2 T
In addition, let w 1 = 1 2 ( α β ) and w 2 = 1 2 ( α + β ) ,
cos β 2 cos α 2 = 1 2 cos α β 2 + cos α + β 2 = 1 2 cos ( w 1 ) + cos ( w 2 )
sin β 2 cos α 2 = 1 2 sin α + β 2 sin α β 2 = 1 2 sin ( w 2 ) sin ( w 1 )
sin α 2 cos β 2 = 1 2 sin α + β 2 + sin α β 2 = 1 2 sin ( w 2 ) + sin ( w 1 )
sin β 2 sin α 2 = 1 2 cos α β 2 cos α + β 2 = 1 2 cos ( w 1 ) cos ( w 2 )
Then,
R v 2 ( β ) R v 1 ( α ) : = 1 2 cos ( w 1 ) + cos ( w 2 ) sin ( w 1 ) v 1 T v 2 T cos ( w 1 ) v 3 T + sin ( w 2 ) v 1 T + v 2 T + cos ( w 2 ) v 3 T T
Therefore,
R α , β = R v 2 ( β ) R v 1 ( α ) R 0
: = 1 2 k 0 k 1 k 2 k 3 cos ( w 1 ) sin ( w 1 ) cos ( w 2 ) sin ( w 2 ) , w 1 = 1 2 ( α β ) , and , w 2 = 1 2 ( α + β )
= 1 2 k 0 cos ( w 1 ) + k 1 sin ( w 1 ) + k 2 cos ( w 2 ) + k 3 sin ( w 2 )
where
k 0 = q 0 + v 3 T q 123 q 123 q 0 v 3 v 3 × q 123 k 1 = v 1 v 2 T q 123 q 0 v 1 v 2 + v 1 v 2 × q 123
k 2 = q 0 v 3 T q 123 q 123 + q 0 v 3 + v 3 × q 123 k 3 = v 1 + v 2 T q 123 q 0 v 1 + v 2 + v 1 + v 2 × q 123
It is easy to verify
k 0 k 1 k 2 k 3 T k 0 k 1 k 2 k 3 = 2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 2
Geometrically, Eq. (39) describes a Clifford torus [51] in S 3 .

5.1. Intersections of Two Different Clifford Tori

Given two rotation constraints b 1 T R a 1 = 0 and b 2 T R a 2 = 0 , the possible rotation can be considered in the intersections of two Clifford tori (see Figure 4). Here, a solution to solve the intersection line is presented. Specifically,
b 1 T R a 1 = 0 b 2 T R a 2 = 0 R α , β = R v 2 β R v 1 α R 0 b 2 T R a 2 = 0 b 2 T R v 2 β R v 1 α R 0 a 2 = 0
where v 2 = b 1 and v 1 S 2 is an arbitrary vector and satisfies v 1 T v 2 = 0 ; R 0 is a specific arbitrary rotation that can rotate a to v 1 ; R v 1 ( α ) = exp α [ v 1 ] × and R v 2 ( β ) = exp β [ v 2 ] × .
According to Rodrigues’ rotation formula [3], we have
R v 1 α = exp α [ v 1 ] × = I + sin ( α ) [ v 1 ] × + 1 cos ( α ) [ v 1 ] × 2
R v 2 β = exp β [ v 2 ] × = I + sin ( β ) [ v 2 ] × + 1 cos ( β ) [ v 2 ] × 2
Therefore,
b 2 T I + sin ( β ) [ v 2 ] × + 1 cos ( β ) [ v 2 ] × 2 I + sin ( α ) [ v 1 ] × + 1 cos ( α ) [ v 1 ] × 2 R 0 a 2 = 0
Clearly, Eq.(48) shows a one-dimensional curve constructed by α and β (see Figure 5).
Specifically, given a α [ π , π ] , β would be computed by Eq. (48). Intuitively, one should solve the following equation
sin ( β ) A + cos ( β ) B + C = 0
where A = b 2 T [ v 2 ] × R v 1 ( α ) R 0 a 2 , B = b 2 T [ v 2 ] × 2 R v 1 ( α ) R 0 a 2 and C = b 2 T v 2 v 2 T R v 1 ( α ) R 0 a 2 . According to the tangent half-angle formula, when β ± π ,
2 tan β 2 1 + tan 2 β 2 A + 1 tan 2 β 2 1 + tan 2 β 2 B + C = 0 y tan β 2 2 A y + ( 1 y 2 ) B + ( 1 + y 2 ) C = 0 ( C B ) y 2 + 2 A y + B + C = 0
Accordingly, β can be computed and rotation R α , β can be computed as well. Formally,
f : α [ π , π ] β by Eq . ( ) R α , β

5.2. Intersections of Three Different Clifford Tori

Given three rotation constraints b 1 T R a 1 = 0 , b 2 T R a 2 = 0 and b 3 T R a 3 = 0 , the possible rotation can be considered in the intersections of three Clifford tori. Note that it belongs to the famous E3Q3 problem [52], and there are many solutions have been proposed to solve it [53,54,55,56,57]. Here this paper provides a more straight linear way. Specifically,
b 1 T R a 1 = 0 b 2 T R a 2 = 0 b 3 T R a 3 = 0 R α , β = R v 2 β R v 1 α R 0 b 2 T R a 2 = 0 b 3 T R a 3 = 0 b 2 T R v 2 β R v 1 α R 0 a 2 = 0 b 3 T R v 2 β R v 1 α R 0 a 3 = 0
Therefore,
b 2 T I + sin ( β ) [ v 2 ] × + 1 cos ( β ) [ v 2 ] × 2 I + sin ( α ) [ v 1 ] × + 1 cos ( α ) [ v 1 ] × 2 R 0 a 2 = 0
b 3 T I + sin ( β ) [ v 2 ] × + 1 cos ( β ) [ v 2 ] × 2 I + sin ( α ) [ v 1 ] × + 1 cos ( α ) [ v 1 ] × 2 R 0 a 3 = 0
There are two unknown variables α and β for two constraints, and the intersections can be computed. According to tangent half-angle formula (a.k.a. Weierstrass substitution formulas),
sin ( α ) = 2 tan α 2 1 + tan 2 α 2 , cos ( α ) = 1 tan 2 α 2 1 + tan 2 α 2 ,
sin ( β ) = 2 tan β 2 1 + tan 2 β 2 , cos ( β ) = 1 tan 2 β 2 1 + tan 2 β 2
Let x = tan α 2 , and y = tan β 2 , and when α ± π , β ± π ,
b 2 T ( 1 + y 2 ) I + 2 y [ v 2 ] × + 2 y 2 [ v 2 ] × 2 ( 1 + x 2 ) I + 2 x [ v 1 ] × + 2 x 2 [ v 1 ] × 2 R 0 a 2 = 0
b 3 T ( 1 + y 2 ) I + 2 y [ v 2 ] × + 2 y 2 [ v 2 ] × 2 ( 1 + x 2 ) I + 2 x [ v 1 ] × + 2 x 2 [ v 1 ] × 2 R 0 a 3 = 0
The system of equations can be reformulated as
F ( x , y ) = y 2 y 1 A x 2 x 1 = 0 , G ( x , y ) = y 2 y 1 B x 2 x 1 = 0
where A and B R 3 × 3 , Specifically,
A = A 1 , 1 A 1 , 2 A 1 , 3 A 2 , 1 A 2 , 2 A 2 , 3 A 3 , 1 A 3 , 2 A 3 , 3 = b 2 T [ [ l ] I + 2 [ v 2 ] × 2 I + 2 [ v 1 ] × 2 I + 2 [ v 2 ] × 2 2 [ v 1 ] × I + 2 [ v 2 ] × 2 2 [ v 2 ] × I + 2 [ v 1 ] × 2 2 [ v 2 ] × 2 [ v 1 ] × 2 [ v 2 ] × I + 2 [ v 1 ] × 2 2 [ v 1 ] × I ] R 0 a 2
B = B 1 , 1 B 1 , 2 B 1 , 3 B 2 , 1 B 2 , 2 B 2 , 3 B 3 , 1 B 3 , 2 B 3 , 3 = b 3 T [ [ l ] I + 2 [ v 2 ] × 2 I + 2 [ v 1 ] × 2 I + 2 [ v 2 ] × 2 2 [ v 1 ] × I + 2 [ v 2 ] × 2 2 [ v 2 ] × I + 2 [ v 1 ] × 2 2 [ v 2 ] × 2 [ v 1 ] × 2 [ v 2 ] × I + 2 [ v 1 ] × 2 2 [ v 1 ] × I ] R 0 a 3
and * is to calculate the matrix item by item. Geometrically, if only considering real solutions, it describes the intersections of two cures computed by observations in z = 0 plane (see Figure 6).
Algebraically, it is a polynomial system containing two equations in two variables, which can be generally solved by resultant-based method [58,59]. We donate
y 2 y 1 A x 2 x 1 = A ( y ) x 2 x 1 = 0 , y 2 y 1 B x 2 x 1 = B ( y ) x 2 x 1 = 0
Both sides of the equations are multiplied by x,
A ( y ) x 3 x 2 x = 0 , B ( y ) x 3 x 2 x = 0
By stacking equations,
0 A ( y ) 0 B ( y ) A ( y ) 0 B ( y ) 0 x 3 x 2 x 1 = H ( y ) x 3 x 2 x 1 = 0
To solve y, it is to solve H ( y ) = 0 . This determinant is also known as a hidden-variable resultant in computer vision filed [60,61], and it is an univariate polynomial with degree 8 of the hidden variable y.
H ( y ) = a 8 y 8 + a 7 y 7 + a 6 y 6 + a 5 y 5 + a 4 y 4 + a 3 y 3 + a 2 y 2 + a 1 y + a 0 = 0
In fact, the problem is not very complex, one can directly calculate the explicit expression of each term for the resultant-based method using symbolic math. Practically, one can obtain explicit coefficients { a i } i = 0 8 by the function resultant in Matlab 1 or the function sympy.polys.polytools.resultant in SymPy2, and this paper will not list all details to avoid long-and-tedious expressions for readability. Nonetheless, the solution of y can be directly computed by solving roots of a univariate polynomial [62,63]. After solving y, it is easy to calculate x.

5.2.1. Linear Solution to Solve Intersections of Three Different Clifford Tori

Alternatively, Eq. (64) can be rewritten as a quadratic eigenvalue problem, i.e., λ 2 H 2 + λ H 1 + H 0 v = 0  [60,61,64].
H ( y ) x 3 x 2 x 1 = 0 y 2 H 2 + y H 1 + H 0 x 3 x 2 x 1 = 0
where H 0 , H 1 and H 2 R 4 × 4 . Specifically,
H 2 = 0 A 1 , 1 A 1 , 2 A 1 , 3 0 B 1 , 1 B 1 , 2 B 1 , 3 A 1 , 1 A 1 , 2 A 1 , 3 0 B 1 , 1 B 1 , 2 B 1 , 3 0 H 1 = 0 A 2 , 1 A 2 , 2 A 2 , 3 0 B 2 , 1 B 2 , 2 B 2 , 3 A 2 , 1 A 2 , 2 A 2 , 3 0 B 2 , 1 B 2 , 2 B 2 , 3 0
H 0 = 0 A 3 , 1 A 3 , 2 A 3 , 3 0 B 3 , 1 B 3 , 2 B 3 , 3 A 3 , 1 A 3 , 2 A 3 , 3 0 B 3 , 1 B 3 , 2 B 3 , 3 0
Notably, there is no x and y in H 2 , H 1 and H 0 . Accordingly, it is easy to solve the system of polynomial equations by linear way [64].
Specifically, the to-be-solved eigenvector of this problem is v = x 3 x 2 x 1 T and corresponding eigenvalue is λ = y . Furthermore, the quadratic eigenvalue problem can be transformed into a generalized eigenvalue problem, i.e., a x = λ b x  [65], which has been extensively studied [61,65,66,67]. Specifically,
λ 2 H 2 + λ H 1 + H 0 v = 0 0 I H 0 H 1 v λ v = λ I 0 0 H 2 v λ v
Therefore, there will be 8 eigenvalues of this linear problem. The easiest way to solve this problem is using the Matlab function built-in polyeig3. SciPy also provides a function scipy.linalg.eig4 to solve generalized eigenvalue problems.

Conflicts of Interest

The author declares no conflicts of interest.

References

  1. Waldron, K.J.; Schmiedeler, J. Kinematics. In Springer handbook of robotics; 2016; pp. 11–36. [Google Scholar]
  2. Ivanov, A. Theoretical matrix study of rigid body general motion. Greener Journal of Physics and Natural Sciences 2017, 3, 009–020. [Google Scholar] [CrossRef]
  3. Hartley, R.; Zisserman, A. Multiple view geometry in computer vision; Cambridge university press, 2003. [Google Scholar]
  4. Yehia, H.M. Rigid Body Dynamics. In Advances in Mechanics and Mathematics. Birkhäuser Cham; 2022.
  5. Teisseyre, R. Tutorial on new developments in the physics of rotational motions. Bulletin of the Seismological Society of America 2009, 99, 1028–1039. [Google Scholar] [CrossRef]
  6. Kisantal, M.; Sharma, S.; Park, T.H.; Izzo, D.; Märtens, M.; D’Amico, S. Satellite pose estimation challenge: Dataset, competition design, and results. IEEE Transactions on Aerospace and Electronic Systems 2020, 56, 4083–4098. [Google Scholar] [CrossRef]
  7. Gul, F.; Rahiman, W.; Nazli Alhady, S.S. A comprehensive study for robot navigation techniques. Cogent Engineering 2019, 6, 1632046. [Google Scholar] [CrossRef]
  8. Yefymenko, N.; Kudermetov, R. Quaternion models of a rigid body rotation motion and their application for spacecraft attitude control. Acta Astronautica 2022, 194, 76–82. [Google Scholar] [CrossRef]
  9. Rizzi, G.; Ruggiero, M.L. Relativity in rotating frames: relativistic physics in rotating reference frames, Springer, 2004.
  10. Bustos, A.P.; Chin, T.J. Guaranteed Outlier Removal for Point Cloud Registration with Correspondences. IEEE transactions on pattern analysis and machine intelligence 2018, 40, 2868–2882. [Google Scholar] [CrossRef]
  11. Eriksson, A.; Olsson, C.; Kahl, F.; Chin, T.J. Rotation Averaging with the Chordal Distance: Global Minimizers and Strong Duality. IEEE Transactions on Pattern Analysis & Machine Intelligence 2021, 43, 256–268. [Google Scholar]
  12. Crassidis, J.L.; Markley, F.L.; Cheng, Y. Survey of nonlinear attitude estimation methods. Journal of guidance, control, and dynamics 2007, 30, 12–28. [Google Scholar] [CrossRef]
  13. Carlone, L.; et al. Estimation Contracts for Outlier-Robust Geometric Perception. Foundations and Trends® in Robotics 2023, 11, 90–224. [Google Scholar] [CrossRef]
  14. Mathavaraj, S.; Butcher, E.A. SE (3)-constrained extended Kalman filtering for rigid body pose estimation. IEEE Transactions on Aerospace and Electronic Systems 2021, 58, 2482–2492. [Google Scholar] [CrossRef]
  15. Welch, G.F. Kalman filter. Computer Vision: A Reference Guide, 2020; 1–3. [Google Scholar]
  16. Trawny, N.; Roumeliotis, S.I. Indirect Kalman filter for 3D attitude estimation. University of Minnesota, Dept. of Comp. Sci. & Eng., Tech. Rep 2005, 2, 2005. [Google Scholar]
  17. Chin, T.J.; Suter, D. The maximum consensus problem: recent algorithmic advances; Springer Nature, 2022. [Google Scholar]
  18. Etingof, P. Lie groups and Lie algebras. arXiv, 2022; arXiv:2201.09397 2022. [Google Scholar]
  19. Dehmamy, N.; Walters, R.; Liu, Y.; Wang, D.; Yu, R. Automatic symmetry discovery with lie algebra convolutional network. Advances in Neural Information Processing Systems 2021, 34, 2503–2515. [Google Scholar]
  20. Gill, P.E.; Murray, W.; Wright, M.H. Numerical linear algebra and optimization, SIAM,, 2021.
  21. Farin, G.; Hansford, D. Practical linear algebra: a geometry toolbox; Chapman and Hall/CRC, 2021.
  22. Horn, R.A.; Johnson, C.R. Matrix analysis; Cambridge university press, 2012.
  23. Taubin, G. 3D Rotations. IEEE Computer Graphics and Applications 2011, 31, 84–89. [Google Scholar] [CrossRef]
  24. Ball, R.S. The theory of screws: A study in the dynamics of a rigid body. Mathematische Annalen 1876, 9, 541–553. [Google Scholar] [CrossRef]
  25. Palais, B.; Palais, R. Euler’s fixed point theorem: The axis of a rotation. Journal of fixed point theory and applications 2007, 2, 215–220. [Google Scholar] [CrossRef]
  26. Kumar, V. The Theorems of Euler and Chasles. University of Pennsylvania School of Engineering and Applied Science, I-Net, USA 2000.
  27. Joseph, T. An alternative proof of Euler’s rotation theorem. The Mathematical Intelligencer 2020, 42, 44–49. [Google Scholar] [CrossRef]
  28. Fraiture, L. A history of the description of the three-dimensional finite rotation. The Journal of the Astronautical Sciences 2009, 57, 207–232. [Google Scholar] [CrossRef]
  29. Hartley, R.I.; Kahl, F. Global optimization through rotation space search. International Journal of Computer Vision 2009, 82, 64–79. [Google Scholar] [CrossRef]
  30. Jia, Y.B. Quaternions and rotations. Com S 2008, 477, 15. [Google Scholar]
  31. Spring, K.W. Euler parameters and the use of quaternion algebra in the manipulation of finite rotations: a review. Mechanism and machine theory 1986, 21, 365–373. [Google Scholar] [CrossRef]
  32. Bauchau, O.; Bauchau, O. Parameterization of rotation. Flexible Multibody Dynamics, 2011; 511–542. [Google Scholar]
  33. Hartley, R.; Trumpf, J.; Dai, Y.; Li, H. Rotation averaging. International journal of computer vision 2013, 103, 267–305. [Google Scholar] [CrossRef]
  34. Kim, S.; Kim, M. Rotation representations and their conversions. IEEE Access 2023, 11, 6682–6699. [Google Scholar] [CrossRef]
  35. Shuster, M.D. A survey of attitude representation. Journal of The Astronautical Sciences 1993, 41, 439–517. [Google Scholar]
  36. Liu, Y. Globally Optimal Solutions for Unit-Norm Constrained Computer Vision Problems. Ph.D. Thesis, Technische Universität München, 2022. [Google Scholar]
  37. Liu, Y.; Dong, Y.; Song, Z.; Wang, M. 2D-3D Point Set Registration Based on Global Rotation Search. IEEE Transactions on Image Processing 2019, 28, 2599–2613. [Google Scholar] [CrossRef]
  38. Yang, J.; Li, H.; Campbell, D.; Jia, Y. Go-ICP: A globally optimal solution to 3D ICP point-set registration. IEEE transactions on pattern analysis and machine intelligence 2015, 38, 2241–2254. [Google Scholar] [CrossRef]
  39. Altmann, S.L. Rotations, quaternions, and double groups, Courier Corporation, 2005.
  40. HORN, B.P. Closed-form solution of absolute orientation using unit quaternions. Journal of the Optical Society of America. A, Optics and image science 1987, 4, 629–642. [Google Scholar] [CrossRef]
  41. Peng, L.; Tsakiris, M.C.; Vidal, R. Arcs: Accurate rotation and correspondence search. In Proceedings of the Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition; 2022; pp. 11153–11163. [Google Scholar]
  42. McClintock, P. Relating plane transformations with stereographic projection. Ph.D. Thesis, 2022. [Google Scholar]
  43. Wilkins, D.R. Möbius transformations and stereographic projection, 2017.
  44. Gluck, H.; Warner, F.W. Great circle fibrations of the three-sphere. Duke Mathematical Journal 1983, 50, 107–132. [Google Scholar] [CrossRef]
  45. Bayro-Corrochano, E. A survey on quaternion algebra and geometric algebra applications in engineering and computer science 1995–2020. IEEE Access 2021, 9, 104326–104355. [Google Scholar] [CrossRef]
  46. Nastro, V.; Tancredi, U. Great circle navigation with vectorial methods. The Journal of navigation 2010, 63, 557–563. [Google Scholar] [CrossRef]
  47. Cheng, Q.M.; Ishikawa, S. A characterization of the Clifford torus. Proceedings of the American Mathematical Society 1999, 127, 819–828. [Google Scholar] [CrossRef]
  48. Yu, T.; Chen, J. Uniqueness of Clifford torus with prescribed isoperimetric ratio. Proceedings of the American Mathematical Society 2022, 150, 1749–1765. [Google Scholar] [CrossRef]
  49. Srivatsan, R.A.; Rosen, G.T.; Mohamed, D.F.N.; Choset, H. Estimating SE (3) elements using a dual quaternion based linear Kalman filter. In Proceedings of the Robotics: Science and systems; 2016. [Google Scholar]
  50. Arun Srivatsan, R.; Zevallos, N.; Vagdargi, P.; Choset, H. Registration with a small number of sparse measurements. The International Journal of Robotics Research 2019, 38, 1403–1419. [Google Scholar] [CrossRef]
  51. Andersson, O.; Bengtsson, I. Clifford tori and unbiased vectors. Reports on mathematical physics 2017, 79, 33–51. [Google Scholar] [CrossRef]
  52. Kukelova, Z.; Heller, J.; Fitzgibbon, A. Efficient intersection of three quadrics and applications in computer vision. In Proceedings of the Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition; 2016; pp. 1799–1808. [Google Scholar]
  53. Xu, C.; Zhang, L.; Cheng, L.; Koch, R. Pose estimation from line correspondences: A complete analysis and a series of solutions. IEEE transactions on pattern analysis and machine intelligence 2016, 39, 1209–1222. [Google Scholar] [CrossRef] [PubMed]
  54. Yu, Q.; Xu, G.; Cheng, Y. An efficient and globally optimal method for camera pose estimation using line features. Machine Vision and Applications 2020, 31, 1–11. [Google Scholar] [CrossRef]
  55. Wang, P.; Xu, G.; Cheng, Y.; Yu, Q. Camera pose estimation from lines: a fast, robust and general method. Machine Vision and Applications 2019, 30, 603–614. [Google Scholar] [CrossRef]
  56. Chan, K. A simple mathematical approach for determining intersection of quadratic surfaces. In Multiscale optimization methods and applications; Springer, 2006; pp. 271–298. [Google Scholar]
  57. Sarraga, R.F. Algebraic methods for intersections of quadric surfaces in GMSOLID. Computer Vision, Graphics, and Image Processing 1983, 22, 222–238. [Google Scholar] [CrossRef]
  58. Sturmfels, B. Introduction to resultants. In Proceedings of the Proceedings of Symposia in Applied Mathematics. American Mathematical Society, 1998, Vol. 53, pp. 25–40.
  59. Woody, H. Polynomial resultants. GNU operating system 2016. [Google Scholar]
  60. Hartley, R.; Li, H. An efficient hidden variable approach to minimal-case camera motion estimation. IEEE transactions on pattern analysis and machine intelligence 2012, 34, 2303–2314. [Google Scholar] [CrossRef]
  61. Kukelova, Z.; Bujnak, M.; Pajdla, T. Polynomial eigenvalue solutions to minimal problems in computer vision. IEEE Transactions on Pattern Analysis and Machine Intelligence 2011, 34, 1381–1393. [Google Scholar] [CrossRef]
  62. Pan, V.Y. Good News for Polynomial Root-finding. arXiv 2018, arXiv:1805.12042 2018. [Google Scholar]
  63. Kalantari, B. Polynomial root-finding and polynomiography. World Scientific, 2008. [Google Scholar]
  64. Tisseur, F.; Meerbergen, K. The quadratic eigenvalue problem. SIAM review 2001, 43, 235–286. [Google Scholar] [CrossRef]
  65. Ghojogh, B.; Karray, F.; Crowley, M. Eigenvalue and Generalized Eigenvalue Problems: Tutorial. arXiv 2023, arXiv:stat.ML/1903.11240. [Google Scholar]
  66. Williams, M.P. Solving polynomial equations using linear algebra. Johns Hopkins APL Technical Digest 2010, 28, 354–363. [Google Scholar]
  67. Lancaster, P.; Zaballa, I. Diagonalizable quadratic eigenvalue problems. Mechanical Systems and Signal Processing 2009, 23, 1134–1144. [Google Scholar] [CrossRef]
1
2
3
4
Figure 1. The illustration of genera cases of rotation constraints and their corresponding tori, which are consisting of all rotations that satisfy their respective constraint, in R 3 via stereographic projection.
Figure 1. The illustration of genera cases of rotation constraints and their corresponding tori, which are consisting of all rotations that satisfy their respective constraint, in R 3 via stereographic projection.
Preprints 149397 g001
Figure 3. The geometric relationship of one rotation constraint b T R a = 0 and its solution R α , β = R v 2 β R v 1 α R 0 .
Figure 3. The geometric relationship of one rotation constraint b T R a = 0 and its solution R α , β = R v 2 β R v 1 α R 0 .
Preprints 149397 g003
Figure 4. The illustration for intersection curves of two Clifford tori in R 3 by stereographic projection.
Figure 4. The illustration for intersection curves of two Clifford tori in R 3 by stereographic projection.
Preprints 149397 g004
Figure 5. The illustration for intersection curves of two Clifford tori in α and β space.
Figure 5. The illustration for intersection curves of two Clifford tori in α and β space.
Preprints 149397 g005
Figure 6. The intersection of two curves that are constructed by rotation constraints in the 2D plane. Specifically, we can consider z = F ( x , y ) and z = G ( x , y ) as two surfaces in R 3 . Let z = 0 , it means z = 0 plane and it cuts the surfaces F ( x , y ) and G ( x , y ) . Consequently, there are two intersection lines, which can be drawn in z = 0 plane.
Figure 6. The intersection of two curves that are constructed by rotation constraints in the 2D plane. Specifically, we can consider z = F ( x , y ) and z = G ( x , y ) as two surfaces in R 3 . Let z = 0 , it means z = 0 plane and it cuts the surfaces F ( x , y ) and G ( x , y ) . Consequently, there are two intersection lines, which can be drawn in z = 0 plane.
Preprints 149397 g006
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated