Está en la página 1de 2

//DECLARACION DE LIBRERIAS PARA REALIZAR EL ALGORITMO

#include<graphics.h>
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>

main() //FUNCION PRINCIPAL


{
Iniciar();//SE LLAMA A LA FUNCION "iniciar" PARA DAR INICIO AL MODO
GRAFICO
outtextxy(250,200,"CIRCULO DDA G4");//SE IMPRIME EN PANTALLA TEXTO, DATOS
DEL GRUPO
outtextxy(150,450,"Presione cualquier tecla para continuar...");//SE
IMPRIME EN PANTALLA TEXTO PARA SALIR DEL MODO GRAFICO
/*simetrico(300,200,180,80);*/
circulo_DDA(300,200,100);//SE ENVIAN PARAMETROS A LA FUNCION "circulo_DDA"

getch();
Terminar();//SE LLAMA A LA FUNCION "terminar" PARA CAERRAR EL MODO GRAFICO
return 0;
}

int tarjeta, modo, error;//DECLARAMOS VARIABLES GLOBALES

void Iniciar()//INICIALIZAR MODO GRAFICO


{
detectgraph(&tarjeta,&modo);
initgraph(&tarjeta,&modo,"C:\\TC\\BGI");//REDIRECCIONANDO DIRECTORIO
"CHANGE DIR -> BGI"
error=graphresult( );
if (error!=grOk)// SI SE DETECTA ALGUN FALLO O ERROR
{
printf("Error al inicializar modo grafico
%s",grapherrormsg(error));//MENSAJE DE ERROR AL INICIAR MODO GRAFICO
}
}

simetrico(int xc,int yc,int x,int y)//PARAMETROS PARA LA SIMETRIA DEL CIRCULO


{
putpixel(xc+x,yc+y,5);
putpixel(xc-x,yc+y,5);
putpixel(xc+x,yc-y,5);
putpixel(xc-x,yc-y,5);
putpixel(xc+y,yc+x,5);
putpixel(xc-y,yc+x,5);
putpixel(xc+y,yc-x,5);
putpixel(xc-y,yc-x,5);
}
void circulo_DDA(int xc,int yc,int radio)// PARAMETROS PARA DIBUJAR EL CIRCULO
DDA
{
double x,y,p,rx;//DECLARAMOS VARIABLES DE TIPO DOUBLE
rx=radio;//ASIGNAMOS EL RADIO A LA VARIABLE "rx"
x=rx;//ASIGNAMOS "rx" A LA VARIABLE "x"
y=0;//ASIGANMOS EL VALOR INICIAL "0" A LA VARIABLE "y"
while(y<x)//REALIZAMOS LA OPERACION "MIENTRAS"
{
simetrico(xc,yc,x,y); //->SE DIBUJA UN PUNTO Y LUEGO OTRO
SIMETRICAMENTE HASTA COMPLETAR EL CIRCULO
rx=rx-(y/rx);
x=rx;
y++;//INCREMENTA LA VARIABLE "y + 1" EN CADA ITERACION
}
}
void Terminar()//FUNCION TERMINAR
{
closegraph();//CIERRA LA VENTANA Y MUESTRA EL CODIGO
}

También podría gustarte