Home | Develop | Download | Contact
Namespaces | Estructuras de datos
Clase Pds::Circle

Clase que implementa un circulo en 2D. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 

Estructuras de datos

class  Pds::Circle
 La clase tipo Pds::Circle . Esta clase genera un objeto con dos parámetros xc1, xc2 y r. Para usar incluir Pds/Circle. Más...
 

Varios tipos de constructores

Crean una objeto Pds::Circle

 Pds::Circle::Circle (void)
 Crea un objeto de tipo Pds::Circle. Más...
 
 Pds::Circle::Circle (double xc1, double xc2, double r)
 Crea un objeto de tipo Pds::Circle. Más...
 
 Pds::Circle::Circle (const Pds::Vector &xc, double r)
 Crea un objeto de tipo Pds::Circle. Más...
 
 Pds::Circle::Circle (const Pds::Point2D &xc, double r)
 Crea un objeto de tipo Pds::Circle. Más...
 
 Pds::Circle::Circle (const Pds::Circle &B)
 Crea un objeto de tipo Pds::Circle copiando datos desde otra. Más...
 
 Pds::Circle::~Circle ()
 

Get samples

Pds::Matrix Pds::Circle::RandPerimeter (unsigned int L) const
 Retorna, en las lineas de la matriz, muestras que describen el perímetro del círculo. Más...
 
Pds::Matrix Pds::Circle::RandSamples (unsigned int L) const
 Retorna, en las lineas de la matriz, muestras que describen el círculo interno. Más...
 

Eval samples

Pds::Vector Pds::Circle::EvalSamples (const Pds::Matrix &X) const
 Evalua cada linea $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$ en la ecuación $f(\mathbf{x}^{(l)})$. Más...
 
double Pds::Circle::Evaluate (double x1, double x2) const
 Evalua un punto (x1,x2) en el circulo f(x1,x2). Más...
 
double Pds::Circle::Evaluate (const Pds::Point2D &p) const
 Evalua un punto p=(x1,x2) en el circulo f(x1,x2). Más...
 

Get data

double Pds::Circle::GetRadius (void) const
 Retorna el radio del círculo. Más...
 
Pds::Vector Pds::Circle::GetCentroid (void) const
 Retorna el centroide del círculo. Más...
 
double Pds::Circle::GetArea (void) const
 Retorna el area $\pi r^2$ del círculo. Más...
 

Memory Pds::Circle

Pds::CirclePds::Circle::operator= (const Pds::Circle &B)
 Copia en si mismo (A), un Shape B. Este operador es similar al método Copy(). Más...
 
bool Pds::Circle::Copy (const Pds::Circle &B)
 Copia en si mismo (A), el contenido de un Shape B. Este método es similar a usar el operador = . Más...
 
void Pds::Circle::MakeEmpty (void)
 Cera los datos internos. Más...
 

State Pds::Circle

bool Pds::Circle::IsEmpty (void) const
 Verifica si el círculo es válido. Más...
 
bool Pds::Circle::IsInside (double x1, double x2) const
 Verifica si un elemento esta en el círculo o la circunferencia. Más...
 
bool Pds::Circle::IsInside (const Pds::Point2D &p) const
 Verifica si un elemento esta en el círculo o la circunferencia. Más...
 

Mostrando datos

void Pds::Circle::Print (std::string str="") const
 Muestra en pantalla el contenido de Pds::Circle, elementos separados por tabulador. Más...
 

Métodos para exportar e importar Json con Pds::Circle.

Herramientas genéricas que pueden ser usadas desde Pds::Circle

Pds::Json Pds::Circle::ToJson (void) const
 Retorna un objeto Pds::Json con el contenido del objeto. Más...
 
bool Pds::Circle::FromJson (const Pds::Json &J)
 Lee un objeto Pds::Json busca la etiqueta "Circle" y lo carga. El objeto debe tener al menos los siguientes dados. Más...
 

Operadores no miembros de Circle

Descripcion de algunos operadores habilitados a trabajar con Pds::Circle.

std::ostream & operator<< (std::ostream &out, const Pds::Circle &z)
 Retorna el contenido del objeto por la salida estándar. Más...
 

Descripción detallada

Clase que implementa un circulo en 2D.

#include <Pds/Circle>

Documentación de las funciones

◆ Circle() [1/5]

Pds::Circle::Circle ( void  )

Crea un objeto de tipo Pds::Circle.

◆ Circle() [2/5]

Pds::Circle::Circle ( double  xc1,
double  xc2,
double  r 
)

Crea un objeto de tipo Pds::Circle.

El círculo se define por $\mathbf{x}_{c}=(x_{c1},x_{c2})$ y $r$, donde:

\[(x_1-x_{c1})^2+(x_2-x_{c2})^2=r \]

Parámetros
[in]xc1Parámetro $x_{c1}$ del centro del círculo $\mathbf{x}_{c}=(x_{c1},x_{c2})$.
[in]xc2Parámetro $x_{c2}$ del centro del círculo $\mathbf{x}_{c}=(x_{c1},x_{c2})$.
[in]rRadio del círculo.

◆ Circle() [3/5]

Pds::Circle::Circle ( const Pds::Vector xc,
double  r 
)

Crea un objeto de tipo Pds::Circle.

El círculo se define por $\mathbf{x}_{c}=(x_{c1},x_{c2})$ y $r$, donde:

\[(x_1-x_{c1})^2+(x_2-x_{c2})^2=r \]

Parámetros
[in]xcEl centro del círculo $\mathbf{x}_{c}=(x_{c1},x_{c2})$. El número de elementos debe ser 2.
[in]rRadio del círculo.

◆ Circle() [4/5]

Pds::Circle::Circle ( const Pds::Point2D xc,
double  r 
)

Crea un objeto de tipo Pds::Circle.

El círculo se define por $\mathbf{x}_{c}=(x_{c1},x_{c2})$ y $r$, donde:

\[(x_1-x_{c1})^2+(x_2-x_{c2})^2=r \]

Parámetros
[in]xcEl centro del círculo $\mathbf{x}_{c}=(x_{c1},x_{c2})$. El número de elementos debe ser 2.
[in]rRadio del círculo.

◆ Circle() [5/5]

Pds::Circle::Circle ( const Pds::Circle B)

Crea un objeto de tipo Pds::Circle copiando datos desde otra.

Parámetros
[in]BCircle a copiar.

◆ RandPerimeter()

Pds::Matrix Pds::Circle::RandPerimeter ( unsigned int  L) const

Retorna, en las lineas de la matriz, muestras que describen el perímetro del círculo.

example_circle_create_randperimeter.png
Parámetros
[in]LNúmero de muestras
Devuelve
Retorna, en las lineas de la matriz, muestras que describen el perímetro del círculo, o una matriz vacia en caso de error.
Ejemplos
example_circle_create.cpp.

◆ RandSamples()

Pds::Matrix Pds::Circle::RandSamples ( unsigned int  L) const

Retorna, en las lineas de la matriz, muestras que describen el círculo interno.

example_circle_create_randsamples.png
Parámetros
[in]LNúmero de muestras
Devuelve
Retorna, en las lineas de la matriz, muestras que describen el círculo interno, o una matriz vacia en caso de error.
Ejemplos
example_circle_create.cpp y example_funcconvexhull_isinside.cpp.

◆ EvalSamples()

Pds::Vector Pds::Circle::EvalSamples ( const Pds::Matrix X) const

Evalua cada linea $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$ en la ecuación $f(\mathbf{x}^{(l)})$.

\[
f(\mathbf{x})\equiv f(x_{1},x_{1})\equiv (x_{1}-x_{c1})^2+(x_{2}-x_{c2})^2-r^2 
\]

Parámetros
[in]XMatriz $\mathbf{X}$ de muestras.
Devuelve
Retorna un vector con la función $f(\mathbf{x}^{(l)})$ evaluada en cada muestra $\mathbf{x}^{(l)}$ de la matrix $\mathbf{X}$.
Ejemplos
example_circle_create.cpp.

◆ Evaluate() [1/2]

double Pds::Circle::Evaluate ( double  x1,
double  x2 
) const

Evalua un punto (x1,x2) en el circulo f(x1,x2).

\[
f(x1,x2)=\left(x_{1}-x_{1}^{c}\right)^{2}+\left(x_{2}-x_{2}^{c}\right)^{2}-r^2 
 \]

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]x1Primera variable de p=(x1,x2).
[in]x2Segunda variable de p=(x1,x2).
Devuelve
Retorna f(x1,x2).
Ejemplos
example_circle_create.cpp.

◆ Evaluate() [2/2]

double Pds::Circle::Evaluate ( const Pds::Point2D p) const

Evalua un punto p=(x1,x2) en el circulo f(x1,x2).

\[
f(x1,x2)=\left(x_{1}-x_{1}^{c}\right)^{2}+\left(x_{2}-x_{2}^{c}\right)^{2}-r^2 
 \]

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]pVariable p=(x1,x2).
Devuelve
Retorna f(x1,x2).

◆ GetRadius()

double Pds::Circle::GetRadius ( void  ) const

Retorna el radio del círculo.

Devuelve
Retorna el radio del círculo, o cero en caso de error.
Ejemplos
example_circle_create.cpp.

◆ GetCentroid()

Pds::Vector Pds::Circle::GetCentroid ( void  ) const

Retorna el centroide del círculo.

Devuelve
Retorna el centroide del círculo. o un vector vacio en caso de error.
Ejemplos
example_circle_create.cpp.

◆ GetArea()

double Pds::Circle::GetArea ( void  ) const

Retorna el area $\pi r^2$ del círculo.

Devuelve
Retorna el area $\pi r^2$ del círculo, o $0$ en caso de error.

◆ operator=()

Pds::Circle & Pds::Circle::operator= ( const Pds::Circle B)

Copia en si mismo (A), un Shape B. Este operador es similar al método Copy().

\[ A \leftarrow B \]

Cuando acontece:

Pds::Circle B(,1,2);
A=B;
La clase tipo Pds::Circle . Esta clase genera un objeto con dos parámetros xc1, xc2 y r....
Definition: Circle.hpp:56

Cuando NO acontece:

Parámetros
[in]BEl Shape a copiar
Devuelve
Retorna el operador de la izquierda (acumulador) con el resultado, o un SHape vacío (this->IsEmpty() igual a true) en caso de error.
Ver también
Copy

◆ Copy()

bool Pds::Circle::Copy ( const Pds::Circle B)

Copia en si mismo (A), el contenido de un Shape B. Este método es similar a usar el operador = .

\[ A \leftarrow B \]

Parámetros
[in]BEl Shape a copiar
Devuelve
Retorna true si todo fue bien o false si no. Si se retorna false el receptor no altera su contenido.
Ver también
Copy

◆ MakeEmpty()

void Pds::Circle::MakeEmpty ( void  )

Cera los datos internos.

$r=0.0$.

◆ IsEmpty()

bool Pds::Circle::IsEmpty ( void  ) const

Verifica si el círculo es válido.

◆ IsInside() [1/2]

bool Pds::Circle::IsInside ( double  x1,
double  x2 
) const

Verifica si un elemento esta en el círculo o la circunferencia.

\[
\left(x_{1}-x_{1}^{c}\right)^{2}+\left(x_{2}-x_{2}^{c}\right)^{2}-r^2 \leq 0
 \]

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]x1Primera variable de p=(x1,x2).
[in]x2Segunda variable de p=(x1,x2).
Devuelve
Retorna true si está dentro del círculo o la circunferencia, o false si no.
Ejemplos
example_circle_create.cpp.

◆ IsInside() [2/2]

bool Pds::Circle::IsInside ( const Pds::Point2D p) const

Verifica si un elemento esta en el círculo o la circunferencia.

\[
\left(x_{1}-x_{1}^{c}\right)^{2}+\left(x_{2}-x_{2}^{c}\right)^{2}-r^2 \leq 0
 \]

Atención
Posibles errores de redondeo en el borde.
Parámetros
[in]pVariable p=(x1,x2).
Devuelve
Retorna true si está dentro del círculo o la circunferencia, o false si no.

◆ Print()

void Pds::Circle::Print ( std::string  str = "") const

Muestra en pantalla el contenido de Pds::Circle, elementos separados por tabulador.

Parámetros
[in]strTexto a mostrar antes de imprimir el contenido.
Ejemplos
example_circle_create.cpp y example_circle_export_json.cpp.

◆ ToJson()

Pds::Json Pds::Circle::ToJson ( void  ) const

Retorna un objeto Pds::Json con el contenido del objeto.

Por exemplo:

{
"Circle":
{
"xc1":2.5,
"xc2":1.5,
"r":2.0
}
}
Devuelve
Retorna un objeto Pds::Json con el contenido del objeto.
Ejemplos
example_circle_export_json.cpp.

◆ FromJson()

bool Pds::Circle::FromJson ( const Pds::Json J)

Lee un objeto Pds::Json busca la etiqueta "Circle" y lo carga. El objeto debe tener al menos los siguientes dados.

{
"Circle":
{
"xc1":2.5,
"xc2":1.5,
"r":2.0
}
}
Devuelve
Retorna true si la lectura sucedió sin errores y false si no. Si la lectura es incorrecta se vuelve vacia.
Ejemplos
example_circle_export_json.cpp.

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const Pds::Circle z 
)

Retorna el contenido del objeto por la salida estándar.

std::cout<<z;
Parámetros
[in]outLa salida
[in]zLa matriz a mostrar
Devuelve
Retorna la misma salida estándar out.

◆ ~Circle()

Pds::Circle::~Circle ( )

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed