Home | Develop | Download | Contact
example_ellipse_create.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_ellipse_create.cpp:

g++ -static -o example_ellipse_create example_ellipse_create.cpp -lpdsramm

Para executar o programa:

./example_ellipse_create

Retornando por consola:

Ellipse:
-0.58113883008419       0.41886116991581
2.5811388300842 3.5811388300842
3
  a: 3
  b: 2
ang: -135 grad
  a: -2.1213203435596   -2.1213203435596
  b: 1.4142135623731    -1.4142135623731
 Xc: 1  2
Xc1: -0.58113883008419  0.41886116991581
Xc2: 2.5811388300842    3.5811388300842

  a: 3
  b: 2
ang: 45 grad
  a: 2.1213203435596    2.1213203435596
  b: -1.4142135623731   1.4142135623731
 Xc: 1  2
Xc1: 2.5811388300842    3.5811388300842
Xc2: -0.58113883008419  0.41886116991581
example_ellipse_create_randsamples.png


example_ellipse_create_randperimeter.png

Código example_ellipse_create.cpp:

#include <cmath>
#include <Pds/Ra>
int main(void)
{
Pds::Ellipse Ellipse(3,2,1,2,-3*Pds::Ra::Pi/4);
Ellipse.Print("Ellipse:\n");
std::cout<<" a: "<<Ellipse.GetMajorAxis()<<"\n";
std::cout<<" b: "<<Ellipse.GetMinorAxis()<<"\n";
std::cout<<"ang: "<<Ellipse.GetAngle()*180/Pds::Ra::Pi<<" grad\n";
std::cout<<" a: "<<Ellipse.GetMajorVector().T();
std::cout<<" b: "<<Ellipse.GetMinorVector().T();
std::cout<<" Xc: "<<Ellipse.GetCentroid().T();
std::cout<<"Xc1: "<<Ellipse.GetCentroid1().T();
std::cout<<"Xc2: "<<Ellipse.GetCentroid2().T();
Xc=Ellipse.RandSamples(1000);
Pds::Octave::Plot::PointsX2D(Xc,"testando.m","example_ellipse_create_randsamples.png");
Xc=Ellipse.RandPerimeter(64);
Pds::Octave::Plot::PointsX2D(Xc,"testando.m","example_ellipse_create_randperimeter.png");
std::cout<<"\n";
double A;double B;double C;
double D;double E;double F;
Ellipse.GetQuadraticForm(A,B,C,D,E,F);
Pds::Ellipse Ellipse2(A,B,C,D,E,F);
std::cout<<" a: "<<Ellipse2.GetMajorAxis()<<"\n";
std::cout<<" b: "<<Ellipse2.GetMinorAxis()<<"\n";
std::cout<<"ang: "<<Ellipse2.GetAngle()*180/Pds::Ra::Pi<<" grad\n";
std::cout<<" a: "<<Ellipse2.GetMajorVector().T();
std::cout<<" b: "<<Ellipse2.GetMinorVector().T();
std::cout<<" Xc: "<<Ellipse2.GetCentroid().T();
std::cout<<"Xc1: "<<Ellipse2.GetCentroid1().T();
std::cout<<"Xc2: "<<Ellipse2.GetCentroid2().T();
}
La clase tipo Pds::Ellipse . Esta clase genera un objeto con dos parámetros xc1, xc2 y a....
Definition: Ellipse.hpp:57
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
const double Pi
Número PI.
Definition: RaDefines.hpp:189
double GetMajorAxis(void) const
Retorna la distancia del eje mayor.
bool GetQuadraticForm(double &A, double &B, double &C, double &D, double &E, double &F) const
Retorna los parámetros de la forma cuadrática.
Pds::Matrix RandSamples(unsigned int L) const
Retorna, en las lineas de la matriz, muestras que describen el elipse interno.
Pds::Vector GetMajorVector(void) const
Retorna el vector del eje mayor.
Pds::Vector GetCentroid(void) const
Retorna el centro de la elipse.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::Ellipse, elementos separados por tabulador.
double GetMinorAxis(void) const
Retorna la distancia del eje menor.
Pds::Vector GetCentroid1(void) const
Retorna el centroide 1 de la elipse.
double GetAngle(void) const
Retorna el angulo del eje mayor.
Pds::Vector GetMinorVector(void) const
Retorna el vector del eje menor.
Pds::Vector GetCentroid2(void) const
Retorna el centroide 2 de la elipse.
Pds::Matrix RandPerimeter(unsigned int L) const
Retorna, en las lineas de la matriz, muestras que describen el perímetro del elipse.
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
bool PointsX2D(const Pds::Matrix &X, const std::string &octfilename, const std::string &imgfilename)
Plot de muestras en 2D en las columnas X.
bool DAspect
Habilita o deshabilita daspect([1 1 1]) en el código octave. Por defecto:

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed