Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo dibujar un círculo usando lenguaje C?

¿Cómo dibujar un círculo usando lenguaje C?

#include lt; math.hgt;

#include lt; Graphics.hgt /*Función de biblioteca predefinida*/

void CirclePoint(int x, int y) /*Programa de dibujo de círculos de ocho secciones*/

{

circle(320 x*20, ​​​​240 y*20, 3);

círculo(320 y*20, 240 x*20, ​​​​3

círculo(320-y*20, 240 x*20, ​​​​3); > círculo(320- x*20, ​​​​240 y*20, 3

círculo(320-x*20, ​​​​240 y*20, 3); > círculo(320-x*20, ​​240-y*20, ​​3);

círculo(320-y*20, 240-x*20, ​​​​3);

círculo(320 y*20, 240-x *20, 3);

círculo(320 x*20, ​​240-y*20, 3);

void MidBresenhamcircle(int r) /* Programa para dibujar un círculo usando el algoritmo de Bresenham del punto medio*/

{

int x, y, d

x=0; y=r; d =1-r /* Calcular el valor inicial*/

while(xlt;y)

{ CirclePoint( x, y); /* Dibujar el punto (x, y) y sus otros 7 puntos de simetría en el octante*/

if (dlt; 0) d =2*x 3; A juzgar por el término de error d, determine la dirección de desplazamiento no máxima para ir o no ir*/

else

{ d =2*(x-y) 5;

y--;

}

x;

retraso(900000

} /* mientras); */

}

main ()

{

int i,j,r,graphmode,graphdriver;

detectgraph(amp;graphdriver,amp;graphmode);

initgraph(&graphdriver,&graphmode," ");

printf("Programa para dibujar un círculo con el punto medio del algoritmo Bresenhamcircle \n"); /*Mensaje rápido*/

printf("Nota|r|lt;=11");

printf("\nIngrese el valor del radio r:" );

scanf("d", amp; r);

printf("Presione cualquier tecla para mostrar el gráfico..."); getch();

cleardevice();

p>

setbkcolor(NEGRO)

;

for(i=20; ilt; =620; i =20) /*Utilice la función de punto de bucle doble para dibujar la ordenada en la tabla*/

for(j =20; jlt; =460; j )

putpixel(i,j,2);

para(j=20;jlt;=460;j =20) amp; nBienvenido a Xue.com y agregue este artículo a favoritos [1] [2]

$False$

bsp /*Utilice la función de dibujo de punto de doble bucle para dibujar la abscisa en la tabla. */

for(i=20; ilt; =620; i )

putpixel(i, j, 2);

outtextxy(320, 245); , "0"); /*coordenadas de origen*/

outtextxy(320-5*20, 245, "-5"); Valor de abscisa*/

outtextxy(320 5*20, 245, "5"); círculo(320 5*20, 240, 2

outtextxy(320-10 *); 20, 245, "-10"); círculo(320-10*20, 240, 2);

outtextxy(320 10*20, 245, "10"); , 240, 2);

salidatextxy (320-15*20, 245, "-15"); círculo (320-15*20, 240, 2) (320 15*20, 245, "15"); círculo (320 15*20, 240, 2);

outtextxy (320, 240-5*20, "-5"); 320, 240-5*20, 2); /*valor de ordenada*/

outtextxy(320, 240 5*20, "5");

outtextxy(320, 240-10*20, "-10"); círculo (320, 240-10*20, 2);

outtextxy(320, 240 10*); 20, "10"); círculo(320, 240 10*20, 2);

outtextxy(20, 10, "El centro del círculo es (0, 0) "); solicitar información en la esquina superior izquierda del eje de coordenadas*/

setcolor(RED); /*Marcar el eje de coordenadas*/

line(20, 240, 620, 240) ; outtextxy(320 15*20, 230, "X");

línea(320, 20, 320, 460); > setcolor(AMARILLO);

MidBresenhamcircle(r);

setcolor(AZUL);

(320, 240, r*20);

setcolor(2);

getch();

closegraph(); >}