
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 PAIR | DIMENSION | MODEL | ADDITION | SUBTRACTION | MULTIPLICATION | DIVISION | ROOT | SINE/ COSINE | IF/ELSE |
|---|---|---|---|---|---|---|---|---|---|
| Ellipse–Ellipse | 2D | Caravantes et al. (28) | 32 | 36 | 162 | 2 | 0 | 4 | 3 |
| Ellipsoid–Ellipsoid | 3D | Caravantes et al. (28) | 359 | 80 | 1313 | 3 | 0 | 12 | 1 |
| Cylinder–Cylinder | 3D | Chittawadigi et al. (29) | 82 | 293 | 324 | 66 | 32 | 0 | 188 |
| Ellipsoid–Elliptic Paraboloid | 3D | Brozos et al. (30) | 338 | 68 | 1280 | 3 | 0 | 12 | 1 |
| Hyperboloid–Plane | 3D | Bektas et al. (31) | 3 | 8 | 7 | 1 | 0 | 0 | 5 |
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 PAIR | DIMENSION | MODEL | ADDITION | MULTIPLICATION | DIVISION | ROOT | SINE/ COSINE |
|---|---|---|---|---|---|---|---|
| Point–Ellipse | 2D | Chou (32) | 55 | 180 | 18 | 9 | 0 |
| 2D | Gordejuela et al. | 94 | 420 | 8 | 4 | 0 | |
| 2D | Kim (33) | 68 | 103 | 11 | 7 | 0 | |
| 2D | Chen et al. (34) | 56 | 83 | 11 | 3 | 7 | |
| 2D | Schneider et al. (2) | 28 | 52 | 8 | 5 | 0 | |
| Ellipse–Ellipse | 2D | Kim (33) | 81 + 112n | 65 + 75n | 8 + 4n | 10 + 9n | 4 + 4n |
| Ellipse–Ellipse (Distance of Closest Approach) | 2D | Zheng et al. (35) | 82 | 153 | 38 | 20 | 0 |
| Superellipse–Straight line | 2D | Lopes et al. (8) | 22 | 32 | 12 | 6 | 8 |
| Convex Geometry–Straight line | 2D | Römer et al. (36) | 40 | 36 | 10 | 8 | 12 |
| Convex Geometry–Circle | 2D | Römer et al. (36) | 52 | 42 | 10 | 12 | 12 |
| Point–Ellipsoid | 3D | Schneider et al. (2) | 901 | 6 | 455 | 455 | 0 |
| Ellipsoid–Ellipsoid | 3D | Kim (33) | 85 + 910n | 65 + 15n | 14 + 465n | 10 + 460n | 0 |
| Ellipsoid–Ellipsoid (Distance of Closest Approach) | 3D | Zheng et al. (37) | 70 + 142n | 123 + 190n | 30 + 72n | 16 + 28n | 8n |
| Superellipsoid–Plane | 3D | Lopes et al. (8) | 28 | 38 | 24 | 12 | 8 |
| Convex Geometry–Plane | 3D | Römer et al. (38) | 34 | 42 | 10 | 10 | 12 |

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.

