Skip to content

DART-Research/MSSG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

MSSG — Minimal Surfaces from Skeletal Graphs

Supplementary code and data for the manuscript Minimal surfaces from skeletal graphs: curve-driven distance fields for the generation, variation, and evaluation of quasi-minimal surfaces in architectural volumes (M. Aghaei Meibodi, DART Laboratory, Taubman College of Architecture and Urban Planning, University of Michigan), submitted to the Journal of Computational Design and Engineering.

MSSG generates quasi-minimal surfaces from two families of editable curves: the surface equidistant to both curve sets (the zero level set of the difference of their distance fields) is extracted by marching cubes — the organization behind triply periodic minimal surfaces (TPMS), but driven by curves rather than a fixed equation. The repository contains the reference implementation of the paper's pipeline (Algorithm 1, Listings 1–5), the interactive Rhino 8 / Grasshopper component, the full evaluation protocol (Section 6), and the precomputed benchmark outputs.

Repository layout

supplementary_code_updated/   all scripts + a file-by-file README
supplementary_data/           precomputed benchmark outputs (OBJ / PLY)

Code (supplementary_code_updated/)

File Role
mssg_pipeline.py Standalone reference pipeline (no Rhino): domain → voxel grid → difference field → marching cubes, plus Schwarz P / Schoen F-RD skeletal-graph builders and a morph helper.
mssg_isosurface_gh.py Interactive implementation: Rhino 8 Grasshopper Python component (CPython 3; pinned # r: requirements install on first run).
mssg_evaluate.py Evaluation protocol: jet-fitted and cotangent-Laplacian mean curvature, dimensionless H* statistics, topology checks, symmetric Hausdorff / mean distance, curvature-colored PLY export.
mssg_batch.py Batch driver: weld, Taubin denoise, constrained fairing, and Section 6 metrics for every OBJ in a folder.
conv_study.py Protocols P1 (resolution convergence) and P3 (orientation invariance) on the coded Schwarz P and F-RD tilings.
p2_run.py Protocol P2 (morph-series continuity) on the series V reconstruction; produces p2_series.csv and p2_curve.png.
test_estimator.py Curvature-estimator validation against analytic ground truth (sphere, catenoid).

See supplementary_code_updated/README.md for full input/output details and the measured reference values (estimator validation numbers, nodal baselines, pipeline results).

Data (supplementary_data/)

File Content
mssg_p_surface.obj Schwarz P quasi-minimal surface generated by mssg_pipeline.py (the pipeline's default output).
p_mssg_curvature.ply Vertex-colored curvature map of the MSSG-generated Schwarz P surface (mssg_evaluate.py bisector).
p_nodal_curvature.ply Vertex-colored curvature map of the nodal-approximation Schwarz P reference (mssg_evaluate.py nodal).

Quick start

pip install numpy scipy scikit-image        # matplotlib optional, for figures

cd supplementary_code_updated
python3 test_estimator.py                   # validate the curvature estimator
python3 mssg_pipeline.py                    # generate mssg_p_surface.obj
python3 mssg_evaluate.py bisector           # evaluate it (writes curvature PLY)

The Grasshopper component (mssg_isosurface_gh.py) is pasted into a Rhino 8 Python 3 script component; its inputs are box (Brep), curves_A / curves_B (curve lists), res, iso, normalize, field_sigma, smooth, exact, and it outputs mesh and info. Its dependencies provision automatically on first solve.

Conventions

  • All quantities are in the world units of the input geometry; curvature statistics are reported dimensionless as H* = H·a (a = unit-cell edge).
  • The pipeline is deterministic: identical inputs give identical meshes.
  • Degenerate inputs (touching curve sets, empty regions) are reported, never silently repaired.

See also

  • DART-Research/BSSG — the BSSG Grasshopper plugin for Rhino 8, a packaged multi-component tool built on the same curve-driven distance-field approach.

Contact

Mania Aghaei Meibodi — DART Laboratory, Taubman College of Architecture and Urban Planning, University of Michigan. E-mail: meibodi@umich.edu

About

MSSG - Minimal Surfaces from Skeletal Graphs: supplementary code and data for curve-driven distance-field generation and evaluation of quasi-minimal surfaces (DART Laboratory, University of Michigan)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages