From b400f30aedeae6e387e66cccce8cabf35a6fad9c Mon Sep 17 00:00:00 2001 From: Pierre Alliez Date: Fri, 17 Nov 2017 14:15:56 +0100 Subject: [PATCH] massaging user manual --- .../surface_mesh_approximation.txt | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/Surface_mesh_approximation/doc/Surface_mesh_approximation/surface_mesh_approximation.txt b/Surface_mesh_approximation/doc/Surface_mesh_approximation/surface_mesh_approximation.txt index d08412853f8..57870635a40 100644 --- a/Surface_mesh_approximation/doc/Surface_mesh_approximation/surface_mesh_approximation.txt +++ b/Surface_mesh_approximation/doc/Surface_mesh_approximation/surface_mesh_approximation.txt @@ -33,7 +33,6 @@ A class interface is also provided for advanced users, with interactive capabili \subsection sma_clustering Clustering - Figure \cgalFigureRef{relaxation} depicts the Lloyd clustering iteration on the plane-sphere model with the \f$ \mathcal{L}^{2,1} \f$ metric. \cgalFigureBegin{relaxation, relaxation.png} @@ -56,7 +55,7 @@ Different initialization examples are provided in \cgalFigureRef{meshing}. Seeding is used to decide how to insert a new proxy. Each proxy is always associated with a seed triangle facet in the input surface mesh. -While the proxy parameters are viewed as the center in a geometric error sense, the seed of each proxy is used as the topological start point in the partition process. When we want to add more proxies to drive the approximation error down, we must specify facets of the input surface mesh as seeds to initialize the proxy parameters. +While the proxies may be viewed as centers (or best representative) in a geometric error sense, the seed of each proxy is used as the topological start point in the partition process. When we want to add more proxies to drive the approximation error down, we must specify facets of the input surface mesh as seeds to initialize the proxy parameters. The package provides 3 different seeding methods: - Random. The proxy seeds are picked randomly on the surface mesh. @@ -128,9 +127,9 @@ The following example calls the free function `CGAL::VSA::mesh_approximation()` \cgalExample{Surface_mesh_approximation/vsa_approximation_example.cpp} -Note that the function parameters are provided through \ref namedparameters. To set the non-default parameter values, we need to call the functions with the name of the required parameters connected by a dot in an arbitrary order as follows: +Note that the function parameters are provided through \ref namedparameters. To set the non-default parameter values we need to call the functions with the required parameters, connected by a dot and in an arbitrary order, as follows: -TODO: add output indexed face set +TODO: add output indexed face set to the code \code // input: input triangle surface mesh @@ -159,7 +158,7 @@ CGAL::VSA::mesh_approximation(input, ... \endcode -With the facet proxy index map and the output proxies, we render the partition and the proxy parameters as illustrated in \cgalFigureRef{relaxation}. +The facet proxy index map and the output proxies provide a means to access the partition and the proxy parameters as illustrated by \cgalFigureRef{relaxation}. \subsection sma_example2 Free Function Segmentation @@ -169,14 +168,14 @@ The package can be used for segmenting via the free function `CGAL::VSA::mesh_se \subsection sma_example3 Class Interface -The following example uses the build-in `CGAL::VSA::L2_metric` to approximate the shape. The class interface `CGAL::VSA::Mesh_approximation` offers a means to achieve flexible and interactive control of the algorithm. +The class interface `CGAL::VSA::Mesh_approximation` offers a means to achieve flexible and interactive control of the algorithm. The following example uses the L2 metric class `CGAL::VSA::L2_metric` to approximate the shape. \cgalExample{Surface_mesh_approximation/vsa_class_interface_example.cpp} \subsection sma_example4 Self-defined Proxy and Metric \cgalFigureBegin{vsa_metric_comparison, vsa_metric_comparison_200_30.png} -Comparison of different metrics on the bear model, all with 200 proxies and hierarchical seeding. From left to right: \f$ \mathcal{L}^{2,1} \f$ metric, \f$ \mathcal{L}^2 \f$ metric and compact metric. +Comparison of different metrics on the bear model, with 200 proxies and hierarchical seeding. From left to right: \f$ \mathcal{L}^{2,1} \f$ metric, \f$ \mathcal{L}^2 \f$ metric and compact metric. \cgalFigureEnd The following example defines a point-wise proxy to achieves an isotropic patch approximation of the shape. The output mesh is depicted in Figure \cgalFigureRef{vsa_metric_comparison}. @@ -199,9 +198,7 @@ bear | 20,188 | 200 | 0 | 36.749 | 1.194 masque | 62,467 | 200 | 0.002 | 133.901 | 4.308 -Runtime in seconds with target error drop of different seeding method. -The benchmark is running on the bear model with 20,188 facets. -Each column shows the time and the resulting number of proxies: +Runtime in seconds with target error drop of different seeding method. The benchmark is running on the bear model with 20,188 facets. Each column records the time and the resulting number of proxies:
Target Error Drop | Random | Incremental | Hierarchical @@ -211,8 +208,7 @@ Each column shows the time and the resulting number of proxies: 0.02 | 1.415/256 | 35.171/192 | 1.428/256
-Runtime of 3 phases of the algorithm in seconds: seeding, relaxation and meshing. -The seeding method is hierarchical with target number of proxies. +Runtime of 3 phases of the algorithm in seconds: seeding, relaxation and meshing. The seeding method is hierarchical with target number of proxies.
Model | \#Triangles | \#Proxies | \#Iterations | Seeding | Relaxation | Meshing | Total @@ -232,7 +228,7 @@ bear | 20,188 | tbd | tbd | masque | 62,467 | tbd | tbd | tbd
--> -\section sma_background +\section sma_background Background The VSA method has two key geometric concepts: