main.c
//Esta funcion dibuja un circulo sobre la imagen de
//intensidad
Esta funcion dibuja un circulo sobre la imagen de
intensidad
Esta funcion dibuja un circulo sobre la imagen de intensidad
void geoDrawACircleOnIntensityImage()
    {
        int x, y, i;
        double angle;
        int cx, cy, r;
        int height, width;
        cx=p_parametros->cx;
        cy=p_parametros->cy;
        r=p_parametros->r;
        height=pInputImage->height;
        width=pInputImage->width;
        for (i=0;i<height*width;i++)
            pInputImage->pdrawnCircleOnIntensity[i]=pInputImage->pintensity[i];
        for (angle=0.0;angle<2.0*(double)PI;angle=angle+0.001) {
            x=(int)((double)cx+(double)r*cos(angle));
            y=(int)((double)cy+(double)r*sin(angle));
            if ((y>=0)&&(x>=0)&&(y<height)&&(x<width)) {
                pInputImage->pdrawnCircleOnIntensity[y*width+x]=255;
            }
        }
    }
void geoDrawACircleOnIntensityImage ( ) { int x , y , i ; double angle ; int cx , cy , r ; int height , width ; cx = p_parametros -> cx ; cy = p_parametros -> cy ; r = p_parametros -> r ; height = pInputImage -> height ; width = pInputImage -> width ; for ( i = 0 ; i < height * width ; i ++ ) pInputImage -> pdrawnCircleOnIntensity [ i ] = pInputImage -> pintensity [ i ] ; for ( angle = 0.0 ; angle < 2.0 * ( double ) PI ; angle = angle + 0.001 ) { x = ( int ) ( ( double ) cx + ( double ) r * cos ( angle ) ) ; y = ( int ) ( ( double ) cy + ( double ) r * sin ( angle ) ) ; if ( ( y >= 0 ) && ( x >= 0 ) && ( y < height ) && ( x < width ) ) { pInputImage -> pdrawnCircleOnIntensity [ y * width + x ] = 255 ; } } }
Esta funcion dibuja un circulo sobre la imagen de
intensidad
Esta funcion dibuja un circulo sobre la imagen de intensidad
//Copiando la imagen de intensidad en la imagen que contendrá //el círculo //Por cada valor del parámetro angle se calcula un punto usando las ecuaciones //paramétricas de un círculo. Cada punto se pone en 255 (blanco) en la //imagen de salida. angle varía entre 0.0 y 2*PI en pasos de 0.001. Cuando //angle en 0.0 se estaría en la posición inicial del círculo (a una distancia //radius sobre el eje horizontal del círculo) y cuando angle es 2*PI ya //habríamos dado la vuelta y estaríamos cerrando el círculo //x=cx+r*cos(angle) //y=cy+r*sin(angle) //Dibujando el punto (x,y) siempre y cuando no esté fuera de la imagen