diff options
Diffstat (limited to 'src/Alpha_complex/doc')
-rw-r--r-- | src/Alpha_complex/doc/Intro_alpha_complex.h | 91 | ||||
-rw-r--r-- | src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.ipe | 482 | ||||
-rw-r--r-- | src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.png | bin | 62759 -> 0 bytes | |||
-rw-r--r-- | src/Alpha_complex/doc/alpha_complex_representation.ipe | 321 |
4 files changed, 388 insertions, 506 deletions
diff --git a/src/Alpha_complex/doc/Intro_alpha_complex.h b/src/Alpha_complex/doc/Intro_alpha_complex.h index 1fb8fdee..685a4c2f 100644 --- a/src/Alpha_complex/doc/Intro_alpha_complex.h +++ b/src/Alpha_complex/doc/Intro_alpha_complex.h @@ -36,48 +36,58 @@ namespace alphacomplex { * * \section definition Definition * - * Alpha_complex is a Simplex_tree constructed from each finite cell of a Delaunay Triangulation. + * Alpha_complex is a <a target="_blank" href="https://en.wikipedia.org/wiki/Simplicial_complex">simplicial complex</a> + * constructed from each finite cell of a Delaunay Triangulation. * * The filtration value of each simplex is computed from the alpha square value of the simplex if it is Gabriel or * from the alpha value of the simplex coface that makes the simplex not Gabriel. * - * Please refer to \cite AlphaShapesDefinition for a more complete alpha complex definition. + * All simplices that have a filtration value strictly greater than a given alpha square value are not inserted into + * the simplex. * - * Alpha complex are interesting because it looks like an \ref alpha-shape "Alpha shape" as described in - * \cite AlphaShapesIntroduction (an alpha complex concept vulgarization). + * \image html "alpha_complex_representation.png" "Alpha simplicial complex representation" * - * \section example Example + * Alpha_complex is constructing a `Simplex_tree` using <a target="_blank" + * href="http://doc.cgal.org/latest/Triangulation/index.html#Chapter_Triangulations">Delaunay Triangulation</a> + * \cite cgal:hdj-t-15b from <a target="_blank" href="http://www.cgal.org/">CGAL</a> (the Computational Geometry + * Algorithms Library \cite cgal:eb-15b). * - * This example loads points from an OFF file, builds the Delaunay triangulation from the points, and finally - * initialize the alpha complex with it. + * The complex is a template class requiring a <a target="_blank" + * href="http://doc.cgal.org/latest/Kernel_d/index.html#Chapter_dD_Geometry_Kernel">dD Geometry Kernel</a> + * \cite cgal:s-gkd-15b from CGAL as template. + * + * \section pointsexample Example from points + * + * This example builds the Delaunay triangulation from the given points in a 2D static kernel, and initializes the + * alpha complex with it. * * Then, it is asked to display information about the alpha complex. * - * \include Alpha_complex_from_off.cpp + * \include Alpha_complex_from_points.cpp * * When launching: * - * \code $> ./alphaoffreader ../../data/points/alphacomplexdoc.off 60.0 + * \code $> ./alphapoints 60.0 * \endcode * * the program output is: * - * \include alphaoffreader_for_doc.txt + * \include alphaoffreader_for_doc_60.txt * * \section algorithm Algorithm * - * <b>Data structure</b> + * \subsection datastructure Data structure * * In order to build the alpha complex, first, a Simplex tree is build from the cells of a Delaunay Triangulation. * (The filtration value is set to NaN, which stands for unknown value): * \image html "alpha_complex_doc.png" "Simplex tree structure construction example" * - * <b>Filtration value computation algorithm</b> - * + * \subsection filtrationcomputation Filtration value computation algorithm + * * \f{algorithm}{ * \caption{Filtration value computation algorithm}\label{alpha} * \begin{algorithmic} - * \For{i : dimension $\rightarrow$ 1} + * \For{i : dimension $\rightarrow$ 0} * \ForAll{$\sigma$ of dimension i} * \If {filtration($\sigma$) is NaN} * \State filtration($\sigma$) = $\alpha^2(\sigma)$ @@ -93,25 +103,58 @@ namespace alphacomplex { * \EndFor * \EndFor * \EndFor + * \State make\_filtration\_non\_decreasing() + * \State prune\_above\_filtration() * \end{algorithmic} * \f} * - * From the example above, it means the algorithm will look into each triangle ([1,2,3], [2,3,4], [1,3,5], ...), - * will compute the filtration value of the triangle, and then will propagate the filtration value as described + * \subsubsection dimension2 Dimension 2 + * + * From the example above, it means the algorithm looks into each triangle ([1,2,3], [2,3,4], [1,3,5], ...), + * computes the filtration value of the triangle, and then propagates the filtration value as described * here : * \image html "alpha_complex_doc_135.png" "Filtration value propagation example" - * Then, the algorithm will look into each edge ([1,2], [2,3], [1,3], ...), - * will compute the filtration value of the edge (in this case, propagation will have no effect). * - * Finally, the algorithm will look into each vertex ([1], [2], [3], [4], [5], [6] and [7]), - * will set the filtration value (0 in case of a vertex - propagation will have no effect). + * \subsubsection dimension1 Dimension 1 + * + * Then, the algorithm looks into each edge ([1,2], [2,3], [1,3], ...), + * computes the filtration value of the edge (in this case, propagation will have no effect). + * + * \subsubsection dimension0 Dimension 0 + * + * Finally, the algorithm looks into each vertex ([1], [2], [3], [4], [5], [6] and [7]) and + * sets the filtration value (0 in case of a vertex - propagation will have no effect). + * + * \subsubsection nondecreasing Non decreasing filtration values + * + * As Alpha square value computed from CGAL is an approximation, we have to make filtration non decreasing while + * increasing the dimension for our simplicial complex to be valid (cf. + * `Simplex_tree::make_filtration_non_decreasing()`). + * + * \subsubsection pruneabove Prune above given filtration value + * + * The simplex tree is pruned from the given maximum alpha square value (cf. `Simplex_tree::prune_above_filtration()`). + * In this example, the value is given by the user as argument of the program. * - * \section alpha-shape Alpha shape * - * In the example above, the alpha shape of \f$\alpha^2_{63} < \alpha^2 < \alpha^2_{62}\f$ is the alpha complex where the - * \f$\alpha^2_{63} <\f$ filtration value \f$< \alpha^2_{62}\f$ as described in \cite AlphaShapesIntroduction + * \section offexample Example from OFF file + * + * This example builds the Delaunay triangulation in a dynamic kernel, and initializes the alpha complex with it. + * + * + * Then, it is asked to display information about the alpha complex. + * + * \include Alpha_complex_from_off.cpp + * + * When launching: + * + * \code $> ./alphaoffreader ../../data/points/alphacomplexdoc.off 32.0 + * \endcode + * + * the program output is: + * + * \include alphaoffreader_for_doc_32.txt * - * \image html "alpha_complex_doc_alpha_shape.png" "Alpha shape example" * \copyright GNU General Public License v3. * \verbatim Contact: gudhi-users@lists.gforge.inria.fr \endverbatim */ diff --git a/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.ipe b/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.ipe deleted file mode 100644 index 7563cf3d..00000000 --- a/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.ipe +++ /dev/null @@ -1,482 +0,0 @@ -<?xml version="1.0"?> -<!DOCTYPE ipe SYSTEM "ipe.dtd"> -<ipe version="70005" creator="Ipe 7.1.4"> -<info created="D:20150603143945" modified="D:20150831165646"/> -<ipestyle name="basic"> -<symbol name="arrow/arc(spx)"> -<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> -0 0 m --1 0.333 l --1 -0.333 l -h -</path> -</symbol> -<symbol name="arrow/farc(spx)"> -<path stroke="sym-stroke" fill="white" pen="sym-pen"> -0 0 m --1 0.333 l --1 -0.333 l -h -</path> -</symbol> -<symbol name="mark/circle(sx)" transformations="translations"> -<path fill="sym-stroke"> -0.6 0 0 0.6 0 0 e -0.4 0 0 0.4 0 0 e -</path> -</symbol> -<symbol name="mark/disk(sx)" transformations="translations"> -<path fill="sym-stroke"> -0.6 0 0 0.6 0 0 e -</path> -</symbol> -<symbol name="mark/fdisk(sfx)" transformations="translations"> -<group> -<path fill="sym-fill"> -0.5 0 0 0.5 0 0 e -</path> -<path fill="sym-stroke" fillrule="eofill"> -0.6 0 0 0.6 0 0 e -0.4 0 0 0.4 0 0 e -</path> -</group> -</symbol> -<symbol name="mark/box(sx)" transformations="translations"> -<path fill="sym-stroke" fillrule="eofill"> --0.6 -0.6 m -0.6 -0.6 l -0.6 0.6 l --0.6 0.6 l -h --0.4 -0.4 m -0.4 -0.4 l -0.4 0.4 l --0.4 0.4 l -h -</path> -</symbol> -<symbol name="mark/square(sx)" transformations="translations"> -<path fill="sym-stroke"> --0.6 -0.6 m -0.6 -0.6 l -0.6 0.6 l --0.6 0.6 l -h -</path> -</symbol> -<symbol name="mark/fsquare(sfx)" transformations="translations"> -<group> -<path fill="sym-fill"> --0.5 -0.5 m -0.5 -0.5 l -0.5 0.5 l --0.5 0.5 l -h -</path> -<path fill="sym-stroke" fillrule="eofill"> --0.6 -0.6 m -0.6 -0.6 l -0.6 0.6 l --0.6 0.6 l -h --0.4 -0.4 m -0.4 -0.4 l -0.4 0.4 l --0.4 0.4 l -h -</path> -</group> -</symbol> -<symbol name="mark/cross(sx)" transformations="translations"> -<group> -<path fill="sym-stroke"> --0.43 -0.57 m -0.57 0.43 l -0.43 0.57 l --0.57 -0.43 l -h -</path> -<path fill="sym-stroke"> --0.43 0.57 m -0.57 -0.43 l -0.43 -0.57 l --0.57 0.43 l -h -</path> -</group> -</symbol> -<symbol name="arrow/fnormal(spx)"> -<path stroke="sym-stroke" fill="white" pen="sym-pen"> -0 0 m --1 0.333 l --1 -0.333 l -h -</path> -</symbol> -<symbol name="arrow/pointed(spx)"> -<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> -0 0 m --1 0.333 l --0.8 0 l --1 -0.333 l -h -</path> -</symbol> -<symbol name="arrow/fpointed(spx)"> -<path stroke="sym-stroke" fill="white" pen="sym-pen"> -0 0 m --1 0.333 l --0.8 0 l --1 -0.333 l -h -</path> -</symbol> -<symbol name="arrow/linear(spx)"> -<path stroke="sym-stroke" pen="sym-pen"> --1 0.333 m -0 0 l --1 -0.333 l -</path> -</symbol> -<symbol name="arrow/fdouble(spx)"> -<path stroke="sym-stroke" fill="white" pen="sym-pen"> -0 0 m --1 0.333 l --1 -0.333 l -h --1 0 m --2 0.333 l --2 -0.333 l -h -</path> -</symbol> -<symbol name="arrow/double(spx)"> -<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> -0 0 m --1 0.333 l --1 -0.333 l -h --1 0 m --2 0.333 l --2 -0.333 l -h -</path> -</symbol> -<pen name="heavier" value="0.8"/> -<pen name="fat" value="1.2"/> -<pen name="ultrafat" value="2"/> -<symbolsize name="large" value="5"/> -<symbolsize name="small" value="2"/> -<symbolsize name="tiny" value="1.1"/> -<arrowsize name="large" value="10"/> -<arrowsize name="small" value="5"/> -<arrowsize name="tiny" value="3"/> -<color name="red" value="1 0 0"/> -<color name="green" value="0 1 0"/> -<color name="blue" value="0 0 1"/> -<color name="yellow" value="1 1 0"/> -<color name="orange" value="1 0.647 0"/> -<color name="gold" value="1 0.843 0"/> -<color name="purple" value="0.627 0.125 0.941"/> -<color name="gray" value="0.745"/> -<color name="brown" value="0.647 0.165 0.165"/> -<color name="navy" value="0 0 0.502"/> -<color name="pink" value="1 0.753 0.796"/> -<color name="seagreen" value="0.18 0.545 0.341"/> -<color name="turquoise" value="0.251 0.878 0.816"/> -<color name="violet" value="0.933 0.51 0.933"/> -<color name="darkblue" value="0 0 0.545"/> -<color name="darkcyan" value="0 0.545 0.545"/> -<color name="darkgray" value="0.663"/> -<color name="darkgreen" value="0 0.392 0"/> -<color name="darkmagenta" value="0.545 0 0.545"/> -<color name="darkorange" value="1 0.549 0"/> -<color name="darkred" value="0.545 0 0"/> -<color name="lightblue" value="0.678 0.847 0.902"/> -<color name="lightcyan" value="0.878 1 1"/> -<color name="lightgray" value="0.827"/> -<color name="lightgreen" value="0.565 0.933 0.565"/> -<color name="lightyellow" value="1 1 0.878"/> -<dashstyle name="dashed" value="[4] 0"/> -<dashstyle name="dotted" value="[1 3] 0"/> -<dashstyle name="dash dotted" value="[4 2 1 2] 0"/> -<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/> -<textsize name="large" value="\large"/> -<textsize name="Large" value="\Large"/> -<textsize name="LARGE" value="\LARGE"/> -<textsize name="huge" value="\huge"/> -<textsize name="Huge" value="\Huge"/> -<textsize name="small" value="\small"/> -<textsize name="footnote" value="\footnotesize"/> -<textsize name="tiny" value="\tiny"/> -<textstyle name="center" begin="\begin{center}" end="\end{center}"/> -<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/> -<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/> -<gridsize name="4 pts" value="4"/> -<gridsize name="8 pts (~3 mm)" value="8"/> -<gridsize name="16 pts (~6 mm)" value="16"/> -<gridsize name="32 pts (~12 mm)" value="32"/> -<gridsize name="10 pts (~3.5 mm)" value="10"/> -<gridsize name="20 pts (~7 mm)" value="20"/> -<gridsize name="14 pts (~5 mm)" value="14"/> -<gridsize name="28 pts (~10 mm)" value="28"/> -<gridsize name="56 pts (~20 mm)" value="56"/> -<anglesize name="90 deg" value="90"/> -<anglesize name="60 deg" value="60"/> -<anglesize name="45 deg" value="45"/> -<anglesize name="30 deg" value="30"/> -<anglesize name="22.5 deg" value="22.5"/> -<tiling name="falling" angle="-60" step="4" width="1"/> -<tiling name="rising" angle="30" step="4" width="1"/> -</ipestyle> -<page> -<layer name="alpha"/> -<view layers="alpha" active="alpha"/> -<use layer="alpha" matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="280 660" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -169.478 20.0238" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="370 690" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="290 530" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="350 520" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="320 580" size="normal" stroke="black" fill="white"/> -<use matrix="1 0 0 1 -170.178 30.1775" name="mark/fdisk(sfx)" pos="370 580" size="normal" stroke="black" fill="white"/> -<text matrix="1 0 0 1 -190.178 30.1775" transformations="translations" pos="380 530" stroke="darkred" type="label" width="63.793" height="8.307" depth="2.32" valign="baseline" size="large">Alpha shape</text> -<text matrix="1 0 0 1 -172.333 26.6762" transformations="translations" pos="282.952 524.893" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text> -<text matrix="1 0 0 1 -170.178 30.1775" transformations="translations" pos="352.708 510.349" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text> -<text matrix="1 0 0 1 -170.178 30.1775" transformations="translations" pos="310.693 578.759" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> -<text matrix="1 0 0 1 -170.178 30.1775" transformations="translations" pos="375.332 578.49" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> -<text matrix="1 0 0 1 -170.178 30.1775" transformations="translations" pos="272.179 660.635" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> -<text matrix="1 0 0 1 -169.478 20.0238" transformations="translations" pos="296.419 724.197" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text> -<text matrix="1 0 0 1 -170.178 30.1775" transformations="translations" pos="375.332 689.453" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 29.8225 -9.82249" transformations="translations" pos="360 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="360 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="360 640" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="370 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> -<text matrix="1 0 0 1 39.8225 -9.82249" transformations="translations" pos="380 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text> -<text matrix="1 0 0 1 39.8225 -9.82249" transformations="translations" pos="380 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> -<text matrix="1 0 0 1 59.8225 -9.82249" transformations="translations" pos="400 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> -<text matrix="1 0 0 1 29.8225 -9.82249" transformations="translations" pos="390 640" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> -<text matrix="1 0 0 1 29.8225 -9.82249" transformations="translations" pos="400 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> -<text matrix="1 0 0 1 39.8225 -9.82249" transformations="translations" pos="410 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> -<text matrix="1 0 0 1 59.8225 -9.82249" transformations="translations" pos="430 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="370 640" stroke="darkgray" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="380 660" stroke="darkgray" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> -<text matrix="1 0 0 1 29.8225 -9.82249" transformations="translations" pos="430 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> -<text matrix="1 0 0 1 49.8225 -9.82249" transformations="translations" pos="460 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="430 640" stroke="darkgray" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 19.8225 -9.82249" transformations="translations" pos="450 660" stroke="darkgray" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 29.8225 -9.82249" transformations="translations" pos="460 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 39.8225 -9.82249" transformations="translations" pos="520 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 159.822 -9.82249" transformations="translations" pos="300 640" stroke="darkgray" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 169.822 -9.82249" transformations="translations" pos="350 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 159.822 -9.82249" transformations="translations" pos="350 660" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text> -<text matrix="1 0 0 1 159.822 -9.82249" transformations="translations" pos="350 640" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> -<text matrix="1 0 0 1 159.822 -9.82249" transformations="translations" pos="380 680" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black"> -4 0 0 4 320 704 e -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black"> -322.919 706.788 m -317.189 701.058 l -317.189 701.203 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black"> -317.551 706.934 m -322.629 701.058 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="darkgray" arrow="normal/tiny"> -230 680 m -240 670 l -</path> -<path matrix="1 0 0 1 189.822 -9.82249" stroke="black" arrow="normal/tiny"> -230 680 m -240 670 l -</path> -<path matrix="1 0 0 1 229.822 -9.82249" stroke="darkgray" arrow="normal/tiny"> -230 680 m -240 670 l -</path> -<path matrix="1 0 0 1 279.822 -9.82249" stroke="black" arrow="normal/tiny"> -230 680 m -240 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -230 680 m -220 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -230 680 m -230 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -220 660 m -220 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="darkgray" arrow="normal/tiny"> -230 660 m -230 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -260 680 m -260 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -260 660 m -260 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -300 680 m -300 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -300 680 m -290 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="darkgray" arrow="normal/tiny"> -290 660 m -290 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="darkgray" arrow="normal/tiny"> -300 660 m -300 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -330 680 m -330 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -350 680 m -350 670 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -350 660 m -350 650 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -240 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -270 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -310 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -330 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -350 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -380 690 l -</path> -<path matrix="1 0 0 1 159.822 -9.82249" stroke="black" arrow="normal/tiny"> -320 700 m -400 690 l -</path> -<text matrix="1 0 0 1 181.065 -17.7515" transformations="translations" pos="180 620" stroke="black" type="label" width="108.04" height="6.926" depth="1.93" valign="baseline">Alpha complex structure</text> -<path matrix="1 0 0 1 0.147054 -27.9437" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 17.3033 -128.43" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -40.8179 81.2962" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -77.2312 -186.201" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -126.949 -81.8634" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -122.048 -59.1051" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -44.3191 -30.7447" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -146.206 42.0819" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 -53.4225 -19.5406" stroke="darkgray"> -58.1341 0 0 58.1341 218.925 692.601 e -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -60 710 m -40 660 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -40 660 m -130 690 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -130 690 m -60 710 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -40 660 m -80 580 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -80 580 m -130 580 l -130 580 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -130 580 m -110 520 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -110 520 m -50 530 l -50 530 l -50 530 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -50 530 m -80 580 l -</path> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkred"> -130 580 m -130 690 l -</path> -<use matrix="1 0 0 1 69.8225 30.1775" name="mark/fdisk(sfx)" pos="108.285 743.72" size="normal" stroke="darkgray" fill="white"/> -<path matrix="1 0 0 1 69.8225 30.1775" stroke="darkgray"> -108.275 743.531 m -166.45 743.531 l -</path> -<text matrix="1 0 0 1 69.8225 30.1775" transformations="translations" pos="127.397 746.763" stroke="darkgray" type="label" width="6.41" height="4.289" depth="0" valign="baseline">$\alpha$</text> -<text matrix="1 0 0 1 180.473 -27.8112" transformations="translations" pos="180 620" stroke="darkgray" type="label" width="132.41" height="6.926" depth="1.93" valign="baseline">filtration value $> \alpha$ are greyed</text> -<path stroke="black"> -280 660 m -300 680 l -</path> -<path stroke="black"> -280 660 m -300 640 l -</path> -<path stroke="black"> -370 660 m -350 680 l -</path> -<path stroke="black"> -370 660 m -350 640 l -</path> -<path stroke="black"> -290 670 m -360 670 l -</path> -<path stroke="black"> -290 650 m -360 650 l -</path> -<text matrix="1 0 0 1 2.36686 -1.77515" transformations="translations" pos="300 660" stroke="black" type="label" width="44.002" height="6.926" depth="1.93" valign="baseline">equivalent</text> -</page> -</ipe> diff --git a/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.png b/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.png Binary files differdeleted file mode 100644 index 2d5f59a3..00000000 --- a/src/Alpha_complex/doc/alpha_complex_doc_alpha_shape.png +++ /dev/null diff --git a/src/Alpha_complex/doc/alpha_complex_representation.ipe b/src/Alpha_complex/doc/alpha_complex_representation.ipe new file mode 100644 index 00000000..8687d694 --- /dev/null +++ b/src/Alpha_complex/doc/alpha_complex_representation.ipe @@ -0,0 +1,321 @@ +<?xml version="1.0"?> +<!DOCTYPE ipe SYSTEM "ipe.dtd"> +<ipe version="70107" creator="Ipe 7.1.10"> +<info created="D:20150603143945" modified="D:20151127174742"/> +<ipestyle name="basic"> +<symbol name="arrow/arc(spx)"> +<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> +0 0 m +-1 0.333 l +-1 -0.333 l +h +</path> +</symbol> +<symbol name="arrow/farc(spx)"> +<path stroke="sym-stroke" fill="white" pen="sym-pen"> +0 0 m +-1 0.333 l +-1 -0.333 l +h +</path> +</symbol> +<symbol name="mark/circle(sx)" transformations="translations"> +<path fill="sym-stroke"> +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e +</path> +</symbol> +<symbol name="mark/disk(sx)" transformations="translations"> +<path fill="sym-stroke"> +0.6 0 0 0.6 0 0 e +</path> +</symbol> +<symbol name="mark/fdisk(sfx)" transformations="translations"> +<group> +<path fill="sym-fill"> +0.5 0 0 0.5 0 0 e +</path> +<path fill="sym-stroke" fillrule="eofill"> +0.6 0 0 0.6 0 0 e +0.4 0 0 0.4 0 0 e +</path> +</group> +</symbol> +<symbol name="mark/box(sx)" transformations="translations"> +<path fill="sym-stroke" fillrule="eofill"> +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h +</path> +</symbol> +<symbol name="mark/square(sx)" transformations="translations"> +<path fill="sym-stroke"> +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +</path> +</symbol> +<symbol name="mark/fsquare(sfx)" transformations="translations"> +<group> +<path fill="sym-fill"> +-0.5 -0.5 m +0.5 -0.5 l +0.5 0.5 l +-0.5 0.5 l +h +</path> +<path fill="sym-stroke" fillrule="eofill"> +-0.6 -0.6 m +0.6 -0.6 l +0.6 0.6 l +-0.6 0.6 l +h +-0.4 -0.4 m +0.4 -0.4 l +0.4 0.4 l +-0.4 0.4 l +h +</path> +</group> +</symbol> +<symbol name="mark/cross(sx)" transformations="translations"> +<group> +<path fill="sym-stroke"> +-0.43 -0.57 m +0.57 0.43 l +0.43 0.57 l +-0.57 -0.43 l +h +</path> +<path fill="sym-stroke"> +-0.43 0.57 m +0.57 -0.43 l +0.43 -0.57 l +-0.57 0.43 l +h +</path> +</group> +</symbol> +<symbol name="arrow/fnormal(spx)"> +<path stroke="sym-stroke" fill="white" pen="sym-pen"> +0 0 m +-1 0.333 l +-1 -0.333 l +h +</path> +</symbol> +<symbol name="arrow/pointed(spx)"> +<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h +</path> +</symbol> +<symbol name="arrow/fpointed(spx)"> +<path stroke="sym-stroke" fill="white" pen="sym-pen"> +0 0 m +-1 0.333 l +-0.8 0 l +-1 -0.333 l +h +</path> +</symbol> +<symbol name="arrow/linear(spx)"> +<path stroke="sym-stroke" pen="sym-pen"> +-1 0.333 m +0 0 l +-1 -0.333 l +</path> +</symbol> +<symbol name="arrow/fdouble(spx)"> +<path stroke="sym-stroke" fill="white" pen="sym-pen"> +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h +</path> +</symbol> +<symbol name="arrow/double(spx)"> +<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen"> +0 0 m +-1 0.333 l +-1 -0.333 l +h +-1 0 m +-2 0.333 l +-2 -0.333 l +h +</path> +</symbol> +<pen name="heavier" value="0.8"/> +<pen name="fat" value="1.2"/> +<pen name="ultrafat" value="2"/> +<symbolsize name="large" value="5"/> +<symbolsize name="small" value="2"/> +<symbolsize name="tiny" value="1.1"/> +<arrowsize name="large" value="10"/> +<arrowsize name="small" value="5"/> +<arrowsize name="tiny" value="3"/> +<color name="red" value="1 0 0"/> +<color name="green" value="0 1 0"/> +<color name="blue" value="0 0 1"/> +<color name="yellow" value="1 1 0"/> +<color name="orange" value="1 0.647 0"/> +<color name="gold" value="1 0.843 0"/> +<color name="purple" value="0.627 0.125 0.941"/> +<color name="gray" value="0.745"/> +<color name="brown" value="0.647 0.165 0.165"/> +<color name="navy" value="0 0 0.502"/> +<color name="pink" value="1 0.753 0.796"/> +<color name="seagreen" value="0.18 0.545 0.341"/> +<color name="turquoise" value="0.251 0.878 0.816"/> +<color name="violet" value="0.933 0.51 0.933"/> +<color name="darkblue" value="0 0 0.545"/> +<color name="darkcyan" value="0 0.545 0.545"/> +<color name="darkgray" value="0.663"/> +<color name="darkgreen" value="0 0.392 0"/> +<color name="darkmagenta" value="0.545 0 0.545"/> +<color name="darkorange" value="1 0.549 0"/> +<color name="darkred" value="0.545 0 0"/> +<color name="lightblue" value="0.678 0.847 0.902"/> +<color name="lightcyan" value="0.878 1 1"/> +<color name="lightgray" value="0.827"/> +<color name="lightgreen" value="0.565 0.933 0.565"/> +<color name="lightyellow" value="1 1 0.878"/> +<dashstyle name="dashed" value="[4] 0"/> +<dashstyle name="dotted" value="[1 3] 0"/> +<dashstyle name="dash dotted" value="[4 2 1 2] 0"/> +<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/> +<textsize name="large" value="\large"/> +<textsize name="small" value="\small"/> +<textsize name="tiny" value="\tiny"/> +<textsize name="Large" value="\Large"/> +<textsize name="LARGE" value="\LARGE"/> +<textsize name="huge" value="\huge"/> +<textsize name="Huge" value="\Huge"/> +<textsize name="footnote" value="\footnotesize"/> +<textstyle name="center" begin="\begin{center}" end="\end{center}"/> +<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/> +<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/> +<gridsize name="4 pts" value="4"/> +<gridsize name="8 pts (~3 mm)" value="8"/> +<gridsize name="16 pts (~6 mm)" value="16"/> +<gridsize name="32 pts (~12 mm)" value="32"/> +<gridsize name="10 pts (~3.5 mm)" value="10"/> +<gridsize name="20 pts (~7 mm)" value="20"/> +<gridsize name="14 pts (~5 mm)" value="14"/> +<gridsize name="28 pts (~10 mm)" value="28"/> +<gridsize name="56 pts (~20 mm)" value="56"/> +<anglesize name="90 deg" value="90"/> +<anglesize name="60 deg" value="60"/> +<anglesize name="45 deg" value="45"/> +<anglesize name="30 deg" value="30"/> +<anglesize name="22.5 deg" value="22.5"/> +<tiling name="falling" angle="-60" step="4" width="1"/> +<tiling name="rising" angle="30" step="4" width="1"/> +</ipestyle> +<page> +<layer name="alpha"/> +<view layers="alpha" active="alpha"/> +<path layer="alpha" fill="lightblue"> +109.771 601.912 m +159.595 601.797 l +140.058 541.915 l +h +</path> +<path fill="lightblue"> +79.8776 552.169 m +109.756 601.699 l +139.812 542.209 l +h +</path> +<path fill="lightblue"> +69.8453 682.419 m +159.925 712.208 l +90.12 732.039 l +h +</path> +<text matrix="1 0 0 1 -230.178 22.1775" transformations="translations" pos="380 530" stroke="seagreen" type="label" width="76.735" height="8.307" depth="2.32" valign="baseline" size="large">Alpha complex</text> +<text matrix="1 0 0 1 -212.333 18.6762" transformations="translations" pos="282.952 524.893" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text> +<text matrix="1 0 0 1 -210.178 22.1775" transformations="translations" pos="352.708 510.349" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text> +<text matrix="1 0 0 1 -210.178 22.1775" transformations="translations" pos="310.693 578.759" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text> +<text matrix="1 0 0 1 -210.178 22.1775" transformations="translations" pos="375.332 578.49" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text> +<text matrix="1 0 0 1 -210.178 22.1775" transformations="translations" pos="272.179 660.635" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text> +<text matrix="1 0 0 1 -209.478 12.0238" transformations="translations" pos="296.419 724.197" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text> +<text matrix="1 0 0 1 -210.178 22.1775" transformations="translations" pos="375.332 689.453" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text> +<path matrix="1 0 0 1 31.9779 -58.7483" stroke="darkgray"> +58.1341 0 0 58.1341 218.925 692.601 e +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +60 710 m +40 660 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +40 660 m +130 690 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +130 690 m +60 710 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +40 660 m +80 580 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +80 580 m +130 580 l +130 580 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +130 580 m +110 520 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +110 520 m +50 530 l +50 530 l +50 530 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +50 530 m +80 580 l +</path> +<path matrix="1 0 0 1 29.8225 22.1775" stroke="black" pen="heavier"> +130 580 m +130 690 l +</path> +<use matrix="1 0 0 1 142.618 -109.867" name="mark/fdisk(sfx)" pos="108.285 743.72" size="normal" stroke="darkgray" fill="white"/> +<path matrix="1 0 0 1 142.618 -109.867" stroke="darkgray"> +108.275 743.531 m +166.45 743.531 l +</path> +<text matrix="1 0 0 1 142.618 -109.867" transformations="translations" pos="127.397 746.763" stroke="darkgray" type="label" width="6.41" height="4.289" depth="0" valign="baseline">$\alpha$</text> +<use matrix="1 0 0 1 -209.478 12.0238" name="mark/fdisk(sfx)" pos="300 720" size="normal" stroke="black" fill="white"/> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="280 660" size="normal" stroke="black" fill="white"/> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="370 690" size="normal" stroke="black" fill="white"/> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="370 580" size="normal" stroke="black" fill="white"/> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="290 530" size="normal" stroke="black" fill="white"/> +<path matrix="1 0 0 1 -40 -8" stroke="black" pen="heavier"> +150.038 609.9 m +179.929 549.727 l +</path> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="320 580" size="normal" stroke="black" fill="white"/> +<use matrix="1 0 0 1 -210.178 22.1775" name="mark/fdisk(sfx)" pos="350 520" size="normal" stroke="black" fill="white"/> +</page> +</ipe> |