01 / Fit the local geometry
A triangle gives a simple piecewise-planar description of a surface. An osculating torus captures a different kind of information: the position, normal, principal directions and principal curvatures at a seed point. That makes it useful for operations that depend on how the surface bends.
A toroidal patch is a bounded part of this analytic surface. For a mesh, the local differential geometry is estimated from nearby geometry; for a smooth freeform surface, it can be obtained from derivatives.
The two principal curvatures describe how quickly the surface normal changes along two perpendicular tangent directions. Matching them gives the torus second-order contact with the surface at the seed. This is more local information than position and a tangent plane alone provide: a plane touches the surface, but does not reproduce its bending at that point.
The same toroidal family includes regions of different Gaussian-curvature signs. This is useful when a surface changes from dome-like to saddle-like behavior. The fitted patch still has to be kept local, because curvature away from the seed can change in ways that the single analytic primitive cannot follow.
02 / Give the approximation a finite domain
The parameter bounds matter to a geometric query. The nearest point on the complete torus can lie outside the allowed patch, so a distance method must also account for boundary arcs and corners.
- Fit at a seedEstimate the local curvature information and construct a corresponding torus.
- Test neighboring facesInclude neighboring faces only when they satisfy the approximation tolerance.
- Update the domainExpand the parameter range to cover accepted geometry, keeping the finite patch explicit.
The fitting tolerance controls which surrounding geometry the patch is allowed to represent. A successful fit at the seed does not justify accepting every nearby face. The construction examines adjacent faces and updates the domain as acceptable geometry is added. Where one patch cannot explain the local variation within the tolerance, further patches are needed.
Patch size therefore depends on how well the primitive follows the region, not simply on whether the region looks flat. A curved region that closely resembles a torus can admit a useful patch, while rapid changes in curvature may require a smaller domain. The tolerance belongs to the geometric scale and error convention of the construction; it is not an absolute accuracy label independent of the input.
03 / Separate spatial search from geometric refinement
The AABB hierarchy discards spatially irrelevant regions. Within a candidate region, patch refinement provides progressively tighter approximations. In the mesh construction, a child is fitted using faces and vertices assigned to its parent, rather than restarting over the whole model.
This division is useful beyond intersection. In the hole-filling application, patch positions and normals guide corrections to an initially filled region. A separate camera-path application uses the distribution of patches to emphasize local geometric features.
There are two different reasons to descend the hierarchy. A spatial query descends bounding boxes to find a relevant part of the model. A request for a tighter geometric approximation descends the patch levels inside that part. Keeping these roles separate allows simple boxes to handle broad rejection while the local primitives carry the differential information needed by the operation.
For hole filling, the initially created triangles need not already reproduce the original surface well. The nearby toroidal patches provide estimated positions and normals against which the filled region can be corrected. This uses the representation as a local geometric guide, rather than treating the boundary of the hole as the only available information.
04 / What the representation enables
| Query | Role of the toroidal representation |
|---|---|
| Surface–surface intersection | Supports local normal, binormal, projection and patch-intersection operations after hierarchy pruning. |
| Self-intersection | Changes toward degenerate patch intersections help locate miter regions; tiny spatial balls and parameter quadrangles bound the endpoints. |
| Point–patch distance | Topological classification distinguishes interior, boundary-arc and corner configurations, including self-intersecting torus cases. |
The distance method replaces iterative optimization with a finite analytic classification. This is a query on the toroidal patch; its relationship to a source mesh still depends on how accurately that patch approximates the mesh.
Near-tangential intersection is difficult because a small change in the input or numerical state can produce a large change in the inferred intersection direction. The intersection work uses the toroidal representation to organize local operations in these configurations. The self-intersection work adds a regional description of miter points, where an intersection curve ends and the normal field changes sharply. Representing a small region around such an endpoint makes it possible to keep uncertainty explicit.
For minimum distance, the finite domain is central to the classification. A candidate on the full torus may be disallowed by the patch bounds; an admissible minimum can instead lie on a boundary arc or at a corner. The method resolves the relevant cases through planar arc tests, including additional configurations for self-intersecting tori. Its constant query cost describes this fixed analytic case analysis, not the cost of constructing a hierarchy or fitting all patches of a mesh.
Related papers
- A new spatial data structure for triangular mesh with toroidal patchesKim, Choi & Park · JKSUCIS, 2024
- Surface–Surface-Intersection Computation Using a Bounding Volume Hierarchy with Osculating Toroidal Patches in the Leaf NodesPark, Son, Kim & Elber · Computer-Aided Design, 2020
- Self-intersection computation for freeform surfaces based on a regional representation scheme for miter pointsPark, Hong, Kim & Elber · CAGD, 2021
- Minimum distance computation for toroidal patch via topological classificationKim & Park · CAGD, 2026
- Camera Path Generation for Triangular Mesh Using Toroidal PatchesChoi et al. · Applied Sciences, 2024