mirror of https://github.com/CGAL/cgal
Initial version of the documentation.
This commit is contained in:
parent
38b7c42bd6
commit
795a405ef9
|
|
@ -437,6 +437,8 @@ Developers_manual/doc_tex/Developers_manual/fig/reference_counting.pdf -text svn
|
|||
Developers_manual/doc_tex/Developers_manual/fig/use_real.eps -text svneol=unset#application/postscript
|
||||
Developers_manual/doc_tex/Developers_manual/fig/use_real.gif -text svneol=unset#image/gif
|
||||
Developers_manual/doc_tex/Developers_manual/fig/use_real.pdf -text svneol=unset#application/pdf
|
||||
Envelope_2/doc_tex/Envelope_2/fig/min_diag.eps -text svneol=unset#application/postscript
|
||||
Envelope_2/doc_tex/Envelope_2/fig/min_diag.fig -text svneol=unset#application/octet-stream
|
||||
Envelope_2/examples/Envelope_2/ex_envelope_segments.cpp -text
|
||||
Envelope_3/doc_tex/Envelope_3/fig/compare_over_curve.fig -text svneol=unset#application/octet-stream
|
||||
Envelope_3/doc_tex/Envelope_3/fig/compare_over_curve.pstex -text svneol=unset#application/postscript
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
\begin{ccPkgDescription}{2D Envelopes\label{Pkg:Envelope2}}
|
||||
\ccPkgHowToCiteCgal{cgal:w-e2-06}
|
||||
\ccPkgSummary{
|
||||
This package consits of functions that computes the lower (or upper)
|
||||
envelope of a set of arbitrary curves in 2D. The output is
|
||||
represented as an envelope diagram, namely a subdivision of the
|
||||
$x$-axis into intervals, such that the identity of the curves that
|
||||
induce the envelope on each interval is unique.}
|
||||
|
||||
\ccPkgDependsOn{\ccRef[2D Arrangements]{Pkg:Arrangement2}}
|
||||
\ccPkgIntroducedInCGAL{3.3}
|
||||
\ccPkgLicense{\ccLicenseQPL}
|
||||
\end{ccPkgDescription}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
|
||||
A continuous curve $C$ in $\reals^2$ is called {\em $x$-monotone} if
|
||||
every vertical line intersects it at a single point at most. For
|
||||
example, the circle $x^2 + y^2 = 1$ is {\em not} $xy$-monotone as the
|
||||
vertical line $x = 0$ intersects it at $(0, -1)$ and at $(0, 1)$;
|
||||
however, it is possible to split the circle into an upper part and a
|
||||
lower part, such that both these parts are $x$-monotone.
|
||||
|
||||
An $x$-monotone curve can be represented as a univariate function
|
||||
$y = C(x)$, defined over some continuous range $R_C \subseteq \reals$.
|
||||
Given a set $\calC = \{ C_1, C_2, \ldots, C_n \}$ of $x$-monotone
|
||||
curves, their {\em lower envelope} is defined as the point-wise minimum of
|
||||
all curves. Namely, the lower envelope of the set $\calC$ can be
|
||||
defined as the following function:
|
||||
\begin{eqnarray*}
|
||||
\calL_{\calC} (x) = \min_{1 \leq k \leq n}{\overline{C}_k (x)} \ ,
|
||||
\end{eqnarray*}
|
||||
where we define $\overline{C}_k(x) = C_k(x)$ for $x \in R_{C_k}$,
|
||||
and $\overline{C}_k(x) = \infty$ otherwise.
|
||||
|
||||
Similarly, the {\em upper envelope} of $\calC$ is the point-wise maximum of
|
||||
the $x$-monotone curves in the set:
|
||||
\begin{eqnarray*}
|
||||
\calU_{\calC} (x) = \max_{1 \leq k \leq n}{\underline{C}_k (x)} \ ,
|
||||
\end{eqnarray*}
|
||||
where in this case $\underline{C}_k(x) = -\infty$ for $x \nin R_{C_k}$.
|
||||
|
||||
Given a set of $x$-monotone curves $\calC$, the {\em minimization
|
||||
diagram} of $\calC$ is a subdivision of the $x$-axis into cells,
|
||||
such that the identity of the curves that induce the lower envelope
|
||||
over a specific cell of the subdivision (an edge or a vertex) is the
|
||||
same. In non-degenerate situation, an edge --- which represents a
|
||||
continuous interval on the $x$-axis --- is induced by a single
|
||||
curve (or by no curves at all, if there are no $x$-monotone curves
|
||||
defined over the interval), and a vertex is induced by a single curve
|
||||
and corresponds to one of its endpoints, or by two curves and
|
||||
corresponds to their intersection point.
|
||||
The {\em maximization diagram} is symmetrically defined for upper envelopes.
|
||||
In the rest of this chapter, we refer to both these diagrams as
|
||||
{\em envelope diagrams}.
|
||||
|
||||
Lower and upper envelopes can be efficiently computed using a
|
||||
divide-and-conquer approach. First note that the envelope diagram for
|
||||
a single $x$-monotone curve $C_k$ is trivial to compute: we project
|
||||
the boundary of its range of definition $R_{C_k}$ onto the $x$-axis
|
||||
and label the features it induces accordingly. Given a set
|
||||
$\hat{\calC}$ of (non necessarily $x$-monotone) curves in $\reals^2$,
|
||||
we start by subdividing each curve into a finite number of weakly
|
||||
$x$-monotone curves\footnote{To handle degenerate inputs, we consider
|
||||
vertical segments as {\em weakly} $x$-monotone.}, obtaining the set
|
||||
$\calC$. We continue by splitting the set into two disjoint subsets
|
||||
$\calC_1$ and $\calC_2$, and we compute their envelope diagrams
|
||||
recursively. We finally have to merge the diagrams, and we do this in
|
||||
linear time by traversing both diagrams in parallel.
|
||||
|
||||
\begin{figure}[t]
|
||||
\begin{ccTexOnly}
|
||||
\begin{center}
|
||||
\epsfig{figure=Envelope_2/fig/min_diag.eps,width=5in,silent=}
|
||||
\end{center}
|
||||
\end{ccTexOnly}
|
||||
\begin{ccHtmlOnly}
|
||||
<p><center>
|
||||
<img src="./fig/min_diag.gif" border=0 alt="The minimization diagram">
|
||||
</center>
|
||||
\end{ccHtmlOnly}
|
||||
\caption{The lower envelope of eight line segments, labeled
|
||||
$A, \ldots, H$. The minimization diagram is shown at the bottom, where
|
||||
each diagram vertex points to the point associated with it, and the
|
||||
labels of the segment that induce a diagram edge are displayed below
|
||||
this edge. Note that there exists one edge that represents an overlap
|
||||
and there are also a few edges that represent empty
|
||||
intervals.\label{env2_fig:min_diag}}
|
||||
\end{figure}
|
||||
|
||||
\section{Examples}
|
||||
%=================
|
||||
|
||||
\ccIncludeExampleCode{../examples/Envelope_2/ex_envelope_segments.cpp}
|
||||
|
|
@ -0,0 +1,638 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: min_diag.fig
|
||||
%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5
|
||||
%%CreationDate: Thu Aug 3 12:34:18 2006
|
||||
%%For: wein@cgal (Ron Wein,,09-576985,)
|
||||
%%BoundingBox: 0 0 347 248
|
||||
%Magnification: 0.7000
|
||||
%%EndComments
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
$F2psDict /mtrx matrix put
|
||||
/col-1 {0 setgray} bind def
|
||||
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
save
|
||||
newpath 0 248 moveto 0 0 lineto 347 0 lineto 347 248 lineto closepath clip newpath
|
||||
-84.0 381.8 translate
|
||||
1 -1 scale
|
||||
|
||||
/cp {closepath} bind def
|
||||
/ef {eofill} bind def
|
||||
/gr {grestore} bind def
|
||||
/gs {gsave} bind def
|
||||
/sa {save} bind def
|
||||
/rs {restore} bind def
|
||||
/l {lineto} bind def
|
||||
/m {moveto} bind def
|
||||
/rm {rmoveto} bind def
|
||||
/n {newpath} bind def
|
||||
/s {stroke} bind def
|
||||
/sh {show} bind def
|
||||
/slc {setlinecap} bind def
|
||||
/slj {setlinejoin} bind def
|
||||
/slw {setlinewidth} bind def
|
||||
/srgb {setrgbcolor} bind def
|
||||
/rot {rotate} bind def
|
||||
/sc {scale} bind def
|
||||
/sd {setdash} bind def
|
||||
/ff {findfont} bind def
|
||||
/sf {setfont} bind def
|
||||
/scf {scalefont} bind def
|
||||
/sw {stringwidth} bind def
|
||||
/tr {translate} bind def
|
||||
/tnt {dup dup currentrgbcolor
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||
bind def
|
||||
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||
4 -2 roll mul srgb} bind def
|
||||
/DrawEllipse {
|
||||
/endangle exch def
|
||||
/startangle exch def
|
||||
/yrad exch def
|
||||
/xrad exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
/savematrix mtrx currentmatrix def
|
||||
x y tr xrad yrad sc 0 0 1 startangle endangle arc
|
||||
closepath
|
||||
savematrix setmatrix
|
||||
} def
|
||||
|
||||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0 slj 0 slc
|
||||
0.04409 0.04409 sc
|
||||
%
|
||||
% Fig objects follow
|
||||
%
|
||||
%
|
||||
% here starts figure with depth 70
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
7.500 slw
|
||||
n 2580 7425 m 2475 7425 2475 8220 105 arcto 4 {pop} repeat
|
||||
2475 8325 9120 8325 105 arcto 4 {pop} repeat
|
||||
9225 8325 9225 7530 105 arcto 4 {pop} repeat
|
||||
9225 7425 2580 7425 105 arcto 4 {pop} repeat
|
||||
cp gs col6 0.50 tnt ef gr gs col16 s gr
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 55
|
||||
% Ellipse
|
||||
7.500 slw
|
||||
n 2014 3150 101 101 0 360 DrawEllipse gs col7 s gr
|
||||
|
||||
% Ellipse
|
||||
n 9664 8550 101 101 0 360 DrawEllipse gs col7 s gr
|
||||
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 50
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
7.500 slw
|
||||
gs clippath
|
||||
3195 3743 m 3195 3585 l 3105 3585 l 3105 3743 l 3105 3743 l 3150 3623 l 3195 3743 l cp
|
||||
eoclip
|
||||
n 3150 7200 m
|
||||
3150 3600 l gs col15 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 3195 3743 m 3150 3623 l 3105 3743 l col15 s
|
||||
% Polyline
|
||||
n 3600 6840 m
|
||||
3600 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 4050 6840 m
|
||||
4050 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 4500 6840 m
|
||||
4500 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 4950 6840 m
|
||||
4950 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 5400 6840 m
|
||||
5400 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 5850 6840 m
|
||||
5850 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 6300 6840 m
|
||||
6300 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 6750 6840 m
|
||||
6750 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 7200 6840 m
|
||||
7200 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 7650 6840 m
|
||||
7650 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 8100 6840 m
|
||||
8100 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
n 8550 6840 m
|
||||
8550 6750 l gs col15 s gr
|
||||
% Polyline
|
||||
gs clippath
|
||||
8902 6795 m 9060 6795 l 9060 6705 l 8902 6705 l 8902 6705 l 9022 6750 l 8902 6795 l cp
|
||||
eoclip
|
||||
n 2700 6750 m
|
||||
9045 6750 l gs col15 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 8902 6795 m 9022 6750 l 8902 6705 l col15 s
|
||||
% Polyline
|
||||
n 3150 6300 m
|
||||
3060 6300 l gs col15 s gr
|
||||
% Polyline
|
||||
n 3150 5850 m
|
||||
3060 5850 l gs col15 s gr
|
||||
% Polyline
|
||||
n 3150 5400 m
|
||||
3060 5400 l gs col15 s gr
|
||||
% Polyline
|
||||
n 3150 4950 m
|
||||
3060 4950 l gs col15 s gr
|
||||
% Polyline
|
||||
n 3150 4500 m
|
||||
3060 4500 l gs col15 s gr
|
||||
% Polyline
|
||||
n 3150 4050 m
|
||||
3060 4050 l gs col15 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
n 3167 6307 m
|
||||
4067 5407 l gs col8 s gr
|
||||
% Polyline
|
||||
n 3619 5794 m
|
||||
4947 4467 l gs col8 s gr
|
||||
% Polyline
|
||||
7.500 slw
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
3195 6478 m 3195 6285 l 3105 6285 l 3105 6478 l 3105 6478 l 3150 6328 l 3195 6478 l cp
|
||||
eoclip
|
||||
n 3150 7875 m
|
||||
3150 6300 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 3195 6478 m 3150 6328 l 3105 6478 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
3645 6028 m 3645 5835 l 3555 5835 l 3555 6028 l 3555 6028 l 3600 5878 l 3645 6028 l cp
|
||||
eoclip
|
||||
n 3600 7875 m
|
||||
3600 5850 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 3645 6028 m 3600 5878 l 3555 6028 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
4095 5578 m 4095 5385 l 4005 5385 l 4005 5578 l 4005 5578 l 4050 5428 l 4095 5578 l cp
|
||||
eoclip
|
||||
n 4050 7875 m
|
||||
4050 5400 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 4095 5578 m 4050 5428 l 4005 5578 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
4545 5128 m 4545 4935 l 4455 4935 l 4455 5128 l 4455 5128 l 4500 4978 l 4545 5128 l cp
|
||||
eoclip
|
||||
n 4500 7875 m
|
||||
4500 4950 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 4545 5128 m 4500 4978 l 4455 5128 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
4995 6028 m 4995 5835 l 4905 5835 l 4905 6028 l 4905 6028 l 4950 5878 l 4995 6028 l cp
|
||||
eoclip
|
||||
n 4950 7875 m
|
||||
4950 5850 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 4995 6028 m 4950 5878 l 4905 6028 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
5445 5578 m 5445 5385 l 5355 5385 l 5355 5578 l 5355 5578 l 5400 5428 l 5445 5578 l cp
|
||||
eoclip
|
||||
n 5400 7875 m
|
||||
5400 5400 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 5445 5578 m 5400 5428 l 5355 5578 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
6345 6028 m 6345 5835 l 6255 5835 l 6255 6028 l 6255 6028 l 6300 5878 l 6345 6028 l cp
|
||||
eoclip
|
||||
n 6300 7875 m
|
||||
6300 5850 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 6345 6028 m 6300 5878 l 6255 6028 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
6795 5578 m 6795 5385 l 6705 5385 l 6705 5578 l 6705 5578 l 6750 5428 l 6795 5578 l cp
|
||||
eoclip
|
||||
n 6750 7875 m
|
||||
6750 5400 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 6795 5578 m 6750 5428 l 6705 5578 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
7245 6028 m 7245 5835 l 7155 5835 l 7155 6028 l 7155 6028 l 7200 5878 l 7245 6028 l cp
|
||||
eoclip
|
||||
n 7200 7875 m
|
||||
7200 5850 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 7245 6028 m 7200 5878 l 7155 6028 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
7695 6028 m 7695 5835 l 7605 5835 l 7605 6028 l 7605 6028 l 7650 5878 l 7695 6028 l cp
|
||||
eoclip
|
||||
n 7650 7875 m
|
||||
7650 5850 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 7695 6028 m 7650 5878 l 7605 6028 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
8145 6928 m 8145 6735 l 8055 6735 l 8055 6928 l 8055 6928 l 8100 6778 l 8145 6928 l cp
|
||||
eoclip
|
||||
n 8100 7875 m
|
||||
8100 6750 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 8145 6928 m 8100 6778 l 8055 6928 l col0 s
|
||||
% Polyline
|
||||
[60] 0 sd
|
||||
gs clippath
|
||||
8595 6433 m 8595 6240 l 8505 6240 l 8505 6433 l 8505 6433 l 8550 6283 l 8595 6433 l cp
|
||||
eoclip
|
||||
n 8550 7830 m
|
||||
8550 6255 l gs col0 s gr gr
|
||||
[] 0 sd
|
||||
% arrowhead
|
||||
n 8595 6433 m 8550 6283 l 8505 6433 l col0 s
|
||||
% Polyline
|
||||
30.000 slw
|
||||
n 3600 4500 m
|
||||
6300 5850 l gs col8 s gr
|
||||
% Polyline
|
||||
n 4950 5850 m
|
||||
5850 4950 l gs col8 s gr
|
||||
% Polyline
|
||||
n 6750 5400 m
|
||||
6750 4050 l gs col8 s gr
|
||||
% Polyline
|
||||
n 8100 6750 m
|
||||
8100 4500 l gs col8 s gr
|
||||
% Polyline
|
||||
n 7200 5850 m
|
||||
8550 4950 l gs col8 s gr
|
||||
% Polyline
|
||||
n 7650 5850 m
|
||||
8550 6300 l gs col8 s gr
|
||||
% Polyline
|
||||
7.500 slw
|
||||
gs clippath
|
||||
3448 7905 m 3615 7905 l 3615 7845 l 3448 7845 l 3448 7845 l 3568 7875 l 3448 7905 l cp
|
||||
3302 7845 m 3135 7845 l 3135 7905 l 3302 7905 l 3302 7905 l 3182 7875 l 3302 7845 l cp
|
||||
eoclip
|
||||
n 3150 7875 m
|
||||
3600 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 3302 7845 m 3182 7875 l 3302 7905 l 3302 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 3448 7905 m 3568 7875 l 3448 7845 l 3448 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
3898 7905 m 4065 7905 l 4065 7845 l 3898 7845 l 3898 7845 l 4018 7875 l 3898 7905 l cp
|
||||
3752 7845 m 3585 7845 l 3585 7905 l 3752 7905 l 3752 7905 l 3632 7875 l 3752 7845 l cp
|
||||
eoclip
|
||||
n 3600 7875 m
|
||||
4050 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 3752 7845 m 3632 7875 l 3752 7905 l 3752 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 3898 7905 m 4018 7875 l 3898 7845 l 3898 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
4348 7905 m 4515 7905 l 4515 7845 l 4348 7845 l 4348 7845 l 4468 7875 l 4348 7905 l cp
|
||||
4202 7845 m 4035 7845 l 4035 7905 l 4202 7905 l 4202 7905 l 4082 7875 l 4202 7845 l cp
|
||||
eoclip
|
||||
n 4050 7875 m
|
||||
4500 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 4202 7845 m 4082 7875 l 4202 7905 l 4202 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 4348 7905 m 4468 7875 l 4348 7845 l 4348 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
4843 7905 m 5010 7905 l 5010 7845 l 4843 7845 l 4843 7845 l 4963 7875 l 4843 7905 l cp
|
||||
4697 7845 m 4530 7845 l 4530 7905 l 4697 7905 l 4697 7905 l 4577 7875 l 4697 7845 l cp
|
||||
eoclip
|
||||
n 4545 7875 m
|
||||
4995 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 4697 7845 m 4577 7875 l 4697 7905 l 4697 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 4843 7905 m 4963 7875 l 4843 7845 l 4843 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5248 7905 m 5415 7905 l 5415 7845 l 5248 7845 l 5248 7845 l 5368 7875 l 5248 7905 l cp
|
||||
5102 7845 m 4935 7845 l 4935 7905 l 5102 7905 l 5102 7905 l 4982 7875 l 5102 7845 l cp
|
||||
eoclip
|
||||
n 4950 7875 m
|
||||
5400 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5102 7845 m 4982 7875 l 5102 7905 l 5102 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 5248 7905 m 5368 7875 l 5248 7845 l 5248 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
6553 7905 m 6720 7905 l 6720 7845 l 6553 7845 l 6553 7845 l 6673 7875 l 6553 7905 l cp
|
||||
6407 7845 m 6240 7845 l 6240 7905 l 6407 7905 l 6407 7905 l 6287 7875 l 6407 7845 l cp
|
||||
eoclip
|
||||
n 6255 7875 m
|
||||
6705 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 6407 7845 m 6287 7875 l 6407 7905 l 6407 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 6553 7905 m 6673 7875 l 6553 7845 l 6553 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
7003 7905 m 7170 7905 l 7170 7845 l 7003 7845 l 7003 7845 l 7123 7875 l 7003 7905 l cp
|
||||
6857 7845 m 6690 7845 l 6690 7905 l 6857 7905 l 6857 7905 l 6737 7875 l 6857 7845 l cp
|
||||
eoclip
|
||||
n 6705 7875 m
|
||||
7155 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 6857 7845 m 6737 7875 l 6857 7905 l 6857 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 7003 7905 m 7123 7875 l 7003 7845 l 7003 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
7498 7905 m 7665 7905 l 7665 7845 l 7498 7845 l 7498 7845 l 7618 7875 l 7498 7905 l cp
|
||||
7352 7845 m 7185 7845 l 7185 7905 l 7352 7905 l 7352 7905 l 7232 7875 l 7352 7845 l cp
|
||||
eoclip
|
||||
n 7200 7875 m
|
||||
7650 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 7352 7845 m 7232 7875 l 7352 7905 l 7352 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 7498 7905 m 7618 7875 l 7498 7845 l 7498 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
7948 7905 m 8115 7905 l 8115 7845 l 7948 7845 l 7948 7845 l 8068 7875 l 7948 7905 l cp
|
||||
7802 7845 m 7635 7845 l 7635 7905 l 7802 7905 l 7802 7905 l 7682 7875 l 7802 7845 l cp
|
||||
eoclip
|
||||
n 7650 7875 m
|
||||
8100 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 7802 7845 m 7682 7875 l 7802 7905 l 7802 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 7948 7905 m 8068 7875 l 7948 7845 l 7948 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
8398 7905 m 8565 7905 l 8565 7845 l 8398 7845 l 8398 7845 l 8518 7875 l 8398 7905 l cp
|
||||
8252 7845 m 8085 7845 l 8085 7905 l 8252 7905 l 8252 7905 l 8132 7875 l 8252 7845 l cp
|
||||
eoclip
|
||||
n 8100 7875 m
|
||||
8550 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 8252 7845 m 8132 7875 l 8252 7905 l 8252 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 8398 7905 m 8518 7875 l 8398 7845 l 8398 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
6148 7905 m 6315 7905 l 6315 7845 l 6148 7845 l 6148 7845 l 6268 7875 l 6148 7905 l cp
|
||||
5552 7845 m 5385 7845 l 5385 7905 l 5552 7905 l 5552 7905 l 5432 7875 l 5552 7845 l cp
|
||||
eoclip
|
||||
n 5400 7875 m
|
||||
6300 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5552 7845 m 5432 7875 l 5552 7905 l 5552 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% arrowhead
|
||||
n 6148 7905 m 6268 7875 l 6148 7845 l 6148 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
2998 7905 m 3165 7905 l 3165 7845 l 2998 7845 l 2998 7845 l 3118 7875 l 2998 7905 l cp
|
||||
eoclip
|
||||
n 2520 7875 m
|
||||
3150 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 2998 7905 m 3118 7875 l 2998 7845 l 2998 7905 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
8702 7845 m 8535 7845 l 8535 7905 l 8702 7905 l 8702 7905 l 8582 7875 l 8702 7845 l cp
|
||||
eoclip
|
||||
n 8550 7875 m
|
||||
9180 7875 l gs col22 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 8702 7845 m 8582 7875 l 8702 7905 l 8702 7845 l cp gs col22 1.00 shd ef gr col22 s
|
||||
% Polyline
|
||||
n 2025 3150 m 9675 3150 l 9675 8550 l 2025 8550 l
|
||||
cp gs col0 s gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
3285 5985 m
|
||||
gs 1 -1 sc (A) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
4725 4455 m
|
||||
gs 1 -1 sc (B) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
3780 4500 m
|
||||
gs 1 -1 sc (C) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
5580 4950 m
|
||||
gs 1 -1 sc (D) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
6525 4545 m
|
||||
gs 1 -1 sc (E) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
7470 5535 m
|
||||
gs 1 -1 sc (F) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
8325 6120 m
|
||||
gs 1 -1 sc (G) col8 sh gr
|
||||
/Times-Italic ff 254.00 scf sf
|
||||
7830 4635 m
|
||||
gs 1 -1 sc (H) col8 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
3330 8100 m
|
||||
gs 1 -1 sc (A) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
3690 8100 m
|
||||
gs 1 -1 sc (A,B) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
4230 8100 m
|
||||
gs 1 -1 sc (B) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
4680 8100 m
|
||||
gs 1 -1 sc (C) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
5760 8100 m
|
||||
gs 1 -1 sc (C) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
5085 8100 m
|
||||
gs 1 -1 sc (D) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
7335 8100 m
|
||||
gs 1 -1 sc (F) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
7785 8100 m
|
||||
gs 1 -1 sc (G) col21 sh gr
|
||||
/Times-Italic ff 190.50 scf sf
|
||||
8235 8100 m
|
||||
gs 1 -1 sc (G) col21 sh gr
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 40
|
||||
% Ellipse
|
||||
7.500 slw
|
||||
n 3600 5850 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 3150 6300 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4050 5400 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4950 5850 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 6300 5850 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 6750 5400 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 7200 5850 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 7650 5850 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 8550 6300 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 8100 6750 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 5400 5400 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4495 4950 50 50 0 360 DrawEllipse gs col4 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 3150 7870 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 3595 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4045 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4495 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 4945 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 5395 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 6295 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 6745 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 7195 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 7645 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 8095 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% Ellipse
|
||||
n 8545 7875 50 50 0 360 DrawEllipse gs col11 1.00 shd ef gr gs col0 s gr
|
||||
|
||||
% here ends figure;
|
||||
$F2psEnd
|
||||
rs
|
||||
showpage
|
||||
%%Trailer
|
||||
%EOF
|
||||
|
|
@ -0,0 +1,200 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5-alpha5
|
||||
Landscape
|
||||
Center
|
||||
Metric
|
||||
A4
|
||||
70.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 3600 5850 50 50 3600 5850 3650 5850
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 3150 6300 50 50 3150 6300 3200 6300
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 4050 5400 50 50 4050 5400 4100 5400
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 4950 5850 50 50 4950 5850 5000 5850
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 6300 5850 50 50 6300 5850 6350 5850
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 6750 5400 50 50 6750 5400 6800 5400
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 7200 5850 50 50 7200 5850 7250 5850
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 7650 5850 50 50 7650 5850 7700 5850
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 8550 6300 50 50 8550 6300 8600 6300
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 8100 6750 50 50 8100 6750 8150 6750
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 5400 5400 50 50 5400 5400 5450 5400
|
||||
1 3 0 1 0 4 40 -1 20 0.000 1 0.0000 4495 4950 50 50 4495 4950 4545 4950
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 3150 7870 50 50 3150 7870 3200 7870
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 3595 7875 50 50 3595 7875 3645 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 4045 7875 50 50 4045 7875 4095 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 4495 7875 50 50 4495 7875 4545 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 4945 7875 50 50 4945 7875 4995 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 5395 7875 50 50 5395 7875 5445 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 6295 7875 50 50 6295 7875 6345 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 6745 7875 50 50 6745 7875 6795 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 7195 7875 50 50 7195 7875 7245 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 7645 7875 50 50 7645 7875 7695 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 8095 7875 50 50 8095 7875 8145 7875
|
||||
1 3 0 1 0 11 40 -1 20 0.000 1 0.0000 8545 7875 50 50 8545 7875 8595 7875
|
||||
1 3 0 1 7 7 55 -1 -1 0.000 1 0.0000 2014 3150 101 101 2014 3150 2115 3150
|
||||
1 3 0 1 7 7 55 -1 -1 0.000 1 0.0000 9664 8550 101 101 9664 8550 9765 8550
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 120.00
|
||||
3150 7200 3150 3600
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3600 6840 3600 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
4050 6840 4050 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
4500 6840 4500 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
4950 6840 4950 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
5400 6840 5400 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
5850 6840 5850 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
6300 6840 6300 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
6750 6840 6750 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
7200 6840 7200 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
7650 6840 7650 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8100 6840 8100 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8550 6840 8550 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 120.00
|
||||
2700 6750 9045 6750
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 6300 3060 6300
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 5850 3060 5850
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 5400 3060 5400
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 4950 3060 4950
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 4500 3060 4500
|
||||
2 1 0 1 15 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3150 4050 3060 4050
|
||||
2 1 0 2 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3167 6307 4067 5407
|
||||
2 1 0 2 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3619 5794 4947 4467
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
3150 7875 3150 6300
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
3600 7875 3600 5850
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
4050 7875 4050 5400
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
4500 7875 4500 4950
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
4950 7875 4950 5850
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
5400 7875 5400 5400
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
6300 7875 6300 5850
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
6750 7875 6750 5400
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
7200 7875 7200 5850
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
7650 7875 7650 5850
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
8100 7875 8100 6750
|
||||
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 1.00 90.00 150.00
|
||||
8550 7830 8550 6255
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
3600 4500 6300 5850
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
4950 5850 5850 4950
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
6750 5400 6750 4050
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
8100 6750 8100 4500
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
7200 5850 8550 4950
|
||||
2 1 0 3 8 7 50 -1 -1 0.000 0 0 -1 0 0 2
|
||||
7650 5850 8550 6300
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
3150 7875 3600 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
3600 7875 4050 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
4050 7875 4500 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
4545 7875 4995 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
4950 7875 5400 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
6255 7875 6705 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
6705 7875 7155 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
7200 7875 7650 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
7650 7875 8100 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
8100 7875 8550 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
1 1 1.00 60.00 120.00
|
||||
5400 7875 6300 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 1.00 60.00 120.00
|
||||
2520 7875 3150 7875
|
||||
2 1 0 1 22 7 50 -1 -1 0.000 0 0 -1 0 1 2
|
||||
1 1 1.00 60.00 120.00
|
||||
8550 7875 9180 7875
|
||||
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
2025 3150 9675 3150 9675 8550 2025 8550 2025 3150
|
||||
2 4 0 1 16 6 70 -1 30 0.000 0 0 7 0 0 5
|
||||
9225 8325 2475 8325 2475 7425 9225 7425 9225 8325
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 165 3285 5985 A\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 180 4725 4455 B\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 180 3780 4500 C\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 210 5580 4950 D\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 165 6525 4545 E\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 165 7470 5535 F\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 210 8325 6120 G\001
|
||||
4 0 8 50 -1 3 16 0.0000 0 195 195 7830 4635 H\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 120 3330 8100 A\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 150 285 3690 8100 A,B\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 120 4230 8100 B\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 135 4680 8100 C\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 135 5760 8100 C\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 135 5085 8100 D\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 120 7335 8100 F\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 135 7785 8100 G\001
|
||||
4 0 21 50 -1 3 12 0.0000 0 120 135 8235 8100 G\001
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
\RCSdef{\EnvelopePlnRefRev}{$Id$}
|
||||
\RCSdefDate{\EnvelopePlnRefDate}{$Date$}
|
||||
|
||||
\ccParDims
|
||||
|
||||
\ccUserChapter{Envelopes of Curves in 2D}
|
||||
|
||||
%\input{Envelope_2/PkgDescription.tex}
|
||||
|
||||
\begingroup
|
||||
\label{chapter_Envelope_2}
|
||||
\ccChapterAuthor{Ron Wein}
|
||||
|
||||
\lcTex{%
|
||||
\newlength{\widthExtra}\setlength{\widthExtra}{1.1cm}
|
||||
\newlength{\widthLineReal}\setlength{\widthLineReal}{\linewidth}
|
||||
\addtolength{\widthLineReal}{-\widthExtra}
|
||||
\newlength{\minipageSpace}\setlength{\minipageSpace}{0.2cm}
|
||||
|
||||
\newlength{\widthLeft}
|
||||
\newlength{\widthRight}
|
||||
}
|
||||
|
||||
\newcommand{\reals}{\mathbb{R}}
|
||||
\newcommand{\calC}{{\cal C}}
|
||||
\newcommand{\calL}{{\cal L}}
|
||||
\newcommand{\calU}{{\cal U}}
|
||||
\newcommand{\eps}{{\varepsilon}}
|
||||
\newcommand{\Cpp}{{C}{\tt ++}}
|
||||
|
||||
\input{Envelope_2/envelope}
|
||||
\endgroup
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
% ===============================================================
|
||||
\section*{Introduction}
|
||||
\label{env2_ref_sec:intro}
|
||||
% ========================
|
||||
|
||||
This package consits of functions that compute the lower (or upper)
|
||||
envelope of a set of arbitrary curves in 2D. The output is
|
||||
represented as an envelope diagram, namely a subdivision of the
|
||||
$x$-axis into intervals, such that the identity of the curves that
|
||||
induce the envelope over each interval is unique.
|
||||
|
||||
\subsection*{Functions}
|
||||
|
||||
\ccRefIdfierPage{CGAL::lower_envelope_2}\\
|
||||
\ccRefIdfierPage{CGAL::upper_envelope_2}\\
|
||||
\ccRefIdfierPage{CGAL::lower_envelope_x_monotone_2}\\
|
||||
\ccRefIdfierPage{CGAL::upper_envelope_x_monotone_2}
|
||||
|
||||
\subsection*{Concepts}
|
||||
|
||||
\ccRefConceptPage{EnvelopeDiagram_1}
|
||||
|
||||
\subsection*{Classes}
|
||||
|
||||
\ccRefIdfierPage{CGAL::Env_default_diagram_1<Traits>}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: lower_envelope_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% |
|
||||
% | Package: Envelope_2
|
||||
% |
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
\ccRefPageBegin
|
||||
|
||||
\begin{ccRefFunction}{lower_envelope_2}
|
||||
|
||||
\ccInclude{CGAL/envelope_2.h}
|
||||
|
||||
\ccFunction{template<class InputIterator, class EnvelopeDiagram>
|
||||
void lower_envelope_2 (InputIterator begin, InputIterator end,
|
||||
EnvelopeDiagram& diag);}
|
||||
{Computes the lower envelope of a set of curves in $\reals^2$,
|
||||
as given by the range \ccc{[begin, end)}. The lower envelope is
|
||||
represented using the output minimization diagram \ccc{diag},
|
||||
which must be a model of the \ccc{EnvelopeDiagram_1} concept.
|
||||
\ccPrecond{The value-type of \ccc{InputIterator} is
|
||||
\ccc{EnvelopeDiagram::Traits_2::Curve_2}.}}
|
||||
|
||||
\end{ccRefFunction}
|
||||
|
||||
\ccRefPageEnd
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: lower_envelope_x_monotone_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% |
|
||||
% | Package: Envelope_2
|
||||
% |
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
\ccRefPageBegin
|
||||
|
||||
\begin{ccRefFunction}{lower_envelope_x_monotone_2}
|
||||
|
||||
\ccInclude{CGAL/envelope_2.h}
|
||||
|
||||
\ccFunction{template<class InputIterator, class EnvelopeDiagram>
|
||||
void lower_envelope_x_monotone_2
|
||||
(InputIterator begin, InputIterator end,
|
||||
EnvelopeDiagram& diag);}
|
||||
{Computes the lower envelope of a set of $x$-monotone curves in $\reals^2$,
|
||||
as given by the range \ccc{[begin, end)}. The lower envelope is
|
||||
represented using the output minimization diagram \ccc{diag},
|
||||
which must be a model of the \ccc{EnvelopeDiagram_1} concept.
|
||||
\ccPrecond{The value-type of \ccc{InputIterator} is
|
||||
\ccc{EnvelopeDiagram::Traits_2::X_monotone_curve_2}.}}
|
||||
|
||||
\end{ccRefFunction}
|
||||
|
||||
\ccRefPageEnd
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
\RCSdef{\EnvelopePlnRefRev}{$Revision$}
|
||||
\RCSdefDate{\EnvelopePlnRefDate}{$Date$}
|
||||
\clearpage
|
||||
\ccRefChapter{Envelopes of Curves in 2D}
|
||||
\label{chapterEnvelope2Ref}
|
||||
|
||||
\ccChapterAuthor{Ron Wein}
|
||||
|
||||
\newcommand{\reals}{\mathbb{R}}
|
||||
|
||||
\input{Envelope_3_ref/intro}
|
||||
\input{Envelope_3_ref/lower_envelope_2}
|
||||
\input{Envelope_3_ref/upper_envelope_2}
|
||||
\input{Envelope_3_ref/lower_envelope_x_monotone_2}
|
||||
\input{Envelope_3_ref/upper_envelope_x_monotone_2}
|
||||
%\input{Envelope_3_ref/EnvelopeDiagram}
|
||||
%\input{Envelope_3_ref/Env_default_diagram}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: upper_envelope_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% |
|
||||
% | Package: Envelope_2
|
||||
% |
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
\ccRefPageBegin
|
||||
|
||||
\begin{ccRefFunction}{upper_envelope_2}
|
||||
|
||||
\ccInclude{CGAL/envelope_2.h}
|
||||
|
||||
\ccFunction{template<class InputIterator, class EnvelopeDiagram>
|
||||
void upper_envelope_2 (InputIterator begin, InputIterator end,
|
||||
EnvelopeDiagram& diag);}
|
||||
{Computes the upper envelope of a set of curves in $\reals^2$,
|
||||
as given by the range \ccc{[begin, end)}. The upper envelope is
|
||||
represented using the output maximization diagram \ccc{diag},
|
||||
which must be a model of the \ccc{EnvelopeDiagram_1} concept.
|
||||
\ccPrecond{The value-type of \ccc{InputIterator} is
|
||||
\ccc{EnvelopeDiagram::Traits_2::Curve_2}.}}
|
||||
|
||||
\end{ccRefFunction}
|
||||
|
||||
\ccRefPageEnd
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: upper_envelope_x_monotone_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% |
|
||||
% | Package: Envelope_2
|
||||
% |
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
\ccRefPageBegin
|
||||
|
||||
\begin{ccRefFunction}{upper_envelope_x_monotone_2}
|
||||
|
||||
\ccInclude{CGAL/envelope_2.h}
|
||||
|
||||
\ccFunction{template<class InputIterator, class EnvelopeDiagram>
|
||||
void upper_envelope_x_monotone_2
|
||||
(InputIterator begin, InputIterator end,
|
||||
EnvelopeDiagram& diag);}
|
||||
{Computes the upper envelope of a set of $x$-monotone curves in $\reals^2$,
|
||||
as given by the range \ccc{[begin, end)}. The upper envelope is
|
||||
represented using the output maximization diagram \ccc{diag},
|
||||
which must be a model of the \ccc{EnvelopeDiagram_1} concept.
|
||||
\ccPrecond{The value-type of \ccc{InputIterator} is
|
||||
\ccc{EnvelopeDiagram::Traits_2::X_monotone_curve_2}.}}
|
||||
|
||||
\end{ccRefFunction}
|
||||
|
||||
\ccRefPageEnd
|
||||
|
|
@ -1,81 +1,81 @@
|
|||
//! \file examples/Example_2/ex_envelope_segments.cpp
|
||||
// Constructing the lower envelope of a set of segments.
|
||||
|
||||
#include <CGAL/Gmpq.h>
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Arr_segment_traits_2.h>
|
||||
#include <CGAL/Arr_consolidated_curve_data_traits_2.h>
|
||||
#include <CGAL/Env_default_diagram_1.h>
|
||||
#include <CGAL/envelope_2.h>
|
||||
|
||||
#include <list>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::Gmpq Number_type;
|
||||
typedef CGAL::Cartesian<Number_type> Kernel;
|
||||
typedef CGAL::Arr_segment_traits_2<Kernel> Segment_traits_2;
|
||||
typedef Segment_traits_2::X_monotone_curve_2 Segment_2;
|
||||
typedef CGAL::Arr_consolidated_curve_data_traits_2
|
||||
<Segment_traits_2, char> Traits_2;
|
||||
typedef Traits_2::Point_2 Point_2;
|
||||
typedef Traits_2::X_monotone_curve_2 Labeled_segment_2;
|
||||
typedef CGAL::Env_default_diagram_1<Traits_2> Diagram_1;
|
||||
|
||||
int main ()
|
||||
{
|
||||
// Consrtuct the input segments and label them 'A' ... 'H'.
|
||||
std::list<Labeled_segment_2> segments;
|
||||
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (0, 1),
|
||||
Point_2 (2, 3)), 'A'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (1, 2),
|
||||
Point_2 (4, 5)), 'B'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (1, 5),
|
||||
Point_2 (7, 2)), 'C'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (4, 2),
|
||||
Point_2 (6, 4)), 'D'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (8, 3),
|
||||
Point_2 (8, 5)), 'E'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (9, 2),
|
||||
Point_2 (12, 4)), 'F'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (10, 2),
|
||||
Point_2 (12, 1)), 'G'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (11, 0),
|
||||
Point_2 (11, 5)), 'H'));
|
||||
|
||||
// Compute the minimization diagram that represents their lower envelope.
|
||||
Diagram_1 min_diag;
|
||||
|
||||
lower_envelope_x_monotone_2 (segments.begin(), segments.end(),
|
||||
min_diag);
|
||||
|
||||
// Print the minimization diagram.
|
||||
Diagram_1::Edge_const_handle e = min_diag.leftmost();
|
||||
Diagram_1::Vertex_const_handle v;
|
||||
Diagram_1::Curve_const_iterator cit;
|
||||
|
||||
while (e != min_diag.rightmost())
|
||||
{
|
||||
std::cout << "Edge:";
|
||||
if (! e->is_empty())
|
||||
{
|
||||
for (cit = e->curves_begin(); cit != e->curves_end(); ++cit)
|
||||
std::cout << ' ' << cit->data().front();
|
||||
}
|
||||
else
|
||||
std::cout << "[empty]";
|
||||
std::cout << std::endl;
|
||||
|
||||
v = e->right();
|
||||
std::cout << "Vertex (" << v->point() << "):";
|
||||
for (cit = v->curves_begin(); cit != v->curves_end(); ++cit)
|
||||
std::cout << ' ' << cit->data().front();
|
||||
std::cout << std::endl;
|
||||
|
||||
e = v->right();
|
||||
}
|
||||
CGAL_assertion (e->is_empty());
|
||||
std::cout << "Edge: [empty]" << std::endl;
|
||||
|
||||
return (0);
|
||||
}
|
||||
//! \file examples/Example_2/ex_envelope_segments.cpp
|
||||
// Constructing the lower envelope of a set of segments.
|
||||
|
||||
#include <CGAL/Gmpq.h>
|
||||
#include <CGAL/Cartesian.h>
|
||||
#include <CGAL/Arr_segment_traits_2.h>
|
||||
#include <CGAL/Arr_consolidated_curve_data_traits_2.h>
|
||||
#include <CGAL/Env_default_diagram_1.h>
|
||||
#include <CGAL/envelope_2.h>
|
||||
|
||||
#include <list>
|
||||
#include <iostream>
|
||||
|
||||
typedef CGAL::Gmpq Number_type;
|
||||
typedef CGAL::Cartesian<Number_type> Kernel;
|
||||
typedef CGAL::Arr_segment_traits_2<Kernel> Segment_traits_2;
|
||||
typedef Segment_traits_2::X_monotone_curve_2 Segment_2;
|
||||
typedef CGAL::Arr_consolidated_curve_data_traits_2
|
||||
<Segment_traits_2, char> Traits_2;
|
||||
typedef Traits_2::Point_2 Point_2;
|
||||
typedef Traits_2::X_monotone_curve_2 Labeled_segment_2;
|
||||
typedef CGAL::Env_default_diagram_1<Traits_2> Diagram_1;
|
||||
|
||||
int main ()
|
||||
{
|
||||
// Consrtuct the input segments and label them 'A' ... 'H'.
|
||||
std::list<Labeled_segment_2> segments;
|
||||
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (0, 1),
|
||||
Point_2 (2, 3)), 'A'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (1, 2),
|
||||
Point_2 (4, 5)), 'B'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (1, 5),
|
||||
Point_2 (7, 2)), 'C'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (4, 2),
|
||||
Point_2 (6, 4)), 'D'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (8, 3),
|
||||
Point_2 (8, 6)), 'E'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (9, 2),
|
||||
Point_2 (12, 4)), 'F'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (10, 2),
|
||||
Point_2 (12, 1)), 'G'));
|
||||
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (11, 0),
|
||||
Point_2 (11, 5)), 'H'));
|
||||
|
||||
// Compute the minimization diagram that represents their lower envelope.
|
||||
Diagram_1 min_diag;
|
||||
|
||||
lower_envelope_x_monotone_2 (segments.begin(), segments.end(),
|
||||
min_diag);
|
||||
|
||||
// Print the minimization diagram.
|
||||
Diagram_1::Edge_const_handle e = min_diag.leftmost();
|
||||
Diagram_1::Vertex_const_handle v;
|
||||
Diagram_1::Curve_const_iterator cit;
|
||||
|
||||
while (e != min_diag.rightmost())
|
||||
{
|
||||
std::cout << "Edge:";
|
||||
if (! e->is_empty())
|
||||
{
|
||||
for (cit = e->curves_begin(); cit != e->curves_end(); ++cit)
|
||||
std::cout << ' ' << cit->data().front();
|
||||
}
|
||||
else
|
||||
std::cout << "[empty]";
|
||||
std::cout << std::endl;
|
||||
|
||||
v = e->right();
|
||||
std::cout << "Vertex (" << v->point() << "):";
|
||||
for (cit = v->curves_begin(); cit != v->curves_end(); ++cit)
|
||||
std::cout << ' ' << cit->data().front();
|
||||
std::cout << std::endl;
|
||||
|
||||
e = v->right();
|
||||
}
|
||||
CGAL_assertion (e->is_empty());
|
||||
std::cout << "Edge: [empty]" << std::endl;
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue