From bb2883427ee14b45b38ef9520fadf2f726f4b4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Nusser?= Date: Wed, 19 Jun 2024 10:10:26 +0200 Subject: [PATCH] Add teaser image and credits. --- .../doc/Frechet_distance/Frechet_distance.txt | 11 +++++++++-- .../doc/Frechet_distance/fig/FrechetTeaser.png | Bin 0 -> 66138 bytes 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 Frechet_distance/doc/Frechet_distance/fig/FrechetTeaser.png diff --git a/Frechet_distance/doc/Frechet_distance/Frechet_distance.txt b/Frechet_distance/doc/Frechet_distance/Frechet_distance.txt index b2905aa153c..036fa92417e 100644 --- a/Frechet_distance/doc/Frechet_distance/Frechet_distance.txt +++ b/Frechet_distance/doc/Frechet_distance/Frechet_distance.txt @@ -9,7 +9,7 @@ namespace CGAL {
- +
This package provides functions for computing the Fréchet distance of polylines in any dimension under the Euclidean metric. @@ -20,11 +20,14 @@ The Fréchet distance is a classical dissimilarity measure between polylines. Its advantages over other measures is that it consideres the polylines as a continuous objects and that it takes into account the order of the points. Intuitively, the Fréchet distance is commonly explained as follows: Imagine a human walking on one polyline while a dog walks on the other polyline, they are connected by a leash, and they are only allowed to walk forward. The Fréchet distance is the shortest leash length that allows both the human and dog walk from start to end on their respective trajectories. + + -The Fréchet distance is a metric and hence two polylines that are equal (disregarding consecutive colinear points) have a distance of zero. +The Fréchet distance is a metric and hence two polylines that are equal (disregarding consecutive collinear points) have a distance of zero. \section secFrechetDistanceAPI API @@ -68,5 +71,9 @@ while working at the Max Planck Institute for Informatics in Saarbrücken, Germa André Nusser, together with Sebastien Loriot and Andreas Fabri, introduced the usage of interval arithmetic and square root extensions to achieve a certified result. +\subsection subsecFrechetDistanceImageCredits Image Credits + +The teaser image comes from the Character Trajectories data set. + */ } /* namespace CGAL */ diff --git a/Frechet_distance/doc/Frechet_distance/fig/FrechetTeaser.png b/Frechet_distance/doc/Frechet_distance/fig/FrechetTeaser.png new file mode 100644 index 0000000000000000000000000000000000000000..95ed246b0801b15d146340d5fda755141d12f39d GIT binary patch literal 66138 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