/ConformalizedMCF

Conformalized Mean Curvature Flow

Primary LanguageC++

<title>Conformalized MCF</title> <STYLE> DL{ margin: 0px 0; } UL{ list-style: none;} </STYLE>

Can Mean-Curvature Flow be Modified to be Non-singular?
(Version 2.0)

links executables compiling changes
LINKS
Kazhdan, 2012 Paper Aigerman et al., 2017
Win64 Executables
Source Code
GitHub Repository
License

EXECUTABLES
  • ConformalizedMCF
    • Command line arguments
      --in <input mesh>
      This string is the name of the file containing the triangulated model. It is assumed that the file is in the PLY format and the file-name ends with a ".ply" extension.
      [--flow <type of surface flow]>
      This argument specifies the type of flow used to evolve the surface. "1" corresponds to traditional mean-curvature flow. "2" corresponds to the conformalized mean-curvature flow. And "3" corresponds to heat flow.
      If no value specified, a default value of "2" is used.
      [--outHeader <output file headers>]
      This string specifies the header for the filenames used when outputting the evolving surface throughout the course of the flow.
      If no argument is specified, no output files are generated.
      [--steps <number of steps of evolution to be performed>]
      This argument specifies the number of anisotropy normalizations that are to be preformed. The parameter for this argument is specified as either start:increment:end, start:end, or start where start is the first evolution step at which files are output, end is the number of evolution steps performed, and increment is the number of evolution steps between file outputs. If increment is not set, a default value of 1 is used. If end is not set, the value is set to start.
      If no argument is specified, no evolution is performed.
      [--stepSize <temporal discretization>]
      This argument specifies the size of the temporal discretization (with smaller values resulting in slower flows and larger values resulting in faster ones).
      If not argument is specified, a default value of 0.0001 is used.
      [--verbose]
      It this flag is specified error measures are computed at each step of the evolution and output to STDOUT.
  • ConformalizedMCFOrbifoldVisualization
    • Command line arguments
      --in <input mesh>
      This string is the name of the file containing the triangulated model. It is assumed that the file is in the PLY format and the file-name ends with a ".ply" extension.
      The model must have either disk or sphere topology.
      [--sym <type of orbifold symmetry]>
      This argument specifies the type of orbifold symmetry to be used. Options are:
      • C<N>: Cyclic symmetry group of order N
      • D<N>: Dihedral symmetry group of order 2N
      • T: Tetrahedral symmetry group
      • O: Octahedral symmetry group
      • I: Icosahedral symmetry group
      If no value specified, a default value of "C1" is used.
      [--stepSize <temporal discretization>]
      This argument specifies the size of the temporal discretization (with smaller values resulting in slower flows and larger values resulting in faster ones).
      If not argument is specified, a default value of 1.0 is used.
      [--verbose]
      It this flag is specified error measures are computed at each step of the evolution and output to STDOUT.
      Viewer controls
      'q', 'w', 'a', 's', 'z', 'x': rotate
      [UP ARROW], [DOWN ARROW]: zoom
      [SPACE]: Toggle flow
      See bottom right panel for additional key bindings

SOURCE CODE COMPILATION
The source code requires the use of a numerical solver. By default, the Eigen solver is used. As the default implementation may be slow, the code supports other solvers. Specifically, if you have the Intel Math Kernel Library installed, you can define EIGEN_USE_MKL_ALL to use a faster solver. Alternatively, if you have the CHOLMOD library installed, you can use that by defineing USE_CHOLMOD (and also USE_SUITESPARSE if you are using the SuiteSparse version).
CHANGES
Version 1.0:
  1. Added spherical orbifold visualization code.

HOME