mirror of https://github.com/CGAL/cgal
Picture environment adapted to \includegraphics.
This commit is contained in:
parent
0b6161dd97
commit
b0ecc3e58c
|
|
@ -15,7 +15,8 @@
|
||||||
|
|
||||||
\chapter{Random Sources and Geometric Object Generators}
|
\chapter{Random Sources and Geometric Object Generators}
|
||||||
\label{chapterGenerators}
|
\label{chapterGenerators}
|
||||||
\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\
|
\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\
|
||||||
|
\ccChapterAuthor{Michael Hoffmann}\\
|
||||||
\ccChapterAuthor{Lutz Kettner}\\
|
\ccChapterAuthor{Lutz Kettner}\\
|
||||||
\ccChapterAuthor{Sven Sch\"onherr}
|
\ccChapterAuthor{Sven Sch\"onherr}
|
||||||
|
|
||||||
|
|
@ -32,7 +33,8 @@ third section documents generators for two-dimensional point sets, the
|
||||||
fourth section for three-dimensional point sets. The fifth section
|
fourth section for three-dimensional point sets. The fifth section
|
||||||
presents examples using functions from
|
presents examples using functions from
|
||||||
Section~\ref{sectionGenericFunctions} to generate composed objects
|
Section~\ref{sectionGenericFunctions} to generate composed objects
|
||||||
like segments. Note that the \stl\ algorithm \ccc{random_shuffle} is
|
like segments. The sixth section describes ramdom conves sets.
|
||||||
|
Note that the \stl\ algorithm \ccc{random_shuffle} is
|
||||||
useful in this context to achieve random permutations for otherwise
|
useful in this context to achieve random permutations for otherwise
|
||||||
regular generators (e.g.~points on a grid or segment).
|
regular generators (e.g.~points on a grid or segment).
|
||||||
|
|
||||||
|
|
@ -71,7 +73,6 @@ sets with multiple entries of identical items.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\newpage
|
\newpage
|
||||||
\section{2D Point Generators}
|
\section{2D Point Generators}
|
||||||
|
|
@ -99,8 +100,8 @@ domain (boundary of a square, circle, or segment). Another input
|
||||||
iterator generates equally spaced points from a segment.
|
iterator generates equally spaced points from a segment.
|
||||||
|
|
||||||
All iterators are parameterized with the point type \ccc{P} and all
|
All iterators are parameterized with the point type \ccc{P} and all
|
||||||
with the exception of \ccc{CGAL_Points_on_segment_2} have a second
|
with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second
|
||||||
template argument \ccc{Creator} which defaults to
|
template argument \ccc{Creator} which defaults to the class
|
||||||
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
|
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
|
||||||
For compilers not supporting these kind of default arguments, both
|
For compilers not supporting these kind of default arguments, both
|
||||||
template arguments must be provided when using these generators.}.
|
template arguments must be provided when using these generators.}.
|
||||||
|
|
@ -221,6 +222,14 @@ The generators \ccc{CGAL_Random_points_on_segment_2} and
|
||||||
\end{ccClassTemplate}
|
\end{ccClassTemplate}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection},
|
||||||
|
\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator},
|
||||||
|
\ccTexHtml{\\}{}
|
||||||
|
\ccc{CGAL_Join_input_iterator_1}.
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\subsection{Point Generators as Functions}
|
\subsection{Point Generators as Functions}
|
||||||
|
|
||||||
|
|
@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator.
|
||||||
\ccFunction{template <class OutputIterator, Creator creator>
|
\ccFunction{template <class OutputIterator, Creator creator>
|
||||||
OutputIterator
|
OutputIterator
|
||||||
CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o,
|
CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o,
|
||||||
const P*, Creator creator =
|
Creator creator =
|
||||||
CGAL_Creator_uniform_2<double,P>);}
|
CGAL_Creator_uniform_2<double,P>);}
|
||||||
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
|
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
|
||||||
\times \lceil \sqrt{n}\,\rceil$ grid within the square
|
\times \lceil \sqrt{n}\,\rceil$ grid within the square
|
||||||
|
|
@ -325,6 +334,10 @@ a point set.
|
||||||
\def\ccLongParamLayout{\ccFalse}
|
\def\ccLongParamLayout{\ccFalse}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}.
|
||||||
|
|
||||||
\ccExample
|
\ccExample
|
||||||
|
|
||||||
We want to generate a test set of 1000 points, where 60\% are chosen
|
We want to generate a test set of 1000 points, where 60\% are chosen
|
||||||
|
|
@ -342,13 +355,13 @@ Figure~\ref{figurePointGenerator}}{Figure <A HREF="#PointGenerators">
|
||||||
\noindent
|
\noindent
|
||||||
\hspace*{0.025\textwidth}%
|
\hspace*{0.025\textwidth}%
|
||||||
\begin{minipage}{0.45\textwidth}%
|
\begin{minipage}{0.45\textwidth}%
|
||||||
\epsfig{figure=generators_prog1.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{generators_prog1.ps}
|
||||||
\caption{Output of example program for point generators.}
|
\caption{Output of example program for point generators.}
|
||||||
\label{figurePointGenerator}
|
\label{figurePointGenerator}
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\hspace*{0.05\textwidth}%
|
\hspace*{0.05\textwidth}%
|
||||||
\begin{minipage}{0.45\textwidth}%
|
\begin{minipage}{0.45\textwidth}%
|
||||||
\epsfig{figure=generators_prog2.ps,width=\textwidth}%
|
\includegraphics[width=\textwidth]{generators_prog2.ps}
|
||||||
\caption{Output of example program for point generators working
|
\caption{Output of example program for point generators working
|
||||||
on integer points.}
|
on integer points.}
|
||||||
\label{figureIntegerPointGenerator}
|
\label{figureIntegerPointGenerator}
|
||||||
|
|
@ -479,6 +492,13 @@ denotes \ccc{P} here.
|
||||||
\end{ccClassTemplate}
|
\end{ccClassTemplate}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection},
|
||||||
|
\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator},
|
||||||
|
\ccTexHtml{\\}{}
|
||||||
|
\ccc{CGAL_Join_input_iterator_1}.
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\newpage
|
\newpage
|
||||||
|
|
@ -502,13 +522,13 @@ output.
|
||||||
\noindent
|
\noindent
|
||||||
\hspace*{0.025\textwidth}%
|
\hspace*{0.025\textwidth}%
|
||||||
\begin{minipage}[t]{0.45\textwidth}%
|
\begin{minipage}[t]{0.45\textwidth}%
|
||||||
\epsfig{figure=Segment_generator_prog1.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{Segment_generator_prog1.ps}
|
||||||
\caption{Output of the first example program for the generic generator.}
|
\caption{Output of the first example program for the generic generator.}
|
||||||
\label{figureSegmentGenerator}
|
\label{figureSegmentGenerator}
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\hspace*{0.05\textwidth}%
|
\hspace*{0.05\textwidth}%
|
||||||
\begin{minipage}[t]{0.45\textwidth}%
|
\begin{minipage}[t]{0.45\textwidth}%
|
||||||
\epsfig{figure=Segment_generator_prog2.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{Segment_generator_prog2.ps}
|
||||||
\caption{Output of the second example program for the generic
|
\caption{Output of the second example program for the generic
|
||||||
generator without using intermediate storage.}
|
generator without using intermediate storage.}
|
||||||
\label{figureSegmentGeneratorFan}
|
\label{figureSegmentGeneratorFan}
|
||||||
|
|
@ -556,8 +576,22 @@ used, in this example copied to a windowstream.
|
||||||
</TD></TR></TABLE>
|
</TD></TR></TABLE>
|
||||||
\end{ccHtmlOnly}
|
\end{ccHtmlOnly}
|
||||||
|
|
||||||
|
|
||||||
% +--------------------------------------------------------+
|
% +--------------------------------------------------------+
|
||||||
|
% restore default column and paragraph layout
|
||||||
|
\ccParDims
|
||||||
|
\cgalColumnLayout
|
||||||
\beforecprogskip\parskip
|
\beforecprogskip\parskip
|
||||||
\aftercprogskip0pt
|
\aftercprogskip0pt
|
||||||
|
|
||||||
|
\input{rcs_spec}
|
||||||
|
|
||||||
|
|
||||||
|
% +--------------------------------------------------------+
|
||||||
|
% restore default column and paragraph layout
|
||||||
|
\ccParDims
|
||||||
|
\beforecprogskip\parskip
|
||||||
|
\aftercprogskip0pt
|
||||||
|
|
||||||
|
|
||||||
% EOF
|
% EOF
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
|
|
||||||
\chapter{Random Sources and Geometric Object Generators}
|
\chapter{Random Sources and Geometric Object Generators}
|
||||||
\label{chapterGenerators}
|
\label{chapterGenerators}
|
||||||
\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\
|
\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\
|
||||||
|
\ccChapterAuthor{Michael Hoffmann}\\
|
||||||
\ccChapterAuthor{Lutz Kettner}\\
|
\ccChapterAuthor{Lutz Kettner}\\
|
||||||
\ccChapterAuthor{Sven Sch\"onherr}
|
\ccChapterAuthor{Sven Sch\"onherr}
|
||||||
|
|
||||||
|
|
@ -32,7 +33,8 @@ third section documents generators for two-dimensional point sets, the
|
||||||
fourth section for three-dimensional point sets. The fifth section
|
fourth section for three-dimensional point sets. The fifth section
|
||||||
presents examples using functions from
|
presents examples using functions from
|
||||||
Section~\ref{sectionGenericFunctions} to generate composed objects
|
Section~\ref{sectionGenericFunctions} to generate composed objects
|
||||||
like segments. Note that the \stl\ algorithm \ccc{random_shuffle} is
|
like segments. The sixth section describes ramdom conves sets.
|
||||||
|
Note that the \stl\ algorithm \ccc{random_shuffle} is
|
||||||
useful in this context to achieve random permutations for otherwise
|
useful in this context to achieve random permutations for otherwise
|
||||||
regular generators (e.g.~points on a grid or segment).
|
regular generators (e.g.~points on a grid or segment).
|
||||||
|
|
||||||
|
|
@ -71,7 +73,6 @@ sets with multiple entries of identical items.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\newpage
|
\newpage
|
||||||
\section{2D Point Generators}
|
\section{2D Point Generators}
|
||||||
|
|
@ -99,8 +100,8 @@ domain (boundary of a square, circle, or segment). Another input
|
||||||
iterator generates equally spaced points from a segment.
|
iterator generates equally spaced points from a segment.
|
||||||
|
|
||||||
All iterators are parameterized with the point type \ccc{P} and all
|
All iterators are parameterized with the point type \ccc{P} and all
|
||||||
with the exception of \ccc{CGAL_Points_on_segment_2} have a second
|
with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second
|
||||||
template argument \ccc{Creator} which defaults to
|
template argument \ccc{Creator} which defaults to the class
|
||||||
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
|
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
|
||||||
For compilers not supporting these kind of default arguments, both
|
For compilers not supporting these kind of default arguments, both
|
||||||
template arguments must be provided when using these generators.}.
|
template arguments must be provided when using these generators.}.
|
||||||
|
|
@ -221,6 +222,14 @@ The generators \ccc{CGAL_Random_points_on_segment_2} and
|
||||||
\end{ccClassTemplate}
|
\end{ccClassTemplate}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection},
|
||||||
|
\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator},
|
||||||
|
\ccTexHtml{\\}{}
|
||||||
|
\ccc{CGAL_Join_input_iterator_1}.
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\subsection{Point Generators as Functions}
|
\subsection{Point Generators as Functions}
|
||||||
|
|
||||||
|
|
@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator.
|
||||||
\ccFunction{template <class OutputIterator, Creator creator>
|
\ccFunction{template <class OutputIterator, Creator creator>
|
||||||
OutputIterator
|
OutputIterator
|
||||||
CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o,
|
CGAL_points_on_square_grid_2( double a, size_t n, OutputIterator o,
|
||||||
const P*, Creator creator =
|
Creator creator =
|
||||||
CGAL_Creator_uniform_2<double,P>);}
|
CGAL_Creator_uniform_2<double,P>);}
|
||||||
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
|
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
|
||||||
\times \lceil \sqrt{n}\,\rceil$ grid within the square
|
\times \lceil \sqrt{n}\,\rceil$ grid within the square
|
||||||
|
|
@ -325,6 +334,10 @@ a point set.
|
||||||
\def\ccLongParamLayout{\ccFalse}
|
\def\ccLongParamLayout{\ccFalse}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}.
|
||||||
|
|
||||||
\ccExample
|
\ccExample
|
||||||
|
|
||||||
We want to generate a test set of 1000 points, where 60\% are chosen
|
We want to generate a test set of 1000 points, where 60\% are chosen
|
||||||
|
|
@ -342,13 +355,13 @@ Figure~\ref{figurePointGenerator}}{Figure <A HREF="#PointGenerators">
|
||||||
\noindent
|
\noindent
|
||||||
\hspace*{0.025\textwidth}%
|
\hspace*{0.025\textwidth}%
|
||||||
\begin{minipage}{0.45\textwidth}%
|
\begin{minipage}{0.45\textwidth}%
|
||||||
\epsfig{figure=generators_prog1.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{generators_prog1.ps}
|
||||||
\caption{Output of example program for point generators.}
|
\caption{Output of example program for point generators.}
|
||||||
\label{figurePointGenerator}
|
\label{figurePointGenerator}
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\hspace*{0.05\textwidth}%
|
\hspace*{0.05\textwidth}%
|
||||||
\begin{minipage}{0.45\textwidth}%
|
\begin{minipage}{0.45\textwidth}%
|
||||||
\epsfig{figure=generators_prog2.ps,width=\textwidth}%
|
\includegraphics[width=\textwidth]{generators_prog2.ps}
|
||||||
\caption{Output of example program for point generators working
|
\caption{Output of example program for point generators working
|
||||||
on integer points.}
|
on integer points.}
|
||||||
\label{figureIntegerPointGenerator}
|
\label{figureIntegerPointGenerator}
|
||||||
|
|
@ -479,6 +492,13 @@ denotes \ccc{P} here.
|
||||||
\end{ccClassTemplate}
|
\end{ccClassTemplate}
|
||||||
|
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
|
||||||
|
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection},
|
||||||
|
\ccc{CGAL_copy_n}, \ccc{CGAL_Counting_iterator},
|
||||||
|
\ccTexHtml{\\}{}
|
||||||
|
\ccc{CGAL_Join_input_iterator_1}.
|
||||||
|
|
||||||
|
|
||||||
% +------------------------------------------------------------------------+
|
% +------------------------------------------------------------------------+
|
||||||
\newpage
|
\newpage
|
||||||
|
|
@ -502,13 +522,13 @@ output.
|
||||||
\noindent
|
\noindent
|
||||||
\hspace*{0.025\textwidth}%
|
\hspace*{0.025\textwidth}%
|
||||||
\begin{minipage}[t]{0.45\textwidth}%
|
\begin{minipage}[t]{0.45\textwidth}%
|
||||||
\epsfig{figure=Segment_generator_prog1.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{Segment_generator_prog1.ps}
|
||||||
\caption{Output of the first example program for the generic generator.}
|
\caption{Output of the first example program for the generic generator.}
|
||||||
\label{figureSegmentGenerator}
|
\label{figureSegmentGenerator}
|
||||||
\end{minipage}%
|
\end{minipage}%
|
||||||
\hspace*{0.05\textwidth}%
|
\hspace*{0.05\textwidth}%
|
||||||
\begin{minipage}[t]{0.45\textwidth}%
|
\begin{minipage}[t]{0.45\textwidth}%
|
||||||
\epsfig{figure=Segment_generator_prog2.ps,width=\textwidth}
|
\includegraphics[width=\textwidth]{Segment_generator_prog2.ps}
|
||||||
\caption{Output of the second example program for the generic
|
\caption{Output of the second example program for the generic
|
||||||
generator without using intermediate storage.}
|
generator without using intermediate storage.}
|
||||||
\label{figureSegmentGeneratorFan}
|
\label{figureSegmentGeneratorFan}
|
||||||
|
|
@ -556,8 +576,22 @@ used, in this example copied to a windowstream.
|
||||||
</TD></TR></TABLE>
|
</TD></TR></TABLE>
|
||||||
\end{ccHtmlOnly}
|
\end{ccHtmlOnly}
|
||||||
|
|
||||||
|
|
||||||
% +--------------------------------------------------------+
|
% +--------------------------------------------------------+
|
||||||
|
% restore default column and paragraph layout
|
||||||
|
\ccParDims
|
||||||
|
\cgalColumnLayout
|
||||||
\beforecprogskip\parskip
|
\beforecprogskip\parskip
|
||||||
\aftercprogskip0pt
|
\aftercprogskip0pt
|
||||||
|
|
||||||
|
\input{rcs_spec}
|
||||||
|
|
||||||
|
|
||||||
|
% +--------------------------------------------------------+
|
||||||
|
% restore default column and paragraph layout
|
||||||
|
\ccParDims
|
||||||
|
\beforecprogskip\parskip
|
||||||
|
\aftercprogskip0pt
|
||||||
|
|
||||||
|
|
||||||
% EOF
|
% EOF
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue