Euclid
Geometry Processing and Shape Analysis in C++
Distance

Intrinsic distances. More...

Classes

class  Euclid::GeodesicsInHeat< Mesh >
 Single source approximate geodesic distance using the heat method. More...
 
template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
Euclid::biharmonic_distance (const Eigen::MatrixBase< DerivedA > &lambdas, const Eigen::MatrixBase< DerivedB > &phis, int x, int y)
 Biharmonic distance. More...
 
template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
Euclid::commute_time_distance (const Eigen::MatrixBase< DerivedA > &lambdas, const Eigen::MatrixBase< DerivedB > &phis, int x, int y)
 Commute time distance. More...
 
template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
Euclid::diffusion_distance (const Eigen::MatrixBase< DerivedA > &lambdas, const Eigen::MatrixBase< DerivedB > &phis, int x, int y, double t)
 Diffusion distance. More...
 

Detailed Description

This package contains algorithms to compute geodesic distance, and other types of intrinsic distances on a surface.

Function Documentation

template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
T Euclid::biharmonic_distance ( const Eigen::MatrixBase< DerivedA > &  lambdas,
const Eigen::MatrixBase< DerivedB > &  phis,
int  x,
int  y 
)
Parameters
lambdasEigenvectors.
phisEigenvalues.
xVertex x.
yVertex y.

Reference

[1] Lipman, Y., Rustamov, R., Funkhouser, T. Biharmonic distance.

template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
T Euclid::commute_time_distance ( const Eigen::MatrixBase< DerivedA > &  lambdas,
const Eigen::MatrixBase< DerivedB > &  phis,
int  x,
int  y 
)
Parameters
lambdasEigenvectors.
phisEigenvalues.
xVertex x.
yVertex y.

Reference

[1] Fouss, F. etc. Random-walk computation of similarities between nodes of a graph with application to collaborative recommendation.

template<typename DerivedA , typename DerivedB , typename T = typename DerivedA::Scalar>
T Euclid::diffusion_distance ( const Eigen::MatrixBase< DerivedA > &  lambdas,
const Eigen::MatrixBase< DerivedB > &  phis,
int  x,
int  y,
double  t 
)
Parameters
lambdasEigenvectors.
phisEigenvalues.
xVertex x.
yVertex y.
tDiffusion time.

Reference

[1] Coifman, R., Lafon, S. Diffusion maps.