docs: fix cherry-pick duplicate 9d/9e sections — merge into unified structure
Auto-merge from cherry-pick concatenated both branch versions of Phase 9d
and 9e. This commit resolves the duplication:
- 9d now has 4 sub-items (9d.1–9d.4) combining both branches:
9d.1 ConesUtility (detailed: BFS, auto-placement, quantization)
+ Troyanov/Springborn refs (from literature analysis)
9d.2 Non-Euclidean cone extensions (RESEARCH)
+ Bobenko-Lutz 2025 + Crane 2018 (from literature analysis)
9d.3 StereographicUnwrapper + SphereUtility
9d.4 MobiusCenteringFunctional
- 9e keeps the detailed reviewer/meeting-prep version
+ adds mathematical references (Bobenko-Hoffmann-Springborn 2006)
- 9f (Polygon Laplacian, Alexa 2011/2020) retained as standalone section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -129,16 +129,22 @@ mesh type.
|
||||
+ holonomy infrastructure.
|
||||
Effort: ~2 weeks for fundamental polygon, +2 weeks for surgery
|
||||
layer, +1 week integration.
|
||||
```
|
||||
|
||||
9d — Cone singularities + sphere atlas (Java port + research extension)
|
||||
────────────────────────────────────────────────────────────────────────
|
||||
9d — Cone metrics + sphere utilities (Java port + research extension)
|
||||
────────────────────────────────────────────────────────────────────
|
||||
|
||||
9d.1 ConesUtility (Java port — Euclidean only)
|
||||
→ cones_utility.hpp
|
||||
Java source: ConesUtility.java (~200 lines)
|
||||
```
|
||||
9d.1 ConesUtility (Java port: unwrapper/ConesUtility.java)
|
||||
→ cone_singularities.hpp
|
||||
Fills the "⚠️ data structure only" gap in java-parity.md:
|
||||
- Detect interior cone vertices (angle deficit ≠ 0)
|
||||
- BFS path from cone to mesh boundary → cut edge set
|
||||
- Auto-placement: conjugate gradient on Θ-gradient magnitude
|
||||
- Quantization: snap cone angles to π/2, π/3, π/6 for
|
||||
quad / triangle / hexagonal atlas targets
|
||||
Java reference: unwrapper/ConesUtility.java
|
||||
Mathematical reference: Troyanov 1991 + Springborn 2020 §3
|
||||
Port scope: prescribed cone angles Θᵥ ≠ 2π in Euclidean mode.
|
||||
Status: 🔲 planned
|
||||
|
||||
9d.2 Non-Euclidean cone extensions (RESEARCH, not in Java)
|
||||
→ extend ConesUtility to HyperIdeal + Spherical modes
|
||||
@@ -153,68 +159,13 @@ mesh type.
|
||||
automatic cone placement; directly applicable to 9d.2 algorithm.
|
||||
Status: 🔲 planned
|
||||
|
||||
9d.3 StereographicUnwrapper (Java port)
|
||||
→ stereo_unwrapper.hpp
|
||||
Java source: StereographicUnwrapper.java (266 lines)
|
||||
Converts spherical DCE output (Point_3 on S²) to a 2-D atlas
|
||||
via stereographic projection + Möbius centring.
|
||||
Closes the visualisation gap from discrete_conformal_map_spherical().
|
||||
Effort: small (~3 days).
|
||||
Status: 🔲 planned
|
||||
|
||||
9e — CirclePatternLayout (Java port)
|
||||
─────────────────────────────────────
|
||||
|
||||
9e CirclePatternLayout + CirclePatternUtility (Java port)
|
||||
→ circle_pattern_layout.hpp
|
||||
Java sources: CirclePatternLayout.java + CirclePatternUtility.java
|
||||
+ CPEuclideanRotation.java
|
||||
Mathematical reference: Bobenko-Springborn 2004 variational principle
|
||||
+ Bobenko-Hoffmann-Springborn 2006 "Minimal
|
||||
surfaces from circle patterns" (Discrete &
|
||||
Comput. Geom. 35, 2006).
|
||||
Status: 🔲 planned
|
||||
|
||||
9f — Polygon Laplacian (RESEARCH — no Java equivalent)
|
||||
──────────────────────────────────────────────────────
|
||||
|
||||
9f Discrete Laplacian on general polygonal meshes
|
||||
→ polygon_laplacian.hpp
|
||||
Java source: NONE
|
||||
Mathematical reference:
|
||||
Alexa, Wardetzky 2011 "Discrete Laplacians on General Polygonal
|
||||
Meshes" (ACM SIGGRAPH 2011) — virtual-node construction,
|
||||
polygon cotangent weights extending the Pinkall-Polthier formula.
|
||||
Alexa 2020 "Discrete Laplacians on General Polygonal Meshes"
|
||||
(ACM TOG 39, 2020) — extended journal treatment, error bounds.
|
||||
Enables: DCE energy evaluation on quad-dominant / Voronoi /
|
||||
polygon meshes without forced triangulation.
|
||||
Replaces euclidean_hessian.hpp for non-triangular inputs.
|
||||
Status: 🔲 planned (pure research, no Java source)
|
||||
Effort: medium (~2 weeks core + tests; +1 week Newton integration).
|
||||
```
|
||||
|
||||
9d — Cone metrics + sphere utilities (Java port — 2026 library scan)
|
||||
────────────────────────────────────────────────────────────────────
|
||||
|
||||
```
|
||||
9d.1 ConesUtility (Java port: unwrapper/ConesUtility.java)
|
||||
→ cone_singularities.hpp
|
||||
Fills the "⚠️ data structure only" gap in java-parity.md:
|
||||
- Detect interior cone vertices (angle deficit ≠ 0)
|
||||
- BFS path from cone to mesh boundary → cut edge set
|
||||
- Auto-placement: conjugate gradient on Θ-gradient magnitude
|
||||
- Quantization: snap cone angles to π/2, π/3, π/6 for
|
||||
quad / triangle / hexagonal atlas targets
|
||||
Java reference: unwrapper/ConesUtility.java
|
||||
|
||||
9d.2 StereographicUnwrapper + SphereUtility (Java port)
|
||||
9d.3 StereographicUnwrapper + SphereUtility (Java port)
|
||||
→ stereographic_layout.hpp
|
||||
Stereographic projection S²→ℂ∪{∞} + Möbius centering for
|
||||
genus-0 surfaces. Converts spherical DCE output to a flat 2-D atlas.
|
||||
Java reference: unwrapper/StereographicUnwrapper.java (266 lines)
|
||||
|
||||
9d.3 MobiusCenteringFunctional (Java port, optional upgrade)
|
||||
9d.4 MobiusCenteringFunctional (Java port, optional upgrade)
|
||||
→ integrate into layout.hpp normalise_hyperbolic()
|
||||
Variational Möbius centering via Lorentz geometry:
|
||||
E = Σ log(-⟨x,p⟩/√(-⟨x,x⟩))
|
||||
@@ -235,6 +186,30 @@ mesh type.
|
||||
- CPEuclideanRotation: rotation-invariant CP functional variant
|
||||
Java references: unwrapper/circlepattern/CirclePattern{Layout,Utility}.java
|
||||
unwrapper/circlepattern/CPEuclideanRotation.java
|
||||
Mathematical reference: Bobenko-Springborn 2004 variational principle
|
||||
+ Bobenko-Hoffmann-Springborn 2006 "Minimal
|
||||
surfaces from circle patterns" (Discrete &
|
||||
Comput. Geom. 35, 2006).
|
||||
```
|
||||
|
||||
9f — Polygon Laplacian (RESEARCH — no Java equivalent)
|
||||
──────────────────────────────────────────────────────
|
||||
|
||||
```
|
||||
9f Discrete Laplacian on general polygonal meshes
|
||||
→ polygon_laplacian.hpp
|
||||
Java source: NONE
|
||||
Mathematical reference:
|
||||
Alexa, Wardetzky 2011 "Discrete Laplacians on General Polygonal
|
||||
Meshes" (ACM SIGGRAPH 2011) — virtual-node construction,
|
||||
polygon cotangent weights extending the Pinkall-Polthier formula.
|
||||
Alexa 2020 "Discrete Laplacians on General Polygonal Meshes"
|
||||
(ACM TOG 39, 2020) — extended journal treatment, error bounds.
|
||||
Enables: DCE energy evaluation on quad-dominant / Voronoi /
|
||||
polygon meshes without forced triangulation.
|
||||
Replaces euclidean_hessian.hpp for non-triangular inputs.
|
||||
Status: 🔲 planned (pure research, no Java source)
|
||||
Effort: medium (~2 weeks core + tests; +1 week Newton integration).
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user