Picture environment adapted to \includegraphics.

This commit is contained in:
Lutz Kettner 1998-02-10 16:43:17 +00:00
parent 0b6161dd97
commit b0ecc3e58c
2 changed files with 88 additions and 20 deletions

View File

@ -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

View File

@ -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