Add zoom too

This commit is contained in:
Motiejus Jakštys 2021-05-19 22:57:52 +03:00 committed by Motiejus Jakštys
parent 727dadcbdd
commit d292985a6c
2 changed files with 82 additions and 82 deletions

View File

@ -32,15 +32,15 @@ FIGURES = \
RIVERS = \
salvis-25k \
salvis-50k \
salvis-2x50k \
salvis-250k-10x \
salvis-grpk250-2x \
salvis-dp64-50k \
salvis-vw64-50k \
salvis-dpchaikin64-50k \
salvis-vwchaikin64-50k \
salvis-overlaid-dpchaikin64-50k \
salvis-overlaid-vwchaikin64-50k \
salvis-dp64-2x50k \
salvis-vw64-2x50k \
salvis-dpchaikin64-2x50k \
salvis-vwchaikin64-2x50k \
salvis-overlaid-dpchaikin64-2x50k \
salvis-overlaid-vwchaikin64-2x50k \
salvis-wm220-10x \
salvis-wm220-2x \
salvis-wm-overlaid-250k-zoom \
@ -149,20 +149,20 @@ legend_tr = lower right
legend_tl = lower center
define wm_vwdp50k
RIVERS += salvis-$(1)-$(2)-$(3)-50k$(4)
salvis-$(1)-$(2)-$(3)-50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)'
salvis-$(1)-$(2)-$(3)-50k$(4)_1COLOR = orange
salvis-$(1)-$(2)-$(3)-50k$(4)_1LABEL = $(label_$(1))
salvis-$(1)-$(2)-$(3)-50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)'
salvis-$(1)-$(2)-$(3)-50k$(4)_2COLOR = green
salvis-$(1)-$(2)-$(3)-50k$(4)_2LABEL = $(label_$(2))
RIVERS += salvis-$(1)-$(2)-$(3)-1x50k$(4)
salvis-$(1)-$(2)-$(3)-1x50k$(4)_1SELECT = wm_visuals where name='salvis-$(1)'
salvis-$(1)-$(2)-$(3)-1x50k$(4)_1COLOR = orange
salvis-$(1)-$(2)-$(3)-1x50k$(4)_1LABEL = $(label_$(1))
salvis-$(1)-$(2)-$(3)-1x50k$(4)_2SELECT = wm_visuals where name='salvis-$(2)'
salvis-$(1)-$(2)-$(3)-1x50k$(4)_2COLOR = green
salvis-$(1)-$(2)-$(3)-1x50k$(4)_2LABEL = $(label_$(2))
$(if $(3),
salvis-$(1)-$(2)-$(3)-50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)'
salvis-$(1)-$(2)-$(3)-50k$(4)_3LINESTYLE = dotted
salvis-$(1)-$(2)-$(3)-50k$(4)_3LABEL = $(label_$(3))
salvis-$(1)-$(2)-$(3)-1x50k$(4)_3SELECT = wm_visuals where name='salvis-$(3)'
salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LINESTYLE = dotted
salvis-$(1)-$(2)-$(3)-1x50k$(4)_3LABEL = $(label_$(3))
,)
salvis-$(1)-$(2)-$(3)-50k$(4)_QUADRANT = $(4)
salvis-$(1)-$(2)-$(3)-50k$(4)_LEGEND = $(legend_$(4))
salvis-$(1)-$(2)-$(3)-1x50k$(4)_QUADRANT = $(4)
salvis-$(1)-$(2)-$(3)-1x50k$(4)_LEGEND = $(legend_$(4))
endef
$(foreach x,vw64 dp64 vwchaikin64 dpchaikin64,\
$(eval $(call wm_vwdp50k,wm75,$(x),grpk10,)) \
@ -179,32 +179,32 @@ $(eval $(call wm_vwdp50k,wm75,grpk10,,tl))
salvis-25k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-25k_WIDTHDIV = 1
salvis-50k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-50k_WIDTHDIV = 2
salvis-2x50k_1SELECT = wm_visuals where name='salvis-grpk10'
salvis-2x50k_WIDTHDIV = 2
salvis-dp64-50k_1SELECT = wm_visuals where name='salvis-dp64'
salvis-dp64-50k_WIDTHDIV = 2
salvis-dp64-2x50k_1SELECT = wm_visuals where name='salvis-dp64'
salvis-dp64-2x50k_WIDTHDIV = 2
salvis-vw64-50k_1SELECT = wm_visuals where name='salvis-vw64'
salvis-vw64-50k_WIDTHDIV = 2
salvis-vw64-2x50k_1SELECT = wm_visuals where name='salvis-vw64'
salvis-vw64-2x50k_WIDTHDIV = 2
salvis-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-dpchaikin64-50k_WIDTHDIV = 2
salvis-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-dpchaikin64-2x50k_WIDTHDIV = 2
salvis-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-vwchaikin64-50k_WIDTHDIV = 2
salvis-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-vwchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-dpchaikin64-50k_1SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-overlaid-dpchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-dpchaikin64-50k_1COLOR = orange
salvis-overlaid-dpchaikin64-50k_WIDTHDIV = 2
salvis-overlaid-dpchaikin64-50k_QUADRANT = tl
salvis-overlaid-dpchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-dpchaikin64'
salvis-overlaid-dpchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-dpchaikin64-2x50k_1COLOR = orange
salvis-overlaid-dpchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-dpchaikin64-2x50k_QUADRANT = tl
salvis-overlaid-vwchaikin64-50k_1SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-overlaid-vwchaikin64-50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-vwchaikin64-50k_1COLOR = orange
salvis-overlaid-vwchaikin64-50k_WIDTHDIV = 2
salvis-overlaid-vwchaikin64-50k_QUADRANT = tl
salvis-overlaid-vwchaikin64-2x50k_1SELECT = wm_visuals where name='salvis-vwchaikin64'
salvis-overlaid-vwchaikin64-2x50k_2SELECT = wm_visuals where name='salvis-grpk10'
salvis-overlaid-vwchaikin64-2x50k_1COLOR = orange
salvis-overlaid-vwchaikin64-2x50k_WIDTHDIV = 2
salvis-overlaid-vwchaikin64-2x50k_QUADRANT = tl
salvis-wm220_1SELECT = wm_visuals where name='salvis-wm220'
salvis-wm220_WIDTHDIV = 2

View File

@ -246,9 +246,9 @@ simplification.
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-50k}
\includegraphics[width=\textwidth]{salvis-2x50k}
\caption{Example scaled 1:\numprint{50000}.}
\label{fig:salvis-50k}
\label{fig:salvis-2x50k}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
@ -270,60 +270,60 @@ simplification for scale 1:\numprint{50000} and especially for
\begin{figure}[ht]
\centering
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-dp64-50k}
\includegraphics[width=\textwidth]{salvis-dp64-2x50k}
\caption{Using {\DP}.}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-vw64-50k}
\includegraphics[width=\textwidth]{salvis-vw64-2x50k}
\caption{Using {\VW}.}
\end{subfigure}
\caption{Simplified using classical algorithms (1:\numprint{50000}).}
\label{fig:salvis-generalized-50k}
\label{fig:salvis-generalized-1x50k}
\end{figure}
Figure~\ref{fig:salvis-generalized-50k} illustrates the same river bend, but
Figure~\ref{fig:salvis-generalized-1x50k} illustrates the same river bend, but
simplified using {\DP} and {\VW} algorithms. The resulting lines are jagged,
and thus the resulting line looks unlike a real river. To smoothen the jaggedness,
traditionally, Chaikin's\cite{chaikin1974algorithm} is applied after
generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}.
generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-1x50k}.
\begin{figure}[ht!]
\centering
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-dpchaikin64-50k}
\includegraphics[width=\textwidth]{salvis-dpchaikin64-2x50k}
\caption{{\DP} and Chaikin's.}
\label{fig:salvis-dpchaikin64-50k}
\label{fig:salvis-dpchaikin64-2x50k}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-vwchaikin64-50k}
\includegraphics[width=\textwidth]{salvis-vwchaikin64-2x50k}
\caption{{\VW} and Chaikin's.}
\label{fig:salvis-vwchaikin64-50k}
\label{fig:salvis-vwchaikin64-2x50k}
\end{subfigure}
\caption{Simplified and smoothened river (1:\numprint{50000}).}
\label{fig:salvis-generalized-chaikin-50k}
\label{fig:salvis-generalized-chaikin-1x50k}
\end{figure}
\begin{figure}[ht!]
\centering
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-overlaid-dpchaikin64-50k}
\includegraphics[width=\textwidth]{salvis-overlaid-dpchaikin64-2x50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified
(fig.~\ref{fig:salvis-dpchaikin64-50k}).}
\caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified
(fig.~\ref{fig:salvis-dpchaikin64-2x50k}).}
\end{subfigure}
\hfill
\begin{subfigure}[b]{.49\textwidth}
\includegraphics[width=\textwidth]{salvis-overlaid-vwchaikin64-50k}
\includegraphics[width=\textwidth]{salvis-overlaid-vwchaikin64-2x50k}
\caption{Original (fig.~\ref{fig:salvis-50k}) and simplified
(fig.~\ref{fig:salvis-vwchaikin64-50k}.)}
\caption{Original (fig.~\ref{fig:salvis-2x50k}) and simplified
(fig.~\ref{fig:salvis-vwchaikin64-2x50k}.)}
\end{subfigure}
\caption{Zoomed-in simplified and smoothened river and original.}
\label{fig:salvis-overlaid-generalized-chaikin-50k}
\label{fig:salvis-overlaid-generalized-chaikin-1x50k}
\end{figure}
\begin{figure}[b!]
@ -334,7 +334,7 @@ generalization, illustrated in Figure~\ref{fig:salvis-generalized-chaikin-50k}.
\end{figure}
The resulting simplified and smoothened example
(Figure~\onpage{fig:salvis-generalized-chaikin-50k}) yields a more
(Figure~\onpage{fig:salvis-generalized-chaikin-1x50k}) yields a more
aesthetically pleasing result; however, it obscures natural river features.
Given the absence of rocks, the only natural features that influence the river
@ -1394,36 +1394,36 @@ Our generalized results are viewed from the following angles:
\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50k}
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50k}
\caption{2x zoomed-in {\WM} for 1:\numprint{50000}.}
\label{fig:salvis-wm75-grpk10--50k}
\label{fig:salvis-wm75-grpk10--1x50k}
\end{figure}
As one can see in Figure~\ref{fig:salvis-wm75-grpk10--50k}, the illustrations deliver
As one can see in Figure~\ref{fig:salvis-wm75-grpk10--1x50k}, the illustrations deliver
what was promised by the algorithm, but with a few caveats. Left side of the
figure looks reasonably well simplified: long bends remain slightly curved,
small bends are removed or slightly exaggerated.
Figure's~\ref{fig:salvis-wm75-grpk10--50k} left part is clipped to
Figure~\ref{fig:salvis-wm75-grpk10--50ktl}. As one can see, some bends were well
Figure's~\ref{fig:salvis-wm75-grpk10--1x50k} left part is clipped to
Figure~\ref{fig:salvis-wm75-grpk10--1x50ktl}. As one can see, some bends were well
exaggerated, and some bends were eliminated.
\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktl}
\caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.}
\label{fig:salvis-wm75-grpk10--50ktl}
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktl}
\caption{Left part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.}
\label{fig:salvis-wm75-grpk10--1x50ktl}
\end{figure}
Top--right side (clipped in Figure~\ref{fig:salvis-wm75-grpk10--50ktl}) some jagged
Top--right side (clipped in Figure~\ref{fig:salvis-wm75-grpk10--1x50ktl}) some jagged
and sharp bends appear. These will become more pronounced in even larger-scale
simplification in the next section.
\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--50ktr}
\caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--50k}.}
\label{fig:salvis-wm75-grpk10--50ktr}
\includegraphics[width=\textwidth]{salvis-wm75-grpk10--1x50ktr}
\caption{Top--right part of Figure~\ref{fig:salvis-wm75-grpk10--1x50k}.}
\label{fig:salvis-wm75-grpk10--1x50ktr}
\end{figure}
To sum up, mid-scale simplification works well for some geometries, but creates
@ -1526,12 +1526,12 @@ all three shapes: grpk50LT, {\WM}--simplified GDB10LT, and the original GDB10LT.
\begin{figure}[h!]
\centering
\includegraphics[width=\textwidth]{salvis-wm75-grpk50-grpk10-50ktr}
\includegraphics[width=\textwidth]{salvis-wm75-grpk50-grpk10-1x50ktr}
\caption{Top--right side of Figure~\ref{fig:salvis-wm75-grpk50-grpk10}.}
\label{fig:salvis-wm75-grpk50-grpk10-50ktr}
\label{fig:salvis-wm75-grpk50-grpk10-1x50ktr}
\end{figure}
Although figures are almost identical, Figure~\ref{fig:salvis-wm75-grpk50-grpk10-50ktr}
Although figures are almost identical, Figure~\ref{fig:salvis-wm75-grpk50-grpk10-1x50ktr}
illustrates two small bends that have been removed in grpk50LT, but have been
exaggerated by our implementation.
@ -1571,41 +1571,41 @@ needed for small-scale maps (1:\numprint{250000}), we will limit the comparison
in this section to 1:\numprint{50000}.
\begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-dp64-grpk10-50k}
\includegraphics[width=\textwidth]{salvis-wm75-dp64-grpk10-1x50k}
\caption{{\DP} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.}
\label{fig:salvis-wm75-dp64-grpk10-50k}
\label{fig:salvis-wm75-dp64-grpk10-1x50k}
\end{figure}
\begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-dpchaikin64-grpk10-50k}
\includegraphics[width=\textwidth]{salvis-wm75-dpchaikin64-grpk10-1x50k}
\caption{Chaikin--smoothened {\DP} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.}
\label{fig:salvis-wm75-dpchaikin64-grpk10-50k}
\label{fig:salvis-wm75-dpchaikin64-grpk10-1x50k}
\end{figure}
\begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-vw64-grpk10-50k}
\includegraphics[width=\textwidth]{salvis-wm75-vw64-grpk10-1x50k}
\caption{{\VW} (green), {\WM} (orange) and original (black dotted) at
1:\numprint{50000}.}
\label{fig:salvis-wm75-vw64-grpk10-50k}
\label{fig:salvis-wm75-vw64-grpk10-1x50k}
\end{figure}
\begin{figure}[h!]
\includegraphics[width=\textwidth]{salvis-wm75-vwchaikin64-grpk10-50k}
\includegraphics[width=\textwidth]{salvis-wm75-vwchaikin64-grpk10-1x50k}
\caption{Chaikin--smoothened {\VW} (green), {\WM} (orange) and original
(black dotted) at 1:\numprint{50000}.}
\label{fig:salvis-wm75-vwchaikin64-grpk10-50k}
\label{fig:salvis-wm75-vwchaikin64-grpk10-1x50k}
\end{figure}