mirror of https://github.com/CGAL/cgal
69 lines
3.0 KiB
Plaintext
69 lines
3.0 KiB
Plaintext
/// \defgroup PkgPlacementOfStreamlines2 2D Placement of Streamlines Reference
|
|
/// \defgroup PkgPlacementOfStreamlines2Concepts Concepts
|
|
/// \ingroup PkgPlacementOfStreamlines2
|
|
/*!
|
|
\addtogroup PkgPlacementOfStreamlines2
|
|
|
|
\cgalPkgDescriptionBegin{2D Placement of Streamlines,PkgPlacementOfStreamlines2Summary}
|
|
\cgalPkgPicture{streamlines-small.jpg}
|
|
\cgalPkgSummaryBegin
|
|
\cgalPkgAuthor{Abdelkrim Mebarki}
|
|
\cgalPkgDesc{Visualizing vector fields is important for many application domains. A good way to do it is to generate streamlines that describe the flow behavior. This package implements the "Farthest Point Seeding" algorithm for placing streamlines in 2D vector fields. It generates a list of streamlines corresponding to an input flow using a specified separating distance. The algorithm uses a Delaunay triangulation to model objects and address different queries, and relies on choosing the centers of the biggest empty circles to start the integration of the streamlines.}
|
|
\cgalPkgManuals{Chapter_2D_Placement_of_Streamlines,PkgPlacementOfStreamlines2}
|
|
\cgalPkgSummaryEnd
|
|
\cgalPkgShortInfoBegin
|
|
\cgalPkgSince{3.2}
|
|
\cgalPkgDependsOn{\ref PkgTriangulation2Summary}
|
|
\cgalPkgBib{cgal:m-ps}
|
|
\cgalPkgLicense{\ref licensesGPL "GPL"}
|
|
\cgalPkgDemo{2D Stream Lines,streamlines.zip}
|
|
\cgalPkgShortInfoEnd
|
|
\cgalPkgDescriptionEnd
|
|
|
|
Vector and direction fields are commonly used for modeling physical
|
|
phenomena, where a direction and magnitude, namely a vector is assigned to
|
|
each point inside a domain.
|
|
|
|
A streamline is a curve everywhere tangent to the field. It can be
|
|
considered as the path traced by an imaginary massless particle
|
|
dropped into a steady fluid flow described by the field.
|
|
|
|
A streamline is represented as a polyline iteratively elongated by
|
|
bidirectional numerical integration started from a seed point, until
|
|
it comes close to another streamline, hits the domain boundary, or
|
|
reaches a critical point.
|
|
|
|
The `CGAL::Stream_lines_2` class consists of saturating the domain with
|
|
a set of tangential streamlines in accordance with a specified
|
|
density.
|
|
|
|
Streamlines are represented as containers of points, manipulated by an
|
|
iterator range of points, and the whole placement is accessible via an
|
|
iterator range of streamlines.
|
|
|
|
The main class in this package, the class `CGAL::Stream_lines_2`, depends on two template
|
|
parameters. The first template parameter stands for a class which
|
|
represents both the vector field and the visualization domain with
|
|
operations on them, and should be instantiated by a model of the concept
|
|
`VectorField_2`. The second template parameter stands for a
|
|
function object that ensures the numerical integration used to
|
|
construct the streamlines, and should be instantiated by a model of the concept
|
|
`Integrator_2`.
|
|
|
|
\cgalClassifedRefPages
|
|
|
|
## Concepts ##
|
|
- `StreamLinesTraits_2`
|
|
- `Integrator_2`
|
|
- `VectorField_2`
|
|
|
|
## Classes ##
|
|
- `CGAL::Stream_lines_2<VectorField_2,Integrator_2>`
|
|
- `CGAL::Euler_integrator_2<VectorField_2>`
|
|
- `CGAL::Runge_kutta_integrator_2<VectorField_2>`
|
|
- `CGAL::Regular_grid_2<StreamLinesTraits_2>`
|
|
- `CGAL::Triangular_field_2<StreamLinesTraits_2>`
|
|
|
|
*/
|
|
|