Skip to content

Cone Parametrization

Cone parametrization methods are a way to compute the parametrization of any surface with any topology. To understand the intuition that motivates them, one can think of a parametrization firstly as a process that displaces the curvature of a surface from its original distribution to zero everywhere except on the boundary. In the case of conformal maps, this idea is expressed by the Yamabe equation, that links the conformal parametrization, described by a scale factor \(u\), to the original and target Gaussian curvatures \(K\) and \(\hat{K}\) by:

\[Lu = K - \hat{K}\]

This curvature displacement is the source of the parametrization's distortion and needs to be minimal in some sense. In an effort to reduce distortion, one can try to find a suitable target curvature distribution \(\hat{K}\) such that, for instance, the amplitude of \(u\) is minimized. This introduces specific vertices called cones (also called singularities) with non-zero angle defect in the parametrization. Cone parametrization therefore aim at finding a sparse set of cones that concentrate the whole curvature of the considered surface. From such a distribution, it is possible to retrieve \(uv\)-coordinates and an embedding in the plane by forcing these cones to lay on the boundary of the parametric domain. More precisely, given a set of cone vertices \(S \subset V\), the following general algorithm can be applied:

  • Perform cuts on edges in order to link every cone vertex (see the SingularityCutter class);
  • Eventually perform additional cuts along non-contractible cycles in order to retrieve a disk topology;
  • Apply any parametrization algorithm to the cut mesh.

Max Planck's bust parametrized with 4 \(\pi/2\) cones

Max Planck's bust model, mapped to the plane using a conformal cone parametrization. Four cones of defect pi/2 (red points) are placed on the model to reduce distortion

ConformalConeParametrization

Bases: BaseParametrization

Given a user-defined cone distribution on the surface, this algorithm cuts an input surface mesh into a disk topology and parametrize it using conformal mapping

References
  • [1] Conformal equivalence of triangle meshes, Springborn B., Schröder P. and Pinkall U., ACM Transaction on Graphics, 2008

  • [2] Boundary first flattening, Sawhney R. and Crane K., ACM Transaction on Graphics, 2018

Parameters:

Name Type Description Default
mesh SurfaceMesh

Input mesh

required
cones Attribute

float Attribute on vertices. Gives the target angle defects of vertices

required
verbose bool

verbose mode. Defaults to False.

False

Other Parameters:

Name Type Description
use_cotan bool

If True, uses cotangents in the laplacian matrix. Defaults to True.

debug bool, optional)

debug mode. Generates additional output. Defaults to False.

cut_graph property

The seams returned as a polyline

Returns:

Name Type Description
PolyLine PolyLine

seams

cut_mesh property

The mesh where seams have been disconnected and are now boundary edges

Returns:

Name Type Description
SurfaceMesh SurfaceMesh

the mesh where seams have been disconnected

flat_mesh property

A flat representation of the mesh where uv-coordinates are copied to xy.

Returns:

Name Type Description
SurfaceMesh SurfaceMesh

the flat mesh

frame_field property

Local frames of reference rendered as a polyline

run()

Computes the parametrization