Skip to content

bohanwang/MSD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medial Skeletal Diagram: A Generalized Medial Axis Approach for 3D Shape Representation

This repository contains the implementation code for our SIGGRAPH Asia paper Medial Skeletal Diagram: A Generalized Medial Axis Approach for 3D Shape Representation.

overview We introduce the Medial Skeletal Diagram (MSD) -- a representation with a sparse skeleton that generalizes the medial axis. Our representation reduces the number of discrete elements ($N_d$) required compared to both standard and simplified medial axes ((b) and (d)). This reduction is achieved while delivering the highest reconstruction accuracy (c). The sparsity of discrete elements and the completeness of our method facilitate a broad range of applications, such as shape generation, mesh decomposition, and shape optimization (e).

Installation

  1. Download libpgo, a C++ library with Python bindings for Physically-based simulation, Geometric shape modeling, and Optimization. Follow the instructions in the original repo to get libpgo.

    git clone git@github.com:bohanwang/libpgo.git
  2. Clone this repo into the {libpgo_ROOT}/projects folder.

    cd libpgo/projects
    git clone git@github.com:bohanwang/MSD.git
  3. Install prerequisites. Please refer to Prerequisites for libpgo.

  4. Build the repo.

    cd ../
    cmake -B build -S . -DPGO_ENABLE_FULL=1 -DPGO_USE_MKL=1 -DPGO_BUILD_SUBPROJECTS=1
    cmake --build build --target computeMSD --parallel
  5. The built executable will be installed into build/bin/.

Note that we have only tested it on Windows and Ubuntu 24.04.

Examples

We provide a few examples in the examples folder. Please check them out there.

TODO

  • add support to user-defined medial axis
  • release more examples

License

See the LICENSE file.

About

Reference implementation of paper MSD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published