Anterior

Procedimiento numérico

Integrales de Fresnel

double calculaIntensidad(double x){
    fresnel.integral(x+dx);
    double c1=fresnel.c;
    double s1=fresnel.s;
    fresnel.integral(x-dx);
    double c2=fresnel.c;
    double s2=fresnel.s;
    double inten=((1-c1+c2)*(1-c1+c2)+(1-s1+s2)*(1-s1+s2))/4;
    return inten;
} 


 void graficaIntensidad(){
    int x1, y1;
    pol.npoints=0;
    for(double x=0.0; x<5.0; x+=0.01){
        x1=orgX+(int)(x*escalaX);
        y1=orgY-(int)(calculaIntensidad(x)*escalaY);
        pol.addPoint(x1, y1);
     }
 }
 void graficaCornu(){
    int x1, y1;
    polCornu.npoints=0;
    for(double x=0.01; x<5.0; x+=0.01){
        fresnel.integral(-x);
        x1=orgXX+(int)(fresnel.c*escalaXX);
        y1=orgYY-(int)(fresnel.s*escalaYY);
        polCornu.addPoint(x1, y1);
     }
 }
Anterior