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}
\label{chapterGenerators}
\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\
\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\
\ccChapterAuthor{Michael Hoffmann}\\
\ccChapterAuthor{Lutz Kettner}\\
\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
presents examples using functions from
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
regular generators (e.g.~points on a grid or segment).
@ -71,7 +73,6 @@ sets with multiple entries of identical items.
}
% +------------------------------------------------------------------------+
\newpage
\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.
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
template argument \ccc{Creator} which defaults to
with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second
template argument \ccc{Creator} which defaults to the class
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
For compilers not supporting these kind of default arguments, both
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}
\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}
@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator.
\ccFunction{template <class OutputIterator, Creator creator>
OutputIterator
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>);}
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
\times \lceil \sqrt{n}\,\rceil$ grid within the square
@ -325,6 +334,10 @@ a point set.
\def\ccLongParamLayout{\ccFalse}
\ccSeeAlso
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}.
\ccExample
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
\hspace*{0.025\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.}
\label{figurePointGenerator}
\end{minipage}%
\hspace*{0.05\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
on integer points.}
\label{figureIntegerPointGenerator}
@ -479,6 +492,13 @@ denotes \ccc{P} here.
\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
@ -502,13 +522,13 @@ output.
\noindent
\hspace*{0.025\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.}
\label{figureSegmentGenerator}
\end{minipage}%
\hspace*{0.05\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
generator without using intermediate storage.}
\label{figureSegmentGeneratorFan}
@ -556,8 +576,22 @@ used, in this example copied to a windowstream.
</TD></TR></TABLE>
\end{ccHtmlOnly}
% +--------------------------------------------------------+
% restore default column and paragraph layout
\ccParDims
\cgalColumnLayout
\beforecprogskip\parskip
\aftercprogskip0pt
\input{rcs_spec}
% +--------------------------------------------------------+
% restore default column and paragraph layout
\ccParDims
\beforecprogskip\parskip
\aftercprogskip0pt
% EOF

View File

@ -15,7 +15,8 @@
\chapter{Random Sources and Geometric Object Generators}
\label{chapterGenerators}
\ccChapterSubTitle{\generatorsRev. \ \generatorsDate}\\
\ccChapterRelease{\generatorsRev. \ \generatorsDate}\\
\ccChapterAuthor{Michael Hoffmann}\\
\ccChapterAuthor{Lutz Kettner}\\
\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
presents examples using functions from
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
regular generators (e.g.~points on a grid or segment).
@ -71,7 +73,6 @@ sets with multiple entries of identical items.
}
% +------------------------------------------------------------------------+
\newpage
\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.
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
template argument \ccc{Creator} which defaults to
with the exception of the class \ccc{CGAL_Points_on_segment_2} have a second
template argument \ccc{Creator} which defaults to the class
\ccc{CGAL_Creator_uniform_2<double,P>}\footnote{%
For compilers not supporting these kind of default arguments, both
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}
\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}
@ -233,7 +242,7 @@ Grid points are generated by functions writing to an output iterator.
\ccFunction{template <class OutputIterator, Creator creator>
OutputIterator
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>);}
{ creates the $n$ first points on the regular $\lceil\sqrt{n}\,\rceil
\times \lceil \sqrt{n}\,\rceil$ grid within the square
@ -325,6 +334,10 @@ a point set.
\def\ccLongParamLayout{\ccFalse}
\ccSeeAlso
\ccc{stl::random_shuffle}, \ccc{CGAL_random_selection}.
\ccExample
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
\hspace*{0.025\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.}
\label{figurePointGenerator}
\end{minipage}%
\hspace*{0.05\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
on integer points.}
\label{figureIntegerPointGenerator}
@ -479,6 +492,13 @@ denotes \ccc{P} here.
\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
@ -502,13 +522,13 @@ output.
\noindent
\hspace*{0.025\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.}
\label{figureSegmentGenerator}
\end{minipage}%
\hspace*{0.05\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
generator without using intermediate storage.}
\label{figureSegmentGeneratorFan}
@ -556,8 +576,22 @@ used, in this example copied to a windowstream.
</TD></TR></TABLE>
\end{ccHtmlOnly}
% +--------------------------------------------------------+
% restore default column and paragraph layout
\ccParDims
\cgalColumnLayout
\beforecprogskip\parskip
\aftercprogskip0pt
\input{rcs_spec}
% +--------------------------------------------------------+
% restore default column and paragraph layout
\ccParDims
\beforecprogskip\parskip
\aftercprogskip0pt
% EOF