DGtal 1.3.0
|
The aim of this class is to compute the measure in the Lebesgues sense of the set of straight lines associated to domains defined as polygons in the (a,b)-parameter space. This parameter space maps the line $ax-y+b=0$ to the point $(a,b)$. More...
#include <DGtal/math/MeasureOfStraightLines.h>
Public Member Functions | |
MeasureOfStraightLines () | |
~MeasureOfStraightLines () | |
void | selfDisplay (std::ostream &out) const |
bool | isValid () const |
double | computeMeasure (const std::vector< double > &a, const std::vector< double > &b) |
double | computeCentroidA (const std::vector< double > &a, const std::vector< double > &b) |
double | computeCentroidB (const std::vector< double > &a, const std::vector< double > &b) |
void | setEpsilon (const double aValue) |
Private Member Functions | |
MeasureOfStraightLines (const MeasureOfStraightLines &other) | |
MeasureOfStraightLines & | operator= (const MeasureOfStraightLines &other) |
double | computeMeasureEdge (double a0, double b0, double a1, double b1) |
double | computeCentroidEdge_a (double a0, double b0, double a1, double b1) |
double | computeCentroidEdge_b (double a0, double b0, double a1, double b1) |
double | __computeCentroidTriApprox_b (double a0, double b0, double a1, double b1) |
double | __computeCentroidEdgeApprox_b (double a0, double b0, double a1, double b1) |
double | __computeCentroidSquare_b (double x1, double y1, double x2, double y2) |
int | sign (const double a) |
Private Attributes | |
double | myEpsilon |
The aim of this class is to compute the measure in the Lebesgues sense of the set of straight lines associated to domains defined as polygons in the (a,b)-parameter space. This parameter space maps the line $ax-y+b=0$ to the point $(a,b)$.
Description of class 'MeasureOfStraightLines'
Aim:
* @inproceedings{COEURJOLLY:2009:HAL-00432711:1, * title = { {M}easure of {S}traight {L}ines and its {A}pplications in {D}igital {G}eometry}, * author = {{C}oeurjolly, {D}avid and {S}ivignon, {I}sabelle}, * booktitle = {13th {I}nternational {W}orkshop on {C}ombinatorial {I}mage {A}nalysis 13th {I}nternational {W}orkshop on {C}ombinatorial {I}mage {A}nalysis }, * publisher = {{R}esearch {P}ublishing {S}ervices }, * pages = {1-12 }, * address = {{C}ancun {M}exique }, * audience = {internationale }, * year = {2009}, * URL = {http://hal.archives-ouvertes.fr/hal-00432711/PDF/mesure.pdf}, * } *
Definition at line 79 of file MeasureOfStraightLines.h.
DGtal::MeasureOfStraightLines::MeasureOfStraightLines | ( | ) |
Constructor.
DGtal::MeasureOfStraightLines::~MeasureOfStraightLines | ( | ) |
Destructor.
|
private |
Copy constructor.
other | the object to clone. Forbidden by default. |
|
private |
Approximate the centroid on 'b' on the trapezioid (a0,0)-(a0,b0)-(a1,b1)-(a1,0) (internal function)
a0 | abscissa first point. |
b0 | ordinate of the first point. |
a1 | abscissa of the second point. |
b1 | ordinate of the second point. |
|
private |
Compute the centroid on 'b' on the rectangular domain with vertices (x1,,y1) - (x2,y2)
x1 | abscissa first point. |
y1 | ordinate of the first point. |
x2 | abscissa of the second point. |
y2 | ordinate of the second point. |
|
private |
Approximate the centroid on 'b' on the triangle (0,0)-(a0,b0)-(a1,b1) (internal function)
a0 | abscissa first point. |
b0 | ordinate of the first point. |
a1 | abscissa of the second point. |
b1 | ordinate of the second point. |
double DGtal::MeasureOfStraightLines::computeCentroidA | ( | const std::vector< double > & | a, |
const std::vector< double > & | b | ||
) |
Compute the abscissa of the centroid of the polygon {(a_i,b_i)} in the (a,b)-parameter space with respect to the measure of lines.
REQUIREMENTS:
a | the a-value of polygon vertices |
b | the b-value of polygon vertices |
Referenced by testUnitSquareCentroid().
double DGtal::MeasureOfStraightLines::computeCentroidB | ( | const std::vector< double > & | a, |
const std::vector< double > & | b | ||
) |
Compute the ordinate of the centroid of the polygon {(a_i,b_i)} in the (a,b)-parameter space with respect to the measure of lines. Note that there is a numerical approximation is performed.
REQUIREMENTS:
a | the a-value of polygon vertices |
b | the b-value of polygon vertices |
Referenced by testUnitSquareCentroid().
|
private |
Compute the abscissa of the centroid associated to an edge (a0,b0)-(a1,b1) It returns the measure of the triangle defined by the origin and the edge.
a0 | abscissa first point. |
b0 | ordinate of the first point. |
a1 | abscissa of the second point. |
b1 | ordinate of the second point. |
|
private |
Compute the ordinate of the centroid associated to an edge (a0,b0)-(a1,b1) It returns the measure of the triangle defined by the origin and the edge.
a0 | abscissa first point. |
b0 | ordinate of the first point. |
a1 | abscissa of the second point. |
b1 | ordinate of the second point. |
double DGtal::MeasureOfStraightLines::computeMeasure | ( | const std::vector< double > & | a, |
const std::vector< double > & | b | ||
) |
Compute the measure of the polygon {(a_i,b_i)} in the (a,b)-parameter space
REQUIREMENTS:
a | the a-value of polygon vertices |
b | the b-value of polygon vertices |
Referenced by testUnitSquare().
|
private |
Compute the measure associated to an edge (a0,b0)-(a1,b1) It returns the measure of the triangle defined by the origin and the edge.
a0 | abscissa first point. |
b0 | ordinate of the first point. |
a1 | abscissa of the second point. |
b1 | ordinate of the second point. |
bool DGtal::MeasureOfStraightLines::isValid | ( | ) | const |
Checks the validity/consistency of the object.
|
private |
Assignment.
other | the object to copy. |
void DGtal::MeasureOfStraightLines::selfDisplay | ( | std::ostream & | out | ) | const |
Writes/Displays the object on an output stream.
out | the output stream where the object is written. |
void DGtal::MeasureOfStraightLines::setEpsilon | ( | const double | aValue | ) |
Set the internal Epsilon threshold for the numerical approximation.
aValue | the new epsilon value |
|
private |
a | a value |
|
private |
Definition at line 171 of file MeasureOfStraightLines.h.