Research: generating coarse subdivision cage connectivity (prior art for the cage-connectivity fork, target r2 cage-bar)
Eyes eyes-bt-cage-connectivity, session self-2026-10-11-ag2. Hoppe 1994, Marinov-Kobbelt, Lavoue-Dupont, Ma 2015, Dual Loops, QuadWild. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
6a575d22bc
commit
492f83ab93
1 changed files with 43 additions and 0 deletions
43
docs/research/cage-connectivity-prior-art.md
Normal file
43
docs/research/cage-connectivity-prior-art.md
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# Cage connectivity prior art
|
||||
|
||||
Serves the operator fork: how the connectivity of a coarse Catmull-Clark control cage is generated automatically for brush-tree (invariants cage-is-fitted, cage-bar, creases-declared/closed in `docs/brush-tree-target.md`). Prior-art pass per Eureka SKILL step 2. Facts with evidence pointers; "(inferred)" marks the only non-sourced remarks. Written 2026-10-12 by eyes-bt-cage-connectivity.
|
||||
|
||||
Read depth is stated per row. Full texts read: Hoppe 1994, Marinov & Kobbelt 2004 conference version, Lavoue & Dupont 2009, Ma et al. 2015 (author manuscript), Campen et al. 2012 (preprint), Viertel/Osting/Staten 2019 (grep-level on method and limitations). Abstract or repo README only: QuadWild paper (PDF hosts refused or blocked), Lavoue 2007 CGF, Fitmaps 2011, Ma 2004, Instant Meshes paper, Kloiber 2020 (not found).
|
||||
|
||||
## Headline facts
|
||||
|
||||
1. Every method here that hits a coarse cage obtains connectivity by one of four routes: (a) decimate a dense mesh (QEM or Hoppe edge collapse/swap/split) then optimise positions; (b) cluster/segment the target into regions and link boundary control points (Lavoue); (c) build a coarse quad layout from a cross field (Dual Loops, QuadWild, Viertel); (d) connect feature points (ridges/umbilics) by distance transform (Ma 2015). No source generates connectivity from the fitted limit surface alone; all start from a dense target mesh or point cloud.
|
||||
2. Only route (a) with Hoppe's energy and route (b) with Lavoue declare creases as part of the output. Hoppe and Ma use Loop (triangles); Lavoue uses the Stam-Loop hybrid quad/triangle scheme; Fitmaps and the layout methods yield quads. None of the read papers targets Catmull-Clark creases on a quad-only cage at 200 faces.
|
||||
3. The coarsest figures reported: Lavoue 2009 control meshes of 119 to 187 vertices (200 to 260 faces) for 5K to 15K-vertex scans; Ma 2015 239 to 383 vertices; Hoppe 1994 down to 87 vertices (a swept/NURBS source); Dual Loops 20 to 275 patches (layouts, not cages).
|
||||
4. No read source treats thin wing tips or saddles as a named case. Failure modes recorded below are the ones the authors state.
|
||||
|
||||
## Table
|
||||
|
||||
| Method | Produces | How coarse | Creases | Open implementation, licence | Failure modes (as stated by authors) | Evidence |
|
||||
|---|---|---|---|---|---|---|
|
||||
| Hoppe, DeRose et al. 1994, Piecewise smooth surface reconstruction (SIGGRAPH) | Tagged Loop control mesh (triangles) by 3 phases: surface from points, mesh optimisation, then phase 3 optimising the subdivision control mesh | Table 3: 87 to 656 vertices from 4K to 31K points; Table 2 teapot/knot cases 207 and 363 vertices. Controlled by `crep` penalty on vertex count | Yes, first-class. Energy `E = Edist + crep*m + csharp*e`; edge-tag move toggles an edge in sharp set L; creases, corners, darts classified by sharp-edge count (Sec 3, 4.1). `csharp = crep/5` worked on all examples | Original code not found. Algorithm is public in paper (Sec 4.2.2: random descent over edge collapse, swap, split, tag, with local approximate E). Hoppe 1993 mesh optimisation is the phase-2 ancestor | Local random descent only reaches a local minimum; paper omits the spring energy in phase 3 as unnecessary; times 0.9 to 7.7 hours on 1994 hardware (Table 3); Loop only, not Catmull-Clark; topology fixed (K same type as phase-2 mesh) | https://grail.cs.washington.edu/wp-content/uploads/2015/08/hoppe-1994-pss.pdf Sec 1 phases, 3.1, 4.1, 4.2.2, Tables 2-3 |
|
||||
| Marinov & Kobbelt 2004/2005, Optimization techniques for approximation with subdivision surfaces (SM'04; Graphical Models 67(5)) | Loop control mesh. Initial connectivity = QEM decimation of the dense mesh to a fixed vertex count (Sec 4.1); then L2 fitting with closest-point parameter correction and periodic L-inf phase that inserts vertices where error exceeds tolerance, removes under-determined vertices by half-edge collapse, and flips edges to regularise valence (R(M) metric, Sec 3.1 to 3.3) | Initial 1% to 5% of dense vertex count; finals 4.5K to 18K vertices at 0.03% to 0.05% tolerance (Table 1); coarsest 612 vertices at 0.63% error (Fig 7b) | No. "Full support of piecewise-smooth subdivision surfaces [ZK02] ... pending" (Sec 6) | Authors' implementation not found | Local flipping of the parameter mapping when the initial control mesh is "extremely coarse"; remedy given is more degrees of freedom from the start (Sec 6). Initial mesh must share the dense mesh's topology; valence regularisation is a greedy local minimum | https://www.graphics.rwth-aachen.de/media/papers/otass1.pdf Secs 3, 4.1, 5, 6, Table 1 |
|
||||
| Lavoue & Dupont 2009, Semi-sharp subdivision surface fitting based on feature lines approximation (Computers & Graphics 33); precursor Lavoue, Dupont, Baskurt 2007 CGF 26(1) | Mixed quad/triangle control mesh (Stam-Loop scheme). Pipeline: VSA segmentation + region merging by anisotropy (Sec 4.1, Eq 1), smoothed region-boundary network = feature lines (4.2), subdivision-curve approximation of each boundary gives the only control points (5.1), connectivity inside each region by edge scoring against minimum-curvature direction (5.2, Fig 8), local meshes glued, boundary edges tagged sharp (5.3); then integer semi-sharpness per edge (0 to 3) chosen by curvature-radius match (Sec 6.1) and geometry optimisation, 3 iterations (6.2) | Table 1: 119 to 187 control vertices, 200 to 260 faces for 2.5K to 15K-vertex models; abstract states "less than 200 vertices"; authors say objective is "coarsest possible" | Yes, integer semi-sharp creases per edge, closed boundary loops from segmentation. Weakness stated: boundary edges between patches are sharp, "can produce unpleasant discontinuities for smooth objects" (5.3) | Author code not found; method fully described; Stam-Loop scheme is published. Related: same group 2005 3DIM and 2007 CGF PDFs at https://perso.liris.cnrs.fr/fdupont/publications/ | Does not aim at quads or regular valence: "can possibly have high degree facets or high valence vertices" (Sec 5.3 end). Maximal errors larger than mean "particularly tiny details" because coarse mesh lacks degrees of freedom (Sec 7); fix suggested is local enrichment or finer segmentation. Threshold for region merging "hard to find a priori" (4.1) | https://perso.liris.cnrs.fr/fdupont/publications/2009-CAG-Lavoue-Dupont.pdf Secs 3, 4.1, 5.1 to 5.3, 6, 7, Tables 1-2; 2007 abstract https://diglib.eg.org/handle/10.2312/CGF.v26i1pp001-014 (abstract only) |
|
||||
| Ma, Keates, Jiang, Kosinka 2015, Subdivision surface fitting to a dense mesh using ridges and umbilics (CAGD 32) | Loop control mesh whose connectivity joins umbilics and ridge-crossings (feature points) by grass-fire distance transform on the dense mesh with a Hausdorff+curvature-vector metric (Secs 3 to 4), then ridge-colour-matching edge flips; control points by solving limit-point system | Rocker arm 239 vertices (from 10,044); bunny 381 (from 35,947); Igea 383 (from 8,268); a 254-vertex car-type case (Sec 5) | No dedicated crease mechanism: "To fit extreme explicit sharp features, some special subdivision rules would need to be used" (Sec 5, cites Lavoue 2009). Feature filtering needed on planes/cylinders where every point is a ridge point (3.4) | Code not found; manuscript CC BY-NC-ND https://gala.gre.ac.uk/id/eprint/14421/ | Accuracy depends on position and number of filtered umbilics and ridges; "some non-regular vertices" remain, post-process for valence suggested (conclusion). Related-work section (pp. 1 to 2) lists simplification/parametrisation/clustering/feature-based families and says typical features "may not align to salient edges" | gala.gre.ac.uk manuscript PDF, Secs 1, 3.3 to 3.4, 5, 6 |
|
||||
| Panozzo, Puppo, Tarini, Pietroni, Cignoni 2011, Automatic construction of quad-based subdivision surfaces using fitmaps (IEEE TVCG) | Catmull-Clark control mesh, "coarse and adaptive", by progressive simplification of a fine quad mesh with local operators guided by fitmaps | Not read (abstract only) | Not stated in abstract | Code not located; Tarini et al. 2010 quad simplification paper says implementation "will be available in MeshLab" (future tense; shipping not verified) | Not read | http://vcg.isti.cnr.it/publication/2011/PPTPC11/ (abstract); https://vcg.isti.cnr.it/Publications/2010/TPCPP10 |
|
||||
| Ma et al. 2004 (CAD 36(6) 525-536), Ma & Zhao 2002 | Subdivision fitting by simplification that tags vertex/edge types to keep sharp features (per Ma 2015 related work); Ma & Zhao 2002 uses an interactively defined topological model with Catmull-Clark and linear least squares | Not read | Sharp features preserved during simplification (per secondary description only) | Not located | Not read; Ma 2015 says interactive topology definition suits "simple topology" | Secondary: Ma 2015 manuscript p. 2; citation https://dblp.dagstuhl.de/rec/conf/gmp/MaMTP02.html |
|
||||
| Campen, Bommes, Kobbelt 2012, Dual Loops Meshing (SIGGRAPH / TOG 31(4)) | All-quad coarse layout (base complex) built in the dual: curvature-guided crossing loops chosen greedily to separate cross-field singularities, region valence tied to total curvature (Sec 4, Thm 4.1/4.2), dualised to patches (5.3); cross-field singularity index decides irregular node valence | Table in Sec 7: 20 to 275 patches (e.g. FERTILITY 20 to 76, ROCKERARM, LEVER 83 singularities); "a few seconds to a few minutes" on 20K to 122K faces | Feature curves enter as directional constraints in the cross field and as lifted curves loops may not cross, so arcs align to them (Sec 6). "Complexity of the layout is thus predetermined to a degree" by the feature network. Only dihedral-angle sharp edges tested (JOINT, LEVER) | Original code not found in this pass. Related open code: NSchertler/GeneralizedMotorcycleGraph (Schertler et al. 2018; CMake, optional Gurobi; licence not read) | Greedy loop choice, not global optimum; geometric fidelity only indirectly controlled; "narrow patches" break the initial embedding and need a domain-interpolation workaround (Sec 5.3); irregular nodes may have very high or low valence (Sec 4); manual layouts still simpler because professionals place tactical irregular nodes (Sec 7.1) | https://graphics.rwth-aachen.de/publication/3/campen_2012_sg_preprint1.pdf Secs 2 to 7.1 |
|
||||
| Viertel, Osting, Staten 2019, Coarse quad layouts through robust simplification of cross field separatrix partitions (arXiv 1905.09097) | Coarse quad layout: trace cross field separatrices, then collapse thinnest chords while keeping T-junction constraints | Tested on 100 objects; coarser than naive tracing (counts not extracted) | Not extracted | Code not located | States that naive tracing yields "small regions and limit cycles" and thin regions near singularities; chord collapse is the remedy; collapsing is limited by conditions that guarantee valid layouts | https://arxiv.org/pdf/1905.09097 abstract and Secs 1, chord-collapse section |
|
||||
| QuadWild, Pietroni, Nuvoli, Alderighi, Cignoni, Tarini 2021, Reliable feature-line driven quad-remeshing (SIGGRAPH / TOG) | Quad mesh from a cross field aligned to feature lines, via a coarse patch layout in which every feature line is a patch boundary; non-quad patches and T-junctions allowed in the layout so long as each patch admits a pure-quad tessellation (abstract) | Output size is a scale parameter (`scaleFact`), not a face target; repo exposes `alpha` (regularity vs isometry; near 1 inserts more singularities) and `sharp_feature_thr` dihedral threshold or a `.sharp` file. Layout patches can be coarse but the output is a dense-ish quad mesh | Sharp features are patch boundaries; border edges treated as sharp by default | https://github.com/nicopietroni/quadwild: GPL-3.0, C++/Qt, needs Boost and Gurobi; 245 commits, 22 open issues, README says results may differ from paper. Fork https://github.com/cgg-bern/quadwild-bimdf: GPL-3.0, CMake, Bi-MDF solver, Gurobi optional, 308 commits | Authors report under 0.5% failure on Thingi10K. A later paper (NeurCross, arXiv 2405.13745) says patching creates singularities at patch junctions and malformed quads on free-form models. Third-party note: face count approximate. Paper PDF not read | abstract via https://vcg.isti.cnr.it/publication/2021/PNACT21; READMEs as listed |
|
||||
| Instant Meshes, Jakob, Tarini, Panozzo, Sorkine-Hornung 2015 | Isotropic tri or quad-dominant remesh from an orientation/position field at a target vertex count | Target vertex count; used in earlier brush-tree runs (mesh-probe runs 3 to 7) | Snaps to sharp features per abstract; crease options not verified from source | https://github.com/wjakob/instant-meshes; licence BSD-3-Clause per FreeBSD port listing (packager, unverified against upstream LICENSE) | Paper limitations section not read; local runs in this repo are the evidence | https://rgl.epfl.ch/publications/Jakob2015Instant |
|
||||
| Tarini et al. 2010, Practical quad mesh simplification (Eurographics CGF 29(2)) and Daniels et al. 2008 quad simplification | Quad-preserving local simplification operators | Not read | Not read | MeshLab implementation promised in text; unverified | Viertel 2019 cites that collapse-the-chords style does not generalise to closed surfaces without extra machinery | https://vcg.isti.cnr.it/Publications/2010/TPCPP10 (abstract) |
|
||||
| Kloiber et al. 2020 | Not found by search under that title or authors | n/a | n/a | n/a | n/a | WebSearch returned only fitmaps, Peters 2000, tree-structure papers |
|
||||
|
||||
## Notes by question
|
||||
|
||||
Creases and closed loops. Lavoue's boundary network is closed by construction (each region is bounded by a closed cycle of control polygons, Sec 5.2) and tags every inter-region edge sharp, with semi-sharp relaxation afterward. Hoppe leaves crease placement to a discrete edge-tag search with a per-edge penalty. Dual Loops and QuadWild take feature curves as input and force the layout to follow them; neither chooses which curves are creases.
|
||||
|
||||
Irregular vertex count. Marinov regularises valence by greedy edge flips on R(M) (Sec 3.3) and says the result is a local minimum. Lavoue explicitly accepts high valence and n-gons. Dual Loops ties irregular nodes to cross-field singularities and total curvature and reports node counts per model (Sec 7 table). Ma 2015 leaves non-regular vertices to a possible post-process.
|
||||
|
||||
Thin wings and saddles. No source above names them. Stated adjacent hazards: narrow patches (Campen Sec 5.3), thin regions and limit cycles near singularities (Viertel abstract and Sec 1), coarse-mesh lack of degrees of freedom for "tiny details" and larger maximal error (Lavoue Sec 7), and parameter-mapping flips at extremely coarse starting meshes (Marinov Sec 6). Ma 2015 notes planes and cylinders make every point a ridge point.
|
||||
|
||||
Bar match (inferred). Against the cage-bar (at most about 200 faces, at most 24% triangles, at most 62 irregular vertices): only Lavoue's published outputs are at that count (200 to 260 triangle-or-mixed faces, vertex counts 119 to 187), and his method states it does not optimise for quads or valence. No read source reports an irregular-vertex count for its control mesh; Dual Loops reports singularities per layout (16 to 83), which counts the irregular nodes of the layout.
|
||||
|
||||
## Not verified in this pass
|
||||
|
||||
QuadWild paper internals (patch count, limitations); Instant Meshes licence and limitations; Fitmaps method detail and creases; Ma 2004 and Lavoue 2007 internals; licence of GeneralizedMotorcycleGraph; Kloiber 2020 existence; whether any source reports behaviour on thin wing-like features. PDFs from air.unimi.it, vcg-legacy.isti.cnr.it, dl.acm.org and diglib.eg.org returned 403 or refused connection from this host.
|
||||
Loading…
Reference in a new issue