부산대학교 그래픽스 및 기하 처리 연구실

PNU Graphics & Geometric Processing Lab
School of Computer Science and Engineering, Pusan National University
* * *
Research / 01

Toroidal patches & spatial queries

Local differential geometry becomes an analytic primitive for intersection, approximation and distance queries.

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.

Surface and osculating torus at a common seed point
The fitted torus and the surface share local second-order geometry at the seed. A finite patch approximates the surrounding surface; contact at one point alone does not bound the error throughout a region.

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

A UV rectangle maps to a toroidal patch with four boundary arcs
Parameter-space bounds select a finite patch. Holding either parameter fixed traces a circular arc on the torus; the four sides of the rectangle become its boundary arcs.

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.

  1. Fit at a seedEstimate the local curvature information and construct a corresponding torus.
  2. Test neighboring facesInclude neighboring faces only when they satisfy the approximation tolerance.
  3. 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

AABB hierarchy above successively refined toroidal patches
The mesh hierarchy combines upper AABBs with lower toroidal patches at tolerances 10⁻³, 10⁻⁴ and 10⁻⁵. The tree topology and example surface are explanatory schematics.

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

QueryRole of the toroidal representation
Surface–surface intersectionSupports local normal, binormal, projection and patch-intersection operations after hierarchy pruning.
Self-intersectionChanges toward degenerate patch intersections help locate miter regions; tiny spatial balls and parameter quadrangles bound the endpoints.
Point–patch distanceTopological 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.

Scope of the geometric modelNumerical robustness, approximation error and exact formulas describe different parts of the pipeline. Analytic work on a fitted primitive should not be read as an exact representation of an arbitrary input surface.
* * *

Related papers

* * *