Sunteți pe pagina 1din 1

*Se capturan el radio r y el centro de la circunferencia (xc, yc).

*Se obtiene el primer punto de la circunferencia centrada en origen (xc, yc) co mo (0, r). *Se cacula el valor incial del parametro de decisin como p0=5/4 - r. Para k=0 hasta x>=y incrementa k Si pk < 0 *Siguiente punto de la circunferencia con centro (0,0) es (xk+1, yk). *pk+1=pk+2xk+1+1. Sino *Siguiente punto de la circunferencia con centro (0,0) es (xk+1, yk-1). *pk+1=pk+2xk+1+1-2yk+1. //Donde 2xk+1=2xk+2 y 2yk+1=2yk-2 *Se determinan los puntos de simetra para los otros siete octantes. *Se mueve cada posicin del pixel calculada (x,y) a la trayectoria circular centr ada en (xc, yc) y trazamos los valores de las coordenadas: x=x+xc y y=y+yc. Fin Para En JAVA void CircleMidPoint(Graphics g, int xc, int yc, int r){ int x, y, p; x = 0; y = r; p = 1 - r; PlotPoint(g,xc,yc,x,y); /* se cicla hasta trazar todo un octante */ while (x < y){ x = x + 1; if (p < 0) p = p + 2*x + 1; else { y = y - 1; p = p + 2*(x - y) + 1; } PlotPoint(g,xc,yc,x,y); }}

S-ar putea să vă placă și