Next Article in Journal
Topology Design and Operation of Distribution Network Based on Multi-Objective Framework and Heuristic Strategies
Next Article in Special Issue
On the Continuity Equation in Space–Time Algebra: Multivector Waves, Energy–Momentum Vectors, Diffusion, and a Derivation of Maxwell Equations
Previous Article in Journal
A Deep Learning Approach for Stochastic Structural Plane Generation Based on Denoising Diffusion Probabilistic Models
Previous Article in Special Issue
Quaternion Spin
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Revisiting the Hansen Problem: A Geometric Algebra Approach

1
Department of Engineering, University of Almería, 04120 Almeria, Spain
2
Institute of Industrial and Control Engineering, Universitat Politècnica de Catalunya, 08034 Barcelona, Spain
3
Department of Electrical Engineering, Faculty of Engineering, Port-Said University, Port Fouad 42526, Egypt
4
Independent Researcher, San Cristóbal de las Casas 29200, Mexico
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(13), 1999; https://doi.org/10.3390/math12131999
Submission received: 28 May 2024 / Revised: 25 June 2024 / Accepted: 25 June 2024 / Published: 28 June 2024
(This article belongs to the Special Issue Applications of Geometric Algebra)

Abstract

:
The Hansen problem is a classic and well-known geometric challenge in geodesy and surveying involving the determination of two unknown points relative to two known reference locations using angular measurements. Traditional analytical solutions rely on cumbersome trigonometric calculations and are prone to propagation errors. This paper presents a novel framework leveraging geometric algebra (GA) to formulate and solve the Hansen problem. Our approach utilizes the representational capabilities of Vector Geometric Algebra (VGA) and Conformal Geometric Algebra (CGA) to avoid the need for tedious analytical manipulations and provide an efficient, unified solution. We develop concise geometric formulas tailored for computational implementation. The rigorous analyses and simulations that were completed as part of this work demonstrate that the precision and robustness of this new technique are equal or superior to those of conventional resection methods. The integration of classical concepts like the Hansen problem with modern GA-based spatial computing delivers more intuitive solutions while advancing the mathematical discourse. This work transforms conventional perspectives through methodological innovation, avoiding the limitations of prevailing paradigms.
MSC:
15A66; 15A67

1. Introduction

1.1. Motivation

The Hansen problem is a classic challenge in surveying and geodesy. It involves determining the position of two accessible but unknown points with respect to two known locations using angular measurements. The general 3D solution to this problem is usually solved in 2D by projecting the four points onto a common plane, typically by measuring angles with respect to the azimuth. Traditional methods for solving this problem rely heavily on trigonometric formulas or auxiliary constructions and angles. The same applies to other resection methods. Although effective, such methods often involve cumbersome calculations and are prone to errors, especially when dealing with complex geometric relationships. This complexity not only limits the precision of the results but also hinders a clear vision and understanding of these techniques in practical applications in fields such as surveying, navigation, and robotics.
Geometric algebra (GA), which has its roots in the nineteenth century, has gained increased attention in recent decades as an effective tool, presenting an opportunity to transform this paradigm. GA provides a unified and efficient framework for representing and manipulating geometric objects and their relationships. Its ability to naturally express rotations, translations, and other geometric transformations makes it especially suitable for problems involving spatial relationships. The elegance of GA derives from its inherent geometric capabilities, offering a more intuitive and direct approach to problem solving.
Recent works have demonstrated that GA’s capabilities are particularly promising in the specific context of the Hansen problem and general resection methods in geodesy and surveying [1]. Traditional analytical approaches to these problems often lack the simplicity and streamlined efficiency that modern geometric techniques can offer. By revisiting these fundamental problems through the lens of GA, we can derive solutions that are not only more elegant but also tailored for ease of computer implementation. Specifically, our approach to the Hansen problem utilizes both Vector Geometric Algebra (VGA) and Conformal Geometric Algebra (CGA) to develop concise, efficient formulas, thereby bypassing the tedious trigonometric manipulations inherent in traditional methods.

1.2. Background and Literature Review

The field of geodesy and surveying has long grappled with various resection problems. The Hansen problem has been a notable challenge, along with the Snellius–Pothenot (SP) problem and certain direct intersections. Methods for addressing these challenges include early works by researchers such as Porta, Ligas, and Font-Llagunes [2,3,4]. Their innovative geometric techniques contributed significantly to solving the SP problem and paralleled the evolution of methods for the Hansen problem.
The Hansen problem involves determining the positions of two unknown points from angular measurements relative to two known points. Originally attributed to Hansen’s 1841 work [5], subsequent investigation has shown that the first known formulation was by Gerling in 1824 [6]. This discovery underscores a significant historical nuance in the development of geodetic methodologies.
Traditional approaches to the Hansen problem, as discussed in McCaw’s work [7], relied heavily on trigonometric formulas, often resulting in cumbersome calculations and error propagation [8]. The use of graphical solutions (once a mainstay in solving such problems) has diminished use in modern times. As a result, graphical methods are often regarded as historical footnotes compared to purely algebraic methods. However, the works of Martin-Pastor [9] and others demonstrate the historical importance of graphical methods in geodesy. This context sets the stage for our use of VGA and CGA, which excels at transforming graphical constructions into computable algebraic forms that are suitable for algorithmic implementation. In this way, GA offers new perspectives for treating spatial problems involving rotations and coordinate transformations [10,11]. Similarly, recent studies have moved toward using the geometric properties of complex numbers to solve the Hansen problem. Notable contributions along these lines include Willerding [12] and Barabanova [13]. Barabanova’s work, in particular, provides criteria for identifying configurations that yield indeterminate solutions in the Hansen problem. Because complex numbers form a subalgebra within GA, they are a bridge between traditional methods and modern algebraic frameworks. This synergy is particularly promising for solving resection problems in geodesy and surveying.
Our approach leverages VGA for its algebraic efficiency and CGA for translating graphical constructions into computable algorithms. By applying GA to the Hansen problem, we aim to derive solutions that surpass traditional methods in both computational efficiency and precision [14,15]. This endeavor is informed by historical analyses and contributes to the rich methodological tapestry of geodesy and surveying.

1.3. Contributions

This paper presents a new framework for formulating and solving the Hansen problem in geodesy and surveying using geometric algebra. Our approach provides a unified, efficient, and geometrically intuitive solution that overcomes the limitations of traditional trigonometric and graphical techniques. The use of VGA’s and CGA’s representational capabilities allows us to bypass the cumbersome analytical manipulations inherent in conventional methods. The proposed technique simplifies the computational process and enhances theoretical understanding by translating complex spatial relationships into straightforward geometric transformations. From an educational perspective, this approach helps students to better visualize and grasp the underlying geometric principles. The rigorous analyses and simulations that were completed as part of this work demonstrate that this new framework achieves computational efficiency and robustness that are superior to those of existing approaches. A substantial claim is made concerning the modern perspective that integrates classical concepts with state-of-the-art mathematical tools to advance the discourse on the Hansen problem and related spatial challenges. Our contributions aim to transform this paradigm through innovations in methodology and validation.

1.4. Outline

The remainder of this paper is organized as follows: Section 2 (Methodology) provides necessary background on the Hansen problem. We review traditional analytical and graphical techniques, along with their limitations that motivate the search for an improved approach. We then detail the proposed GA framework, including the rationale for using Conformal GA, the geometric constructions and representations involved, and the derivation of efficient algebraic formulas tailored for computation. Section 3 (Examples and Results and Discussion) presents several examples and analyzes the results. Through rigorous theoretical analysis and numerical simulations, we compare the effectiveness of the GA approach to that of conventional methods. This section also summarizes the key findings and discusses the broader implications of modernizing classical spatial problems through GA. Suggestions are made regarding promising avenues for extending this approach to related challenges. The article ends with Section 4 (Conclusions).

2. Methodology

This section presents traditional techniques for solving the Hansen problem along with recent developments and proposed novel approaches based on GA. The form of the presentation is tutorial to provide a comprehensive foundation that will enable readers to better understand the context and significance of the novel contributions. Our brief review of the traditional analytical method that is based on trigonometric calculations establishes the context and motivates the search for an improved framework. Next, we review methods that use complex numbers, recognizing their historical role in bridging algebraic and geometric perspectives. We then present two new GA-based formulations. The first one exploits the algebraic efficiency of Vector Geometric Algebra (VGA). The second uses Conformal Geometric Algebra (CGA), which translates graphical constructions into computable algorithms without using trigonometric identities.

2.1. Solution via Classical Trigonometry

Because the classical geometry derivations are lengthy, it is not feasible to present them here in sufficient detail to do justice to the original authors. Therefore, we present an outline of the version published in Carlucci and Riggio [16], who label the points and angles as shown in Figure 1.
Applying the Law of Sines gives the following:
From A P 1 P 2 : A P 1 = P 1 P 2 sin β 1 sin π α 1 + α 2 + β 1 = P 1 P 2 sin β 1 sin α 1 + α 2 + β 1 From B P 1 P 2 : B P 1 = P 1 P 2 sin β 1 + β 2 sin π β 1 + β 2 + α 2 = P 1 P 2 sin β 1 + β 2 sin β 1 + β 2 + α 2 B P 1 A P 1 = sin β 1 + β 2 sin α 1 + α 2 + β 1 sin β 1 sin β 1 + β 2 + α 2
In addition, from A B P 1 , B P 1 / A P 1 = sin γ / sin δ . Therefore,
sin γ sin δ = sin β 1 + β 2 sin α 1 + α 2 + β 1 sin β 1 sin β 1 + β 2 + α 2
Now begins a series of clever trigonometric manipulations, the first of which is to define an auxiliary angle λ :
cot λ = sin β 1 + β 2 sin α 1 + α 2 + β 1 sin β 1 sin β 1 + β 2 + α 2
The angle λ has no geometric significance; it is defined as an artifice to facilitate subsequent transformations, whose result is
γ δ = 2 arctan cot α 1 2 tan π 4 λ
In addition, from A B P 1 , we find that
γ + δ = π α 1
This result, in combination with Equation (4), forms a system of two equations that can be solved for γ and δ , after which the positions of P 1 and P 2 can be found via standard trigonometry.
Although ingenious, the classical solution is cumbersome and vulnerable to propagation errors. As we shall see next, the complexity of Equation (4) suggested to Barabanova that a more practical solution might be derived by using complex numbers to express the geometric relationships [13].

2.2. Solution via Complex Numbers

Barabanova [13] is a meticulous work that discusses many practical aspects of Hansen’s problem and its extensions. Barabanova identifies the unknown points P 1 and P 2 by deriving a system of two linear equations whose unknowns are complex numbers.
Barabanova begins by formulating the vectors from the unknown points ( P 1 and P 2 ) to the known points (A and B) as scaled rotations of the vector p 2 p 1 between the unknown points:
Vectors to A : a p 1 = γ α 0 p 2 p 1 e i α 0 e i α 0 a p 1 p 2 p 1 = γ α 0 a p 2 = γ β 0 p 1 p 2 e i β 0 e i β 0 a p 2 p 1 p 2 = γ β 0 Vectors to B : b p 1 = γ α 1 p 2 p 1 e i α 1 e i α 1 b p 1 p 2 p 1 = γ α 1 b p 2 = γ β 1 p 1 p 2 e i β 1 e i β 1 b p 2 p 1 p 2 = γ β 1
Note that factors γ are real numbers. Now, Barabanova defines the auxiliary variables s 0 = a p 1 / p 2 p 1 and s 1 = b p 1 / p 2 p 1 . Making these substitutions in Equation (6), and noting that a p 2 / p 1 p 2 = 1 s 0 and b p 2 / p 1 p 2 = 1 s 1 , Equation (6) becomes
γ α 0 = e i α 0 s 0 γ α 1 = e i α 1 s 1 γ β 0 = e i β 0 1 s 0 γ β 1 = e i β 1 1 s 1
Because each product on the right-hand side of Equation (7) evaluates to a real number, each product is equal to its own complex conjugate. For example, e i α 0 s 0 = e i α 0 s 0 = e i α 0 s 0 . Thus,
e i α 0 s 0 = e i α 0 s 0 e 2 i α 0 s 0 = s 0 ( i ) e i β 0 1 s 0 = e i β 0 1 s 0 e 2 i β 0 1 s 0 = 1 s 0 ( ii ) e i α 1 s 1 = e i α 1 s 1 e 2 i α 1 s 1 = s 1 ( iii ) e i β 1 1 s 1 = e i β 1 1 s 1 e 2 i β 1 1 s 1 = 1 s 1 ( iv )
Now, Equation (8) (i) and (ii) are added to eliminate s 0 , after which we can solve for s 0 to obtain an equation of the form s 0 = c 0 , in which c 0 is a complex number that can be calculated from α 0 and β 0 . Through similar means, Equation (8) (iii) and (iv) yield an equation of the form s 1 = c 1 , in which c 1 is a complex number that can be calculated from α 1 and β 1 . To turn those two equations into a linear system that can be solved for p 1 and p 2 , we replace s 0 and s 1 with their respective definitions:
a p 1 p 2 p 1 = c 0 b p 1 p 2 p 1 = c 1

2.3. Solution via Vector Geometric Algebra (VGA)

Geometric algebra is a framework that extends traditional linear algebra to seamlessly unify vectors, complex numbers, matrices, and more within a coherent algebraic system. At the core of GA is the geometric product, which combines a scalar (“dot”) product and an exterior (“wedge”) product via a single, carefully defined operation that is called “addition”, which is represented by the symbol “+”. For two vectors a and b , the geometric product (written ab ) is the sum of the scalar dot-product component and the wedge-product component:
ab = a · b + a b
Geometrically, the wedge product of two vectors (known as a bivector) represents the oriented plane segment that is spanned by those vectors. Thus, the geometric product captures two types of information about the vectors’ relative orientations. This is one example of how the geometric product gives GA the ability to express geometric properties. The sum of a scalar and a bivector is called a multivector. The inner and outer products, as well the addition operation, can be extended to yield multivectors with scalar, vector, bivector, and higher-grade parts. In this way, GA can represent hyperplanes and subspaces, thereby allowing GA to elegantly express geometric concepts like rotations, reflections, and projections as algebraic entities. In the general case, the operator that performs a rotation can be written as follows:
R = e θ 2 σ 12
where σ 12 = σ 1 σ 2 and σ 1 , σ 2 are orthonormal basis vectors. The operator R is known as rotor and acts on a vector using the sandwich product to produce the rotation of a vector v through the angle θ in the plane spanned by σ 1 and σ 2 :
v R = R v R ˜
where R ˜ ( e + θ 2 σ 12 ) is known as the reverse of R . However, for the specific case of 2D rotations, a simpler one-sided rotation formula can be used:
v R = e θ σ 12 v
This one-sided rotation formula is valid only for 2D cases and is used in our derivation in Section 2.3.1 for simplicity. It is important to note that the two-sided rotation formula presented earlier is more general and powerful, showcasing the strength and universality of GA. This method of expressing rotations is considered to be more compact and intuitive than traditional linear algebra approaches.
The geometric product’s ability to merge inner and outer products provides a unified language for multilinear and projective geometry. GA has seen diverse applications ranging from computer graphics to robotics, physics, and electrical engineering [17,18]. Its ability to handle reflections, rotations, translations, and projections in arbitrary dimensions with notational and computational efficiency makes GA well suited for problems involving geometry and physics (see [10,19] for more details).

2.3.1. VGA Solution Method

The VGA solution is both intuitive and straightforward enough to be discovered by a high-school student who is familiar with the fundamentals of VGA and who is adept at translating, rotating, and scaling figures. Indeed, the solution strategy for VGA is essentially the same as for the purely geometric “fictitious base” method, which is based upon the similarity of the triangles. We follow the same angle notation as in Barabanova, which is slightly different from the traditional solution (compare Figure 2 and Figure 1). The principal contribution from VGA is to facilitate the formulation and manipulation of rotations. The solution is based upon the following observations:
  • The measurements of angles P 1 A P 2 and P 1 B P 2 can be identified immediately from the data.
  • The two triangles P 1 A P 2 and P 1 B P 2 share the same base P 1 P 2 .
  • Thanks to these observations, we can make good use of the “fictitious base” idea by formulating triangles that are similar to P 1 A P 2 and P 1 B P 2 , whose bases are parallel to P 1 P 2 , and that are equal in length to A B .
Putting these ideas together, a high-school student might arrive at the idea illustrated in Figure 3, in which A Q A 1 Q A 2 A P 1 P 2 ; B S B 1 S B 2 B P 1 P 2 ; and Q A 1 Q A 2 = S B 1 S B 2 = A B . To identify the points P 1 and P 2 , we would need to find the angle θ and the scaling factor λ that will bring Q A 1 and S B 1 into alignment with P 1 , and Q A 2 and S B 2 into alignment with P 2 . Further reflection might then lead the student to the formulation illustrated in Figure 4.
This figure could lead us to the idea of expressing a 1 and b 2 as scaled rotations of d and then express a 1 as
a 1 = d + b 2
Similarly, we could express a 2 and b 1 as scaled rotations of d and then express a 2 as
a 2 = d + b 1
Having identified a solution strategy, we can now complete and refine our provisional vector formulation to obtain one that will allow us to express the scaling factor and angles of rotation conveniently in terms of the length d = d and the four given angles (see Figure 5). Using this refined formulation, we will be able to determine both λ and θ by analyzing the single triangle A B P 2 , because one of its sides ( A B ) is neither a rotation nor a scaling of d . An analysis of triangle A B P 1 would also work, for the same reason, but we will instead analyze triangle A B P 2 simply because the angles of rotation with respect to u ^ are less bothersome to write. We begin by expressing a 2 and b 1 in terms of d, α 1 , β 1 , α 2 , and β 2 . Applying the law of sines to A P 1 P 2 ,
a 2 = λ d sin β 1 sin π β 1 + α 2 = λ d s 2
with
s 2 = sin β 1 sin β 1 + α 2
Similarly, from B P 1 P 2 ,
b 1 = λ d sin α 1 sin α 1 + β 2 = λ d s 3
The absolute values for the remaining vectors are
a 1 = λ d sin α 2 sin α 2 + β 1 = λ d s 1 b 2 = λ d sin β 2 sin β 2 + α 1 = λ d s 4
Now, we can find λ using the vector formula in Equation (15). By canceling d and squaring both sides, we obtain
d 2 = a 2 2 + b 1 2 2 a 2 · b 1 d 2 = ( λ d s 2 ) 2 + ( λ d s 3 ) 2 2 λ d s 2 λ d s 3 cos ( β 2 α 2 ) 1 = λ 2 s 2 2 + s 3 2 2 s 2 s 3 cos ( β 2 α 2 )
from which
λ = 1 s 2 2 + s 3 2 2 s 2 s 3 cos ( β 2 α 2 )
To solve for θ , we use Equation (15), with a 2 and b 1 expressed as scaled rotations of unit vector u ^ :
d u ^ = λ d s 2 u ^ e i θ λ d s 3 u ^ e i θ + β 2 α 2
Note that the angles of rotation are negative because the sense of the rotation is contrary to that of the unit bivector (defined as i = σ 12 ). By canceling the factor d, then left-multiplying both sides by u ^ , we obtain
1 = λ s 2 e i θ λ s 3 e i θ + β 2 α 2
Next, we multiply both sides by e + i θ :
e i θ = λ s 2 λ s 3 e i ( β 2 α 2 )
Now, we expand the exponentials
cos θ + i sin θ = λ s 2 λ s 3 cos ( β 2 α 2 ) i sin ( β 2 α 2 )
Equating the respective scalar and bivector parts of both sides,
cos θ = λ s 2 λ s 3 cos ( β 2 α 2 ) sin θ = λ s 3 sin ( β 2 α 2 )
from which
tan θ = s 3 sin ( β 2 α 2 ) s 2 s 3 cos ( β 2 α 2 )
Using this value of θ , the angle γ can also be computed as γ = α 1 + α 2 θ (see Figure 5). Then, using the value of λ from Equation (19), we obtain
b 2 = λ d s 4 u ^ e i γ a 2 = λ d s 2 u ^ e i θ

2.4. Solution via Conformal Geometric Algebra (CGA)

Although the conformal version of GA is perhaps overpowered for solving the 2D Hansen problem, we present a CGA solution here because of CGA’s potential for solving that problem in higher dimensions. In addition, CGA has the educational benefit of allowing new users to follow geometric intuition closely at all times.
The conformal model of the Euclidean space R 2 is constructed by first defining the pseudo-Euclidean space R 3 , 1 = R 2 R 1 , 1 , where R 1 , 1 is a hyperbolic plane spanned by a basis of two elements, σ + and σ , satisfying σ + 2 = 1 and σ 2 = 1 . The geometric algebra of R 3 , 1 , denoted as G 3 , 1 = G ( R 3 , 1 ) , is then constructed, which is spanned by the following basis:
{ 1 , σ 1 , σ 2 , σ + , σ , σ 12 , σ 1 + , σ 1 , σ 2 + , σ 2 , σ + , σ 12 + , σ 12 , σ 1 + , σ 2 + , σ 12 + }
To facilitate computations, it is advantageous to work with an alternative basis of the conformal geometric algebra that includes null vectors. Thus, we define the null vectors
σ 0 = σ + σ + 2 σ = σ σ +
which replace σ + and σ in the basis of G 3 , 1 . Now, to solve geometric problems using conformal geometric algebra, it is important to establish the foundational elements that will be used throughout the problem-solving process. A point X R 2 represented by the vector x in the Euclidean space (see Table 1) can also be expressed as a null vector in G 3 , 1 using Hestenes’ embedding:
x x = σ 0 + x + 1 2 x 2 σ
In addition, rotations in the plane can be represented using rotors in conformal geometric algebra. A rotation of θ degrees around an axis perpendicular to the plane is given by the following rotor:
R = e 1 2 θ σ 12 = cos θ 2 σ 12 sin θ 2
Lines and circles can be represented in conformal geometric algebra using two different but equivalent representations, namely the outer and inner representations. The outer representation of a line passing through points X and Y is given by L = x y σ , while its inner representation, obtained by taking the dual L = L I 1 (where I is the pseudoscalar of G 3 , 1 , i.e., σ 120 ), is a vector of the following form:
L = l = v σ 12 ( p v ) σ 12 σ
where v is the direction vector of line and p is a point on . Similarly, the outer representation of a circle C passing through points X, Y, and Z is given by C = x y z , while its inner representation C is a vector of the following form:
C = c = o 1 2 ρ 2 σ
where o is the null vector representation of the center O of the circle C and ρ is its radius. Intersections between geometric entities E 1 and E 2 can be computed using the outer product of their dual representations. If E 1 and E 2 are the outer representations of E 1 and E 2 , respectively, then their intersection, denoted by E 1 E 2 , is defined as the multivector E 1 E 2 = ( E 1 E 2 ) = E 1 · E 2 . These elements form the foundation for solving geometric problems within the CGA framework, thus providing a powerful and intuitive approach to representing and manipulating geometric entities in R 2 .

CGA Solution Method

In this section, we present a detailed tutorial on solving the Hansen problem using CGA. The problem setup (see Figure 6) consists of known points A and B and the given angles α 1 , β 1 , and α 2 . The objective is to determine the unknown points P 1 and P 2 .
Our CGA algorithm is based upon Collins’ graphical method [20]. We begin by representing points A = ( A 1 , A 2 ) and B = ( B 1 , B 2 ) as Euclidean vectors a and b , respectively. To work within the CGA framework, we express these points using their null vector representations:
a = σ 0 + a + 1 2 a 2 σ = σ 0 + A 1 σ 1 + A 2 σ 2 + 1 2 ( A 1 2 + A 2 2 ) σ b = σ 0 + b + 1 2 b 2 σ = σ 0 + B 1 σ 1 + B 2 σ 2 + 1 2 ( B 1 2 + B 2 2 ) σ
The next step is to construct the line passing through points A and B. In CGA, lines are represented using their outer product representation, which can be computed as follows:
L = a b σ
Now, we need to rotate the line around points A and B by angles α 1 and β 1 to determine the lines A 1 and B 1 , respectively (Figure 7). In CGA, rotations are performed using rotors, which are constructed using the exponential of a bivector. The rotors for α 1 and β 1 are
R A 1 = e 1 2 α 1 σ 12 = cos α 1 2 σ 12 sin α 1 2 R B 1 = e 1 2 β 1 σ 12 = cos β 1 2 + σ 12 sin β 1 2
To apply these rotors to the line , we first need to obtain its inner representation ( L = L I 1 ) and extract the direction vector v as
v = L + ( L · σ 0 ) σ
The rotated direction vectors v A 1 and v B 1 are then computed by applying the rotors to v :
v A 1 = R A 1 v R ˜ A 1 v B 1 = R B 1 v R ˜ B 1
Next, the lines A 1 and B 1 are constructed using their inner representations, which are obtained using the rotated direction vectors and the points A and B:
L A 1 = v A 1 σ 12 ( a v A 1 ) σ 12 σ L B 1 = v B 1 σ 12 ( b v B 1 ) σ 12 σ
The intersection of lines A 1 and B 1 yields point E, which can be computed using the outer product of the lines’ dual representations:
E = L A 1 L B 1 = ( L A 1 L B 1 )
The result E is a bivector representing a flatpoint in CGA. To obtain point E’s null vector representation (denoted by e ), we use the following formula:
e = ( E σ 0 ) · ( σ 0 σ )
We now construct the circle C 1 passing through points A, B, and E. In CGA, circles are built using their outer product representation, which can be computed as
C 1 = a b e
To determine the lines B 2 and A 2 , we follow a similar procedure, rotating the line around points B and A by angles α 2 and β 2 , respectively. The rotors for these angles are
R B 2 = e 1 2 α 2 σ 12 = cos α 2 2 σ 12 sin α 2 2 R A 2 = e 1 2 β 2 σ 12 = cos β 2 2 + σ 12 sin β 2 2
After applying these rotors to the direction vector v of line , we obtain the rotated direction vectors v A 2 and v B 2 . The lines B 2 and A 2 are then constructed using their inner representations, which are obtained using the rotated direction vectors and the points B and A:
L B 2 = v B 2 σ 12 ( b v B 2 ) σ 12 σ L A 2 = v A 2 σ 12 ( a v A 2 ) σ 12 σ
The intersection of lines B 2 and A 2 yields point F, which is computed using the outer product of the lines’ dual representations:
F = L B 2 L A 2 = ( L B 2 L A 2 )
The result F is a bivector, and the null vector representation of point F, denoted by f , is obtained using
f = ( F σ 0 ) · ( σ 0 σ )
We then construct the circle C 2 passing through points A, B, and F with its outer product representation given by
C 2 = a b f
The line E F passing through points E and F is computed using its outer product representation:
L E F = e f σ
The intersections of line E F with circles C 1 and C 2 yield bivectors P 1 and P 2 , respectively, each representing a pair of points:
P 1 = L E F C 1 = ( L E F C 1 ) P 2 = L E F C 2 = ( L E F C 2 )
To extract the individual points from P 1 = p 11 p 12 and P 2 = p 21 p 22 , we employ projector operators M 1 and M 2 :
M 1 = 1 2 1 + P 1 P 1 P ˜ 1 M 2 = 1 2 1 + P 2 P 2 P ˜ 2
The individual null vector representations of the points are then computed as
p 11 = M ˜ 1 P 1 · σ M 1 p 12 = M 1 P 1 · σ M ˜ 1 p 21 = M ˜ 2 P 2 · σ M 2 p 22 = M 2 P 2 · σ M ˜ 2
From the definitions of line E F and circles C 1 and C 2 , we conclude that p 11 = e , p 21 = f , p 12 = p 1 (the null vector representation of P 1 ), and p 22 = p 2 (the null vector representation of P 2 ).
Finally, the Cartesian points P 1 and P 2 are recovered from p 1 and p 2 using the orthogonal projection or the grade-1 projection operator, completing the solution to the geometric problem within the CGA framework (Figure 7).
This tutorial demonstrates a compact, elegant means of formulating a solution procedure that transforms the Hansen problem (whose nature is clearly geometric) into an algebraic problem while retaining the geometric interpretation of each step and of the problem solution as a whole. Because both the geometric and the algebraic natures are made clear, the solution can be implemented easily as an algorithm.

3. Examples, Results and Discussion

3.1. Benchmarking to Assess the Computational Efficiency of the Four Algorithms

This effort is especially significant because of the sparse benchmarking data currently available for the Hansen problem. We conducted a comprehensive study that leverages advanced techniques in computational geometry. The methods demonstrated notable efficiency and are pioneering in the field.
A thorough set of benchmarks was generated to evaluate the performance of all four algorithms, using identical computational settings to ensure consistency. The algorithms were tested on an Intel Core i7-9700K CPU at 3.60 GHz (Coffee Lake) with eight logical and eight physical cores, 8 GB RAM, running Windows 11 and utilizing the C#, .NET SDK 8.0.102 framework. Each algorithm was executed 10 6 times in a controlled environment to gather robust statistical data.
Our findings (Table 2) indicate that the VGA-based solution has the shortest mean execution time. The optimized implementations of the complex number and trigonometric solutions were slower, but they were still performed well enough to show promise as efficient solutions to the Hansen problem. The CGA solution was the slowest but provides valuable insights into the geometric complexity of the problem.
The primary advantages of our benchmarking methodology derive from its innovative use of computational techniques, including the optimization of geometric calculations to enhance performance and scalability. This capability is pivotal because it makes high-speed computations possible while ensuring that algorithms can be adapted to the various complexities that are inherent to the Hansen problem.
It should be noted that while complex numbers could apparently be sufficient for solving the Hansen problem in 2D, our exploration of VGA and CGA is motivated by future applications and scalability but also (as demonstrated in Table 2) because the efficient implementation of our VGA method outperforms the complex number approach in computational efficiency. Moreover, VGA and CGA provide a unified framework that can be more readily extended to higher dimensions and integrated with other geometric tasks, offering greater flexibility for future developments in surveying, robotics, and related fields.

3.2. Uncertainty Analysis: Effects of Measurement Error on the Accuracy and Robustness of the Four Algorithms

This analysis is indispensable because of the inherent presence of noise in real measurements.
A key characteristic of the Hansen problem is that the problem has no solution if both P 1 and P 2 lie along any line (of which there are infinitely many) that passes through either A or B. Although a solution will be obtained as long as said alignment is not perfect, the uncertainty of that solution will be excessive if the alignment is “too good”. But how can a surveyor in the field (or a robot) know in real time if the alignment is “too good”, especially when the measurement of the angles is noisy?
One means of detecting such cases is to identify correlations between a convenient combination of metrics for alignment and uncertainty. The alignment metric that we chose for this purpose uses the angles α 2 and β 1 described in Figure 1. When the two unknown points are perfectly aligned with a known point, one of these angles is either 0 or π , thus warning that no solution exists. Therefore, our proximity metric (D) is the smaller (mod π ) of the angles α 2 and β 1 :
D = 1 min ( α 2 p , β 1 p )
with
θ i p = min ( r i , π r i )
r i = mod ( θ i , π )
where the angle θ i p is the closest angular distance to 0 or π for a given angle ( α 2 p , β 1 p ). Note that the value of D is higher when the unknown points are better aligned with one of the knowns.
As the metric for the error of a solution, we used the Euclidean distance ( Δ d ) between actual and calculated positions of the unknowns. The sensitivity of Δ d to D was explored via the simulations described below for each of the four solution algorithms.
As a framework, the simulations defined a 4 m × 4 m square with an orthonormal, right-handed coordinate system whose origin is at the center (axes parallel to the sides; x positive to the right). The known points A and B are at ( 1 , 0 ) and ( 1 , 0 ) , respectively. The possible combinations of P 1 and P 2 are infinite, so in this brief description of the procedure, we show only the results of simulations in which P 1 was fixed at 1 , 1.2 , 0 , 0 , 0 , 1 , or 0.4 , 0.2 . In each of these simulations, the position of P 2 was varied systematically within the square area at 2 cm intervals in x and y (a total of 40,401 grid points for each P 1 location).
For each of those grid points (i.e., real positions of P 2 ), the simulation then calculated 1000 estimated positions of P 2 . As inputs, these calculations used “noisy” values of the angles α i and β i . That is, Gaussian noise (mean = 0, σ = 0.1 degrees) was added to the true values of those angles, which had been determined from P 1 and the grid point of P 2 . The simulation calculated Δ d for each of the 1000 “noisy-data estimates” of P 2 ’s positions and then reported the standard deviation of Δ d for those 1000 estimates.
The results of the Δ d calculations are shown in Figure 8. The corresponding spatial variations in D are shown in Figure 9. Note that the color scales used in the graphic representations are not linear. (Note, too, the range of the scale in Figure 8 for Case 3 of the trigonometric algorithm.) To enhance the visual clarity of these images and emphasize the correlation between Δ d and our new error metric (D), we applied histogram equalization to the images.
Alternatively, in order to ascertain the impact of angle noise on the positional precision of the points, a simulation was conducted in which the positional inaccuracy was determined for varying standard deviations across the methodologies. For each standard deviation value, the positional error was estimated 1000 times for points P 1 and P 2 located at (0.4, 0.2) and (0.6, −1), respectively. Given that the calculation of P 1 and P 2 is equally affected by noise and dependent on each other, the resulting error plot will be identical for both. Figure 10 illustrates the corresponding mean position error for the standard deviation, expressed in logarithmic scale, across the range of 0.001 to 1 for each of the presented methods.

3.3. Discussion of the Results

Figure 8 provides a clear illustration of the spatial distribution of the potential positional error. The areas with large standard deviations in the positional error are indicated in red, allowing for easy identification of the critical lines where the error increases when approaching them. Furthermore, as anticipated, this error increases with distance from A and B.
A detailed examination of Figure 8 reveals that for each P 1 location, the spatial distributions of error for the VGA, CGA, and complex number algorithms were indistinguishable. Moreover, the magnitudes of the maximum and minimum values of the error for these three algorithms were similar. This similarity is due to the fact that (except along the critical lines) the Hansen problem has an exact and unique solution for each combination of the measured angles. As a result, any solution method capable of solving the Hansen problem exactly will be affected in the same way by perturbations in the angle measurements, thus making the sensitivity of the calculation of the position independent of the method used. This is clearly demonstrated in Figure 10, which illustrates that for a specific point configuration, the position error for varying standard deviations of noise in the measured angles is independent of the method employed (all plots are nearly coincident).
The behavior of the trigonometric solution is markedly different, particularly in configurations # 2 and # 3 , where we can see additional critical lines passing through points A and B. These lines are attributable to the division by zero (in Equation (3)) that occurs when β 1 or β 1 + β 2 + α 2 is a multiple of π / 2 . Thus, the trigonometric method introduces additional singularities.
An examination of the spatial distribution of the alignment metric D (Figure 9) reveals that as intended, the value of D increases as we become angularly closer to the critical lines. Therefore, the D value is a highly effective indicator for avoiding these lines during positioning. Moreover, because there is some similarity between the spatial distributions of D and the positioning error Δ d , it can be postulated that the former can be correlated with the latter via a function of the other parameters of the problem.

4. Conclusions

This work has introduced a set of novel algorithms for solving the Hansen problem, using the robust framework of GA. Our new VGA- and CGA-based approaches were benchmarked for the first time—along with the established complex number and Trig approaches—thus establishing a baseline for future computational evaluations in this area.
The VGA-based method proved to be the most efficient. It was significantly faster than the other proposed algorithms and is thus a promising tool for practical applications requiring high-speed computation. The complex number approach, although not as fast, is still a significant improvement over traditional methods, like trigonometric ones, particularly in terms of reducing the complexity and potential errors associated with classical trigonometric computations.
Our results have shown that the use of GA can significantly improve the computational performance and accuracy of solutions to the Hansen problem. This improvement is particularly valuable in geodesy and surveying, where accuracy and efficiency are paramount. In addition, our study adds to the body of knowledge by providing a comprehensive comparison of computational benchmarks and introducing new methods that can be further explored and refined by future research.
The performance of the CGA algorithm highlights the computational trade-offs that are associated, at present, with applying this powerful version of GA to 2D problems. Although this algorithm is the slowest, it transforms Collins’ [20] insightful (and intricate) geometrical solution into a readily computable algorithm, thus suggesting that CGA may be a viable approach for extending the Hansen problem to 3D. In addition, the CGA approach offers the educational benefit of allowing the learner to follow geometric intuition at all times. However, it is important to acknowledge the potential limitations of our approach. The computational complexity associated with CGA in 2D problems may be a drawback, despite its potential for extending the Hansen problem to 3D. Furthermore, while our VGA and CGA methods offer computational and educational benefits, they may require a steeper learning curve for practitioners compared to traditional trigonometric methods
The benchmarking study that was conducted as part of this work is the first of its kind for the Hansen problem. Hence, that study not only contributes a novel set of tools but also establishes a methodological framework for future research. The algorithms developed here not only solve an existing problem more efficiently but also enhance our understanding of the potential of GA in broader applications. Future research could explore the applicability of our GA-based approach to related problems in geodesy and surveying, such as multiple point resection or the PnP problem. Additionally, investigating the potential of CGA for transforming other historical graphical methods in various fields into computable algorithms, given the ongoing advancements in geometric computing, may yield promising results. Continued benchmarking and performance analysis of our proposed algorithms in diverse real-world scenarios is necessary to further validate their efficiency and robustness.

Author Contributions

Conceptualization, F.G.M. and J.S.; Software, J.V. and A.H.E.; Validation, A.H.E.; Formal analysis, J.V. and I.Z.; Writing—original draft, F.G.M. and J.S.; Writing—review & editing, F.M. and J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding authors.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Ventura, J.; Martinez, F.; Manzano-Agugliaro, F.; Návrat, A.; Hrdina, J.; Eid, A.H.; Montoya, F.G. A novel geometric method based on conformal geometric algebra applied to the resection problem in two and three dimensions. J. Geod. 2024, 98, 47. [Google Scholar] [CrossRef]
  2. Porta, J.M.; Thomas, F. Concise proof of Tienstra’s formula. J. Surv. Eng. 2009, 135, 170–172. [Google Scholar] [CrossRef]
  3. Ligas, M. Simple solution to the three point resection problem. J. Surv. Eng. 2013, 139, 120–125. [Google Scholar] [CrossRef]
  4. Font-Llagunes, J.M.; Batlle, J.A. New method that solves the three-point resection problem using straight lines intersection. J. Surv. Eng. 2009, 135, 39–45. [Google Scholar] [CrossRef]
  5. Hansen, P.A. Eine Aufgabe aus der practischen Geodasie und deren Auflösung. Von Herrn Professor Hansen. Astron. Nachrichten 1841, 18, 165. (In German) [Google Scholar] [CrossRef]
  6. Gerling, C.L. Auszug aus einem Schreiben des Herrn Professors Gerling an den Herausgeber. Astron. Nachrichten 1824, 3, 231. (In German) [Google Scholar] [CrossRef]
  7. McCaw, G.T. Resection in survey. Geogr. J. 1918, 52, 105–123. [Google Scholar] [CrossRef]
  8. Rogers, J. A Study of the Resection Problem in Surveying. Ph.D. Thesis, Oregon State University, Corvallis, OR, USA, 1964. [Google Scholar]
  9. Martín-Pastor, A. Resolución del Problema de “Hansen” Por un Procedimiento Gráfico. In Proceedings of the Congreso Internacional de Ingeniería Gráfica—XV ADM, Sevilla, Spain, 1–3 July 2005. (In Spanish). [Google Scholar]
  10. Dorst, L.; Doran, C.; Lasenby, J. Applications of Geometric Algebra in Computer Science and Engineering; Birkhäuser-Springer: Boston, MA, USA, 2012. [Google Scholar]
  11. Hildenbrand, D. Geometric computing in computer graphics using conformal geometric algebra. Comput. Graph. 2005, 29, 795–803. [Google Scholar] [CrossRef]
  12. Willerding, E. Die Pothenotsche Aufgabe und ihre Erweiterungen; Eugen Willerding: Bonn, Germany, 2020. [Google Scholar]
  13. Barabanova, L. Application of Complex Numbers to geodesy on the Example of Hansen’s problem. News of Higher Educational Institutions. Geod. Aer. Photogr. 2013, 24–29. (In Russian) [Google Scholar]
  14. Song, Z.; Zhao, C.; Pu, H.; Li, X. Configuration analysis of two-dimensional resection networks. J. Surv. Eng. 2016, 142. [Google Scholar] [CrossRef]
  15. Ganić, A.; Milutinović, A.; Gojković, Z.; Mikanović, R.; Vidanović, N. Standard deviation of the geodetic quadrilateral point coordinates determined by the application of Hansen’s method. Podzemni Radovi 2015, 26, 55–64. [Google Scholar] [CrossRef]
  16. Carluzzi, R.; Riggio, A. Topografia di Base: Fondamentali della Geomatica per la Misura e Rappresentazione del Territorio; Quaderni per la progettazione, EPC: Roma, Italy, 2015. (In Italian) [Google Scholar]
  17. Eid, A.H.; Montoya, F.G. A geometric procedure for computing differential characteristics of multi-phase electrical signals using geometric algebra. In Proceedings of the International Conference on Advanced Computational Applications of Geometric Algebra, Denver, CO, USA, 2–5 October 2022; Springer: Berlin, Germany, 2022; pp. 125–137. [Google Scholar]
  18. Eid, A.H.; Montoya, F.G. A systematic and comprehensive geometric framework for multiphase power systems analysis and computing in time domain. IEEE Access 2022, 10, 132725–132741. [Google Scholar] [CrossRef]
  19. Hildenbrand, D. Introduction to Geometric Algebra Computing; Chapman and Hall/CRC: New York, NY, USA, 2020. [Google Scholar]
  20. Collins, J. A Solution, given by Mr. John Collins of a chorographical probleme, proposed by Richard Townley Esq. who doubtless hath solved the same otherwise. Philos. Trans. 1671, 6, 2093–2096. [Google Scholar] [CrossRef]
Figure 1. Adapted from Carlucci and Riggio [16]. Points A and B and the angles α 1 , α 2 , β 1 , and β 2 are known; Points P 1 and P 2 are unknown.
Figure 1. Adapted from Carlucci and Riggio [16]. Points A and B and the angles α 1 , α 2 , β 1 , and β 2 are known; Points P 1 and P 2 are unknown.
Mathematics 12 01999 g001
Figure 2. Adapted from Barabanova [13]. The points A and B are known (represented by complex numbers a and b , respectively); P 1 and P 2 are unknown (represented by complex numbers p 1 and p 2 , respectively). Note that the angles β 0 and β 1 are negative.
Figure 2. Adapted from Barabanova [13]. The points A and B are known (represented by complex numbers a and b , respectively); P 1 and P 2 are unknown (represented by complex numbers p 1 and p 2 , respectively). Note that the angles β 0 and β 1 are negative.
Mathematics 12 01999 g002
Figure 3. The initial conceptualization for the solution of the Hansen problem based upon the “fictitious base” idea and similarity of triangles.
Figure 3. The initial conceptualization for the solution of the Hansen problem based upon the “fictitious base” idea and similarity of triangles.
Mathematics 12 01999 g003
Figure 4. Naive formulation of Hansen problem in terms of vectors. The naming of vectors has been chosen to reflect the starting point with the subindex depending on the final unknown point P i .
Figure 4. Naive formulation of Hansen problem in terms of vectors. The naming of vectors has been chosen to reflect the starting point with the subindex depending on the final unknown point P i .
Mathematics 12 01999 g004
Figure 5. Refined and completed vector formulation for the Hansen problem using VGA. The solution is found by rotating and scaling the unit vector u ^ . Note that the angles are labeled in a different and more appropriate way than in the traditional solution.
Figure 5. Refined and completed vector formulation for the Hansen problem using VGA. The solution is found by rotating and scaling the unit vector u ^ . Note that the angles are labeled in a different and more appropriate way than in the traditional solution.
Mathematics 12 01999 g005
Figure 6. Setup for the CGA solution. Positions of points P 1 and P 2 are not the same as in Figure 5, but the labeling of angles is the same, and the configurations are topologically equivalent ([13]).
Figure 6. Setup for the CGA solution. Positions of points P 1 and P 2 are not the same as in Figure 5, but the labeling of angles is the same, and the configurations are topologically equivalent ([13]).
Mathematics 12 01999 g006
Figure 7. Geometrical elements used in solving the Hansen problem via CGA. The CGA algorithm is inspired on the Collins method [20], who applied the method for solving the Snellius–Pothenot problem twice.
Figure 7. Geometrical elements used in solving the Hansen problem via CGA. The CGA algorithm is inspired on the Collins method [20], who applied the method for solving the Snellius–Pothenot problem twice.
Mathematics 12 01999 g007
Figure 8. Spatial variation of the standard deviation of the position error Δ d for four locations of Point P 1 . In all configurations, A = ( 1 , 0 ) and B = ( 1 , 0 ) . The algorithm that was used in each row’s simulations is noted at the left.
Figure 8. Spatial variation of the standard deviation of the position error Δ d for four locations of Point P 1 . In all configurations, A = ( 1 , 0 ) and B = ( 1 , 0 ) . The algorithm that was used in each row’s simulations is noted at the left.
Mathematics 12 01999 g008
Figure 9. Spatial distribution of the alignment metric D for four locations of Point P 1 . In all four configurations, A = ( 1 , 0 ) and B = ( 1 , 0 ) .
Figure 9. Spatial distribution of the alignment metric D for four locations of Point P 1 . In all four configurations, A = ( 1 , 0 ) and B = ( 1 , 0 ) .
Mathematics 12 01999 g009
Figure 10. Relationship between the accuracy error and the standard deviation of the measurement noise for each method.
Figure 10. Relationship between the accuracy error and the standard deviation of the measurement noise for each method.
Mathematics 12 01999 g010
Table 1. Nomenclature used for the CGA representations.
Table 1. Nomenclature used for the CGA representations.
SymbolDescriptionContext
A, BPoints A and BGeometric Object
P 1 , P 2 Points P 1 and P 2 Geometric Object
, A 1 , B 1 LinesGeometric Object
C, C 1 , C 2 CirclesGeometric Object
a , b Position vectors of points A and BEuclidean
p 1 , p 2 Position vectors of points P 1 and P 2 Euclidean
σ 1 , σ 2 Basis vectors for 2D spaceGA
σ + , σ Basis vectors for the hyperbolic planeCGA
σ 0 , σ Null vectors in CGACGA
I Pseudoscalar of CGACGA
σ 12 Bivector representing plane in 2D spaceGA
a , b Null vector representations of points A and BCGA
p 1 , p 2 Null vector representations of points P 1 and P 2 CGA
R Rotor for geometric rotationCGA
L Line in CGACGA
C Circle C in CGACGA
L = l Dual representation of line CGA
C = c Dual representation of circle CCGA
Table 2. Performance comparison of the four proposed algorithms for solving the Hansen problem.
Table 2. Performance comparison of the four proposed algorithms for solving the Hansen problem.
Implemented MethodMean Execution Time (ms)Rank #
VGA63.641
Complex76.112
Trigonometric133.903
CGA326.884
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.

Share and Cite

MDPI and ACS Style

Ventura, J.; Martinez, F.; Zaplana, I.; Eid, A.H.; Montoya, F.G.; Smith, J. Revisiting the Hansen Problem: A Geometric Algebra Approach. Mathematics 2024, 12, 1999. https://doi.org/10.3390/math12131999

AMA Style

Ventura J, Martinez F, Zaplana I, Eid AH, Montoya FG, Smith J. Revisiting the Hansen Problem: A Geometric Algebra Approach. Mathematics. 2024; 12(13):1999. https://doi.org/10.3390/math12131999

Chicago/Turabian Style

Ventura, Jorge, Fernando Martinez, Isiah Zaplana, Ahmad Hosny Eid, Francisco G. Montoya, and James Smith. 2024. "Revisiting the Hansen Problem: A Geometric Algebra Approach" Mathematics 12, no. 13: 1999. https://doi.org/10.3390/math12131999

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop