Skip to main content
Have a personal or library account? Click to login
non-gon: A Non-Polygonal Collision Detection Library for Real-Time Queries Between Smooth Convex Shapes Cover

non-gon: A Non-Polygonal Collision Detection Library for Real-Time Queries Between Smooth Convex Shapes

Open Access
|Sep 2026

Figures & Tables

Figure 1

All 2D (top) and 3D (bottom) shapes available in the non-gon library: A) 2D Point, B) Line Segment, C) Convex Line, D) Circle, E) Convex Circle, F) Ellipse, G) Superellipse, H) 3D Point, I) Plane, J) Cylinder, K) Ellipsoid, L) Superellipsoid, M) Elliptic Paraboloid, N) Hyperboloid.

Figure 2

Shortest Distance (SD) and Proximity Query (PQ) 2D and 3D contact pairs available in the non-gon library: A) Convex Line–Line Segment (SD), B) Superellipse–Line Segment (SD), C) Point–Ellipse (SD), D) Ellipse–Ellipse (SD), E) Convex Circle–Circle (SD), F) Point–Ellipsoid (SD), G) Ellipsoid–Ellipsoid (SD), H) Hyperboloid–Plane (SD), I) Superellipsoid–Plane (SD), J) Ellipse–Ellipse (PQ), K) Cylinder–Cylinder (PQ), L) Ellipsoid–Ellipsoid (PQ), M) Ellipsoid–Elliptic Paraboloid (PQ), N) Hyperboloid–Plane (PQ).

Table 1

FLOP count of the PQs implemented in the non-gon library, namely, ellipse - ellipse, ellipsoid - ellipsoid, cylinder - cylinder, ellipsoid - elliptic paraboloid, and hyperboloid - plane.

GEOMETRY PAIRDIMENSIONMODELADDITIONSUBTRACTIONMULTIPLICATIONDIVISIONROOTSINE/ COSINEIF/ELSE
Ellipse–Ellipse2DCaravantes et al. (28)32361622043
Ellipsoid–Ellipsoid3DCaravantes et al. (28)35980131330121
Cylinder–Cylinder3DChittawadigi et al. (29)8229332466320188
Ellipsoid–Elliptic Paraboloid3DBrozos et al. (30)33868128030121
Hyperboloid–Plane3DBektas et al. (31)3871005
Table 2

FLOP count of the SDs implemented in the non-gon library, namely point–ellipse, ellipse–ellipse, superellipse–straight line, convex geometry–straight line, convex geometry–circle, point–ellipsoid, ellipsoid–ellipsoid, ellipsoid–ellipsoid, superellipsoid–plane, and convex geometry.

GEOMETRY PAIRDIMENSIONMODELADDITIONMULTIPLICATIONDIVISIONROOTSINE/ COSINE
Point–Ellipse2DChou (32)551801890
2DGordejuela et al.94420840
2DKim (33)681031170
2DChen et al. (34)56831137
2DSchneider et al. (2)2852850
Ellipse–Ellipse2DKim (33)81 + 112n65 + 75n8 + 4n10 + 9n4 + 4n
Ellipse–Ellipse (Distance of Closest Approach)2DZheng et al. (35)8215338200
Superellipse–Straight line2DLopes et al. (8)22321268
Convex Geometry–Straight line2DRömer et al. (36)403610812
Convex Geometry–Circle2DRömer et al. (36)5242101212
Point–Ellipsoid3DSchneider et al. (2)90164554550
Ellipsoid–Ellipsoid3DKim (33)85 + 910n65 + 15n14 + 465n10 + 460n0
Ellipsoid–Ellipsoid (Distance of Closest Approach)3DZheng et al. (37)70 + 142n123 + 190n30 + 72n16 + 28n8n
Superellipsoid–Plane3DLopes et al. (8)283824128
Convex Geometry–Plane3DRömer et al. (38)3442101012
Figure 3

Architecture of the non-gon library showing class hierarchies, private, and public methods.

Figure 4

Surface rendering of two ellipsoids instantiated in the example code, with a line segment indicating the shortest distance between them.

Minimal demonstration of how to create and render two ellipsoids
DOI: https://doi.org/10.5334/jors.585 | Journal eISSN: 2049-9647
Language: English
Page range: 61 - 61
Submitted on: Jun 6, 2025
Accepted on: Jul 31, 2026
Published on: Sep 4, 2026
Published by: Ubiquity Press
In partnership with: Paradigm Publishing Services

© 2026 Ivo Roupa, Rodrigo Damasceno, Aasam Karim, Lourenço Mourão, João Afonso, Pedro Campos, Daniel Simões Lopes, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.