Interoperability

Interoperability

Interoperability & Export

Category: Generative Radial Geometry (GRG)

GRG exports reproducible geometry and metadata for CAD/BIM, DCC, and scripting pipelines. Angles use turns with dyadic step Δu=2^{-n} (full turn); a quarter has M=2^{\,n-2} samples.

$$ n\in\mathbb{N}_{\ge 0},\qquad \Delta u=2^{-n}\ \text{(full turn)},\qquad M=2^{\,n-2}\ \text{(samples per quarter)}. $$

GRG Export Pack (recommended)

  • config.json — seed, n, rule, adaptive thresholds, weights, commit, timestamps.
  • nodes_quarter.obj — quarter polyline (units: meters; Z=0).
  • nodes_full.obj — reconstructed full polyline via ×4 symmetry.
  • strips.csv — per-step area strips (Δu, chord, sagitta).
  • metrics.json — P(n), A(n), ρ(Δu) stats, runtime, memory.
  • LICENSE — permissive license (MIT/Apache-2.0).
  • README.md — how to import into common tools.

Formats & Usage

Recommended export formats with contents and usage notes
FormatContentNotes
.OBJPolylinesLightweight; ideal for downstream thickening or meshing
.SVG2D vectorsGreat for print/CNC; preserves quarters and layers
.glTFRuntime-friendlyEmbed as lines/triangles for engines and viewers
.STEPCAD solids/surfacesProduce via downstream thickening/loft from polylines
.CSV/.JSONMetrics & paramsReproducibility and scripts; easy diffs

Units & Coordinate Frame

  • Units: meters by default; set units in config.json.
  • Frame: origin at seed; X to the right, Y up; quarter in first quadrant by convention, Z=0.
  • Winding: counter-clockwise sampling by increasing u.

Naming Conventions

  • grg_{project}_{yyyy-mm-dd}_{commit}/ root folder.
  • quarter_M{M}_n{n}.obj and full_M{M}_n{n}.obj for geometry.
  • metrics_P_A_{n}.json, strips_{n}.csv for analytics.

Export Pseudocode

GRG_Export(seed, n, rule, weights, adaptive):
  Δu ← 2^{-n}; M ← 2^{n-2}
  nodes_q ← BuildQuarter(seed, Δu, rule, weights, adaptive)
  nodes_f ← Reflect4(nodes_q)
  P, A  ← Aggregate(nodes_q)  # chords & strips
  write_obj("nodes_quarter.obj", nodes_q)
  write_obj("nodes_full.obj", nodes_f)
  write_csv("strips.csv", per_step_values)
  write_json("metrics.json", {P, A, rho_stats, runtime, mem})
  write_json("config.json", {seed, n, rule, weights, adaptive, units:"m"})

Round-tripping

  • To CAD: loft/thicken polylines; convert to NURBS; export STEP.
  • To DCC/Engines: glTF with line primitives or triangulated ribbons.
  • Back to GRG: keep config.json as the single source of truth.

Checks Before Shipping

  • Verify P(n), A(n) stabilization across dyadic refinements.
  • Ensure units and frame documented; include LICENSE.
  • Attach README with minimal import steps for target tools.
Parameters

Parameters

Parameters and Notation

This page defines the current circle-kernel conventions. Historical methods may use other conventions; their symbols must be interpreted locally.

Geometric Scale

R is the positive radius. N is the number of complete sectors across one Turn. Binary depth b gives N = 2ᵇ; the nondegenerate chord–tangent kernels require b ≥ 2.

Angular Steps

The complete sector width is 1/N Turn, its half-width is 1/(2N), and the quarter-step parameter is 1/(4N). If M counts samples in a quarter of the full Turn, state explicitly how M relates to N; do not use the same symbol for both counts.

Local Geometry

a is the chord apothem, h the half-chord, and e the half-tangent side. The geometric ratios are c = a/R, s = h/R, and q = h/a.

Implementation Parameters

Specify arithmetic format, rounding, construction procedure, stopping rule, and any stored tables. Additional parameters for adaptive or noncircular methods require their own definitions.

Full definitions and formulas.