Computing sphere and spherical shell intersections with conformal geometric algebra
Data files
Jun 11, 2026 version files 1.85 MB
-
ExampleR3.nb
141.53 KB
-
ExampleR6.nb
1.70 MB
-
FunctionR3Gaalop
320 B
-
FunctionR6Gaalop
505 B
-
README.md
3.89 KB
Abstract
Many practical tasks reduce to deciding whether several spherical constraints have a common solution and, if so, describing that set. In applications such as molecular distance geometry, robotics, GPS/sensor localization, crystallography, and data analysis, these constraints are naturally interval-valued: instead of exact radii, one works with spherical shells that encode uncertainty or tolerance. This paper addresses that setting and introduces a dimension-independent algorithm, framed in conformal geometric algebra (CGA), that treats shells as first-class objects. The method provides both a decision test and an explicit characterization of the feasible region.
At a high level, the algorithm proceeds in two stages. First, it tightens each shell’s radius interval. Second, it reconciles shells pairwise to ensure mutual compatibility, updating bounds until either emptiness is certified or a consistent family of intervals is obtained. The output is a compact, interpretable description of the solution set that integrates directly with standard CGA pipelines. This formulation is especially useful when multiple shells must be enforced simultaneously. Examples in R3 and R6 illustrate how the approach captures interval-based constraints without resorting to dimension-specific constructions or ad hoc geometric casework.
Dataset DOI: 10.5061/dryad.rxwdbrvrh
Description of the data and file structure
This repository contains the files used to reproduce the computational examples presented in the associated paper that describes sphere and spherical shell intersections in Rn using a Geometric Algebra (GA) framework. Two examples are included:
- Example in R3: intersection involving two spheres and three spherical shells.
- Example in R6: intersection involving three spheres and three spherical shells.
Files and variables
The repository contains four files.
File: ExampleR3.nb
Description: Wolfram Mathematica notebook implementing the R3 example.
File: FunctionR3Gaalop
Description: GAALOP source file used during the development of the functions required for the R3 example
File: ExampleR6.nb
Description: Wolfram Mathematica notebook implementing the R6 example.
File: FunctionR6Gaalop
Description: GAALOP source file used during the development of the functions required for the R6 example.
The GAALOP files are included to document the function-generation stage of the workflow. They are not required to execute the examples, since the Mathematica notebooks already contain the functions necessary to reproduce the results reported in the paper.
Code/software
The examples can be executed using Wolfram Mathematica (recommended) or Wolfram Cloud. A free Wolfram Cloud account is generally sufficient to open and run the notebooks, although computational limitations may depend on the user’s account type.
The functions used in the notebooks were originally developed using the open-source software GAALOP (Geometric Algebra Algorithms Optimizer), available at https://gaalop.de.
Additional information on the GAALOP files
The files FunctionR3Gaalop and FunctionR6Gaalop can be opened either with a text editor or within the GAALOP environment.
The file FunctionR6Gaalop was developed using a custom algebra definition within GAALOP. This custom algebra was required during the code-generation stage but is not necessary for executing the Mathematica notebooks provided in this repository. Users interested in regenerating the Mathematica functions from the GAALOP source may need to define the corresponding algebra within GAALOP.
Workflow and analytical context
The workflow follows the algorithm described in the associated paper.
For each example, the user specifies:
- the centers of the spheres as vectors in R3 or R6,
- the centers of the spherical shells as vectors in R3 or R6,
- the radii of the spheres,
- and the initial radius intervals associated with each spherical shell.
The shell intervals are defined by assigning values to their lower and upper bounds.
The notebooks first evaluate the intersections between the spheres and each spherical shell individually in order to verify the feasibility of the initial shell intervals. Subsequently, the spherical shells are combined pairwise and additional intersection constraints are evaluated. Whenever possible, these constraints reduce the admissible radius intervals for the shells.
The final output of each notebook consists of the refined radius intervals obtained for all spherical shells after the intersection analysis.
The deposited examples correspond exactly to the numerical experiments presented in the paper and illustrate the proposed Geometric Algebra approach for computing and refining feasible spherical shell intersections in both low-dimensional and higher-dimensional settings.
Access information
Other publicly accessible locations of the data:
