Add zoom too
This commit is contained in:
parent
727dadcbdd
commit
d292985a6c
78
Makefile
78
Makefile
@ -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
|
||||
|
86
mj-msc.tex
86
mj-msc.tex
@ -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}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user