Distance Geometry: Theory and Applications