From d46542162c591f002698a64581e8da75881e8385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Wed, 19 May 2021 22:57:47 +0300 Subject: [PATCH] relative figure width --- Makefile | 4 ++++ layer2img.py | 21 ++++++--------------- mj-msc.tex | 16 +++++++++------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 19ccf44..6d78718 100644 --- a/Makefile +++ b/Makefile @@ -75,6 +75,7 @@ fig8-definition-of-a-bend.pdf: layer2img.py Makefile .faux_test fig5-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test python ./layer2img.py \ + --sizediv=2 \ --group1-table=wm_debug \ --group1-where="name='fig5' AND stage='bbends' AND gen=1" \ --group2-cmap=1 \ @@ -84,6 +85,7 @@ fig5-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test fig5-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test python ./layer2img.py \ + --sizediv=2 \ --group1-table=wm_debug \ --group1-where="name='fig5' AND stage='cinflections' AND gen=1" \ --group2-cmap=1 \ @@ -93,6 +95,7 @@ fig5-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test inflection-1-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test python ./layer2img.py \ + --sizediv=2 \ --group1-table=wm_debug \ --group1-where="name='inflection-1' AND stage='bbends' AND gen=1" \ --group2-cmap=1 \ @@ -102,6 +105,7 @@ inflection-1-gentle-inflection-before.pdf: layer2img.py Makefile .faux_test inflection-1-gentle-inflection-after.pdf: layer2img.py Makefile .faux_test python ./layer2img.py \ + --sizediv=2 \ --group1-table=wm_debug \ --group1-where="name='inflection-1' AND stage='cinflections' AND gen=1" \ --group2-cmap=1 \ diff --git a/layer2img.py b/layer2img.py index 0f3c42a..bcb9925 100644 --- a/layer2img.py +++ b/layer2img.py @@ -6,22 +6,13 @@ import matplotlib.pyplot as plt from matplotlib import rc -#CMAP = 'Set3' +# CMAP = 'Set3' # this is nice too CMAP = 'tab20c' -INCH = 25.4 # mm + BOUNDS = ('xmin', 'ymin', 'xmax', 'ymax') BLACK, GREEN, ORANGE, PURPLE = '#000000', '#1b9e77', '#d95f02', '#7570b3' PSQL_CREDS = "host=127.0.0.1 dbname=osm user=osm password=osm" -def plt_size(string): - if not string: - return None - try: - w, h = string.split("x") - return float(w) / INCH, float(h) / INCH - except Exception as e: - raise argparse.ArgumentTypeError from e - def parse_args(): parser = argparse.ArgumentParser( @@ -38,9 +29,10 @@ def parse_args(): parser.add_argument('--group3-where') parser.add_argument('--group3-cmap', type=bool) + parser.add_argument('--sizediv', + default=1, type=float, help='Size divisor') + parser.add_argument('-o', '--outfile', metavar='') - parser.add_argument( - '--size', type=plt_size, help='Figure size in mm (WWxHH)') parser.add_argument('--clip', type=float, nargs=4, metavar=BOUNDS) return parser.parse_args() @@ -66,8 +58,7 @@ def main(): rc('text', usetex=True) fig, ax = plt.subplots() - if args.size: - fig.set_size_inches(args.size) + fig.set_figwidth(8.27 / args.sizediv) if c := args.clip: ax.set_xlim(left=c[0], right=c[2]) ax.set_ylim(bottom=c[1], top=c[3]) diff --git a/mj-msc.tex b/mj-msc.tex index ea73da7..6694888 100644 --- a/mj-msc.tex +++ b/mj-msc.tex @@ -220,6 +220,7 @@ This section defines vocabulary and terms as defined in the rest of the paper. \item[Bend] is a subset of a line that humans perceive as a curve. For the purpose of this paper, the geometric definition is complex and is discussed in section~\onpage{sec:definition-of-a-bend}. + \end{description} \section{Automated tests} @@ -235,7 +236,7 @@ The full set of test geometries is visualized in figure~\onpage{fig:test-figures}. The figure includes arrows depicting line direction. -\begin{figure}[H] +\begin{figure}[h] \centering \includegraphics[width=\linewidth]{test-figures} \caption{Line geometries for automated test cases} @@ -269,7 +270,7 @@ purposes) using the following algorithm: \section{Definition of a Bend} \label{sec:definition-of-a-bend} -\begin{figure}[H] +\begin{figure}[h] \centering \includegraphics[width=\linewidth]{fig8-definition-of-a-bend} \caption{Originally Figure 8: detected bends are highlighted} @@ -308,12 +309,13 @@ when a single vertex is moved outwards the end of the bend. The example in this section was clear, but insufficient: it does not specify how many vertices should be included when calculating the end-of-bend inflection. We chose the iterative approach -- as long as the angle is "right" -and the distance is decreasing, the algorithm should keep going; practically -not having an upper bound on the number of iterations. +and the distance is decreasing, the algorithm should keep re-assigning vertices +to different bends; practically not having an upper bound on the number of +iterations. Additional example, not found in the original paper, is illustrated in -figure~\ref{fig:inflection-1-gentle-inflection}, which moves two vertices -instead of one. +figure~\ref{fig:inflection-1-gentle-inflection}, which re-assigns two vertices +to the next bend instead of one. \begin{figure}[h] \centering @@ -326,7 +328,7 @@ instead of one. \includegraphics[width=\textwidth]{inflection-1-gentle-inflection-after} \caption{After applying the inflection rule} \end{subfigure} - \caption{Originally Figure 5: gentle inflections at the ends of the bend} + \caption{Gentle inflection at the end of the bend when multiple vertices is moved.} \label{fig:inflection-1-gentle-inflection} \end{figure}