From 8b8accdb9b2736f67eb887a02c7f852ff4c16a65 Mon Sep 17 00:00:00 2001 From: Vincent Nivoliers <vincent.nivoliers@gmail.com> Date: Mon, 29 Mar 2021 00:16:21 +0200 Subject: [PATCH] translated presentation in english --- Presentation/presentation.tex | 118 +++++++++++++++++----------------- Presentation/ucblalgo.sty | 6 +- 2 files changed, 62 insertions(+), 62 deletions(-) diff --git a/Presentation/presentation.tex b/Presentation/presentation.tex index 8db009b..ff54617 100644 --- a/Presentation/presentation.tex +++ b/Presentation/presentation.tex @@ -9,7 +9,7 @@ \newcommand{\point}{\mathbf{p}} \newcommand{\R}{\mathbb{R}} -\title{Robustesse des algorithmes géométriques : \\ prédicats, filtrage et perturbation} +\title{Robustness of geometric algorothms : \\ predicates, perturbation, filtering} \author{Vincent Nivoliers} @@ -20,22 +20,22 @@ } -\section{Enveloppe Convexe} +\section{Convex Hull} \frame { - \frametitle{Enveloppe convexe} + \frametitle{Convex Hull} \centering \includegraphics[width=0.6\li]{Figures/hull} } \frame { - \frametitle{1 -- trier par angle} + \frametitle{1 -- sort using the angle} \centering \includegraphics[width=0.6\li]{Figures/hull_sort} } \frame { - \frametitle{2 -- balayage} + \frametitle{2 -- sweep} \centering \only<1>{\includegraphics[width=0.6\li]{Figures/partial_hull}}% \only<2>{\includegraphics[width=0.6\li]{Figures/increment_hull_1}}% @@ -45,37 +45,37 @@ } \frame { - \frametitle{Robustesse : alignements de points} + \frametitle{Robustness : aligned points} \centering \includegraphics[width=0.6\li]{Figures/hull_aligned} } \frame { - \frametitle{Algorithme} + \frametitle{Algorithm} \centering \begin{ucblalgo} \SetKwData{pt}{p} - \SetKwData{hull}{enveloppe} - \Algorithme{ - déterminer le point le plus à gauche \; - \only<1>{trier les points par angle \;}% - \only<2>{\hl{trier les points par angle} \;} - $\hull \leftarrow$ une nouvelle pile\; - ajouter les deux premiers points à \hull \; - \PourCh{autre point \pt dans l'ordre}{ - $\pt_0 \leftarrow $ dernier point de l'\hull \; - $\pt_1 \leftarrow $ avant dernier point de l'\hull \; - \Tq{ - \only<1>{$(\pt_0\pt)$ tourne à gauche par rapport à $(\pt_1\pt)$}% - \only<2>{\hl{$(\pt_0\pt)$ tourne à gauche par rapport à $(\pt_1\pt)$}} + \SetKwData{hull}{hull} + \Algorithm{ + determine the leftmost point \; + \only<1>{sort the points according to their angle \;}% + \only<2>{\hl{sort the points according to their angle} \;} + $\hull \leftarrow$ a new stack\; + push the first two points in the \hull \; + \ForEach{ point \pt in the angular order}{ + $\pt_0 \leftarrow $ last point in the \hull \; + $\pt_1 \leftarrow $ before last in the \hull \; + \While{ + \only<1>{$(\pt_0\pt)$ turns left with respect to $(\pt_1\pt)$}% + \only<2>{\hl{$(\pt_0\pt)$ turns left with respect to $(\pt_1\pt)$}} }{ - retirer le sommet de l'\hull \; - $\pt_0 \leftarrow $ dernier point de l'\hull \; - $\pt_1 \leftarrow $ avant dernier point de l'\hull \; + remove the last point in the \hull \; + $\pt_0 \leftarrow $ last point in the \hull \; + $\pt_1 \leftarrow $ before last point in the \hull \; } - ajouter \pt à l'\hull \; + push \pt in the \hull \; } - \Retour{l'\hull} \; + \Return{\hull} \; } \end{ucblalgo} } @@ -83,12 +83,12 @@ \section{Perturbation} \frame{ - \frametitle{Prédicat : orientation} + \frametitle{Predicate : orientation} \centering \includegraphics[width=0.5\li]{Figures/orient} \vspace{8mm} - \begin{myblock}{0.8\li} + \begin{myblock}{0.9\li} \centering $ \det{ @@ -99,14 +99,14 @@ \end{array} \right) } - $ : sinus de l'angle si vecteurs normalisés. + $ : sine of the angle if the vectors are normalized. - \hl{positif, négatif ou nul} + \hl{positive, negative or zero} \end{myblock} } \frame{ - \frametitle{Utilisation pour l'enveloppe convexe} + \frametitle{Usage for a convex hull} \centering \only<1>{\includegraphics[width=0.6\li]{Figures/sort_comparison}}% \only<2>{\includegraphics[width=0.6\li]{Figures/sweep_comparison}} @@ -149,16 +149,16 @@ \vspace{5mm} \begin{myblock}{0.8\li} \begin{enumerate} - \item systématiquement plus de zéro ? - \item facilité d'évaluation ? + \item never returns zero ? + \item easy to compute ? \end{enumerate} \end{myblock} } \frame{ - \frametitle{Rester dans le pétrin} + \frametitle{A first attempt} - Posons que $ \forall(i,j), \eps_{i,j} = \eps > 0$ + Let us use $ \forall(i,j), \eps_{i,j} = \eps > 0$ \begin{equation*} \eps y_1 @@ -170,7 +170,7 @@ \end{equation*} \vspace{5mm} - Si $(x_0,y_0) = (0,1)$ et $(x_1,y_1) = (0,2)$ + When $(x_0,y_0) = (0,1)$ and $(x_1,y_1) = (0,2)$ \begin{equation*} 2\eps @@ -178,12 +178,12 @@ + \eps\eps - \eps\eps = \eps - \quad \Rightarrow \mbox{positif !} + \quad \Rightarrow \mbox{positive !} \end{equation*} \visible<2>{ \vspace{5mm} - Si $(x_0,y_0) = (1,1)$ et $(x_1,y_1) = (2,2)$ + When $(x_0,y_0) = (1,1)$ and $(x_1,y_1) = (2,2)$ \begin{equation*} 2\eps @@ -193,15 +193,15 @@ + \eps\eps - \eps\eps = 0 - \quad \Rightarrow \mbox{arf.} + \quad \Rightarrow \mbox{damned.} \end{equation*} } } \frame{ - \frametitle{Sortir du pétrin} + \frametitle{Ensuring no zero} - Avec la perturbation $ \begin{pmatrix}\eps^1 & \eps^2 \\ \eps^2 & \eps^2\end{pmatrix}$ + Using perturbation $ \begin{pmatrix}\eps^1 & \eps^2 \\ \eps^2 & \eps^2\end{pmatrix}$ \begin{align*} & \eps^1 y_1 @@ -217,46 +217,46 @@ \visible<2->{ \begin{myblock}{0.8\li} \begin{itemize} - \item<1-> si $y_1$ est non nul, renvoyer son signe ; - \item<3-> si $x_0 - x_1 - y_0$ est non nul, renvoyer son signe ; - \item<4-> sinon renvoyer positif. + \item<1-> if $y_1$ is not zero, return its sign ; + \item<3-> if $x_0 - x_1 - y_0$ is not zero, return its sign ; + \item<4-> otherwise return positive. \end{itemize} \end{myblock} } } \frame{ - \frametitle{Calcul exact} + \frametitle{Exact computations} \begin{center} \begin{myblock}{0.8\li} \centering - Il peut arriver que le déterminant ne soit pas nul\\ - mais que l'arrondi en virgule flottante le soit. + The determinant may be non zero\\ + but its rounding with floating numbers is. \end{myblock} \end{center} \visible<2>{ \vspace{8mm} - \textbf{Calculer en précision exacte :} + \textbf{Compute using exact precision :} \vspace{3mm} \begin{itemize} - \item entiers sans limite de taille ; - \item nombre rationels ; - \item opérations dont le résultat est rationnel (pas de racine carrée !) ; - \item le prédicat ne doit prendre en entrée que des nombres initiaux. + \item integers without a size limit ; + \item rational numbers ; + \item operations preserving rational numbers (no square root !) ; + \item the predicates shall only use input quantities, no computed value. \end{itemize} } } \frame{ - \frametitle{Généralisation de l'orientation} + \frametitle{Generalizing orientation} \centering \includegraphics[width=0.3\li]{Figures/generalized_orient} \vspace{8mm} \begin{myblock}{0.8\li} \centering - examiner le signe de : + compute the sign of : $ \det{ \begin{pmatrix} @@ -270,11 +270,11 @@ } \frame{ - \frametitle{Simulation de simplicité (Edelsbrunner \& Mücke 90)} + \frametitle{SOS : Simulation of Simplicity (Edelsbrunner \& Mücke 90)} \begin{center} \begin{myblock}{0.8\li} - Utiliser des \eps{} avec une puissance \hl{exponentielle} en $i$ et $j$ : + use \eps{} with a power increasing \hl{exponentially} with $i$ and $j$ : \begin{equation*} \eps_{i,j} = \eps^{2^{i*d - j}} \end{equation*} @@ -282,7 +282,7 @@ \end{center} \vspace{5mm} - \textbf{Principe :} + \textbf{Principle :} \begin{itemize} \item $\sum_{k=0}^n 2^k = 2^{k+1} - 1$ \item $\prod_{k=0}^n\eps^{2^k} = \eps^{\sum_{k=0}^n2^k} = \eps^{2^{n+1} - 1} >> \eps^{2^{n+1}}$ @@ -290,7 +290,7 @@ } \frame{ - \frametitle{Extraire les termes} + \frametitle{Extracting terms} \begin{equation*} \begin{pmatrix} @@ -303,8 +303,8 @@ \vspace{5mm} \begin{itemize} - \item pour chaque point aligner la perturbation voulue sur la diagonale ; - \item développement par les cofacteurs. + \item for each point align the desired perturbation on the diagonal ; + \item develop using cofactors. \end{itemize} } diff --git a/Presentation/ucblalgo.sty b/Presentation/ucblalgo.sty index e7353f6..911d72d 100644 --- a/Presentation/ucblalgo.sty +++ b/Presentation/ucblalgo.sty @@ -1,5 +1,5 @@ \ProvidesPackage{ucblalgo} -\RequirePackage[vlined, french, nofillcomment]{algorithm2e} +\RequirePackage[vlined, nofillcomment]{algorithm2e} \RequirePackage{xstring} \RequirePackage{ifthen} @@ -79,11 +79,11 @@ \newcommand{\decr}[1]{#1${-}{-}$} \newenvironment{ucblalgo}[1][H]{% - \renewcommand{\algorithmcfname}{Algorithme}% + \renewcommand{\algorithmcfname}{Algorithm}% \IncMargin{0em}% \DontPrintSemicolon% \begin{algorithm}[#1]% - \SetKwBlock{Algorithme}{Algorithme}{Fin}% + \SetKwBlock{Algorithm}{Algorithm}{End}% }{% \end{algorithm}% \DecMargin{0em}% -- GitLab