Flood Fill Algorithm (C++)

#include <iostream.h> #include <conio.h> #include <graphics.h> #include <dos.h> void ffill(int x,int y,int o_col,int n_col){ int current = getpixel(x,y); if(current==o_col){ delay(1); putpixel(x,y,n_col); ffill(x+1,y,o_col,n_col); ffill(x-1,y,o_col,n_col); ffill(x,y+1,o_col,n_col); ffill(x,y-1,o_col,n_col); } } void main(){ int xc,yc,r; int gdriver = DETECT,gmode; initgraph(&gdriver,&gmode,”C:\TC\BGI”); cout<<“Enter co-ordinates of the centre: “; cin>>xc>>yc; cout<<“Enter radius of circle: “; cin>>r; circle(xc,yc,r); cout<<“Press any key to fill circle…”; getch(); ffill(xc,yc,BLACK,RED); getch(); closegraph(); } Continue reading Flood Fill Algorithm (C++)

Boundary Fill Algorithm (C++)

#include <iostream.h> #include <conio.h> #include <graphics.h> #include <dos.h> void bfill(int x,int y,int f_col,int b_col){ int current = getpixel(x,y); if(current!=f_col&&current!=b_col){ delay(1); putpixel(x,y,f_col); bfill(x+1,y,f_col,b_col); bfill(x-1,y,f_col,b_col); bfill(x,y+1,f_col,b_col); bfill(x,y-1,f_col,b_col); } } void main(){ int xc,yc,r; int gdriver = DETECT,gmode; initgraph(&gdriver,&gmode,”C:\TC\BGI”); cout<<“Enter co-ordinates of the centre: “; cin>>xc>>yc; cout<<“Enter radius of circle: “; cin>>r; circle(xc,yc,r); cout<<“Press any key to fill circle…”; getch(); bfill(xc,yc,RED,WHITE); getch(); closegraph(); } Continue reading Boundary Fill Algorithm (C++)

Mid-Point Ellipse Generation Algorithm (C++)

Problem Definition: Write a program to implement Mid-Point Ellipse Generation Algorithm. #include <graphics.h> #include <iostream.h> #include <conio.h> void main(){ int xc,yc,x,y,d,r; int gdriver = DETECT, gmode; initgraph(&gdriver,&gmode,”C:\TC\BGI”); cout<<“Enter co-ordinates of centre: “; cin>>xc>>yc; cout<<“Enter radius of circle: “; cin>>r; x = 0; y = r; d = 3-2*r; do{ if(d<0){ d += 4*x +6; x++; } else{ d += 4*x – 4*y +10; x++; y–; } putpixel(xc+x,yc+y,WHITE); putpixel(xc+y,yc+x,WHITE); … Continue reading Mid-Point Ellipse Generation Algorithm (C++)

Mid-Point Circle Generation Algorithm (C++)

Problem Definition: Write a program to implement Mid-Point Circle Generation Algorithm. #include <graphics.h> #include <iostream.h> #include <conio.h> void main(){ int xc,yc,x,y,p,r; int gdriver = DETECT, gmode; initgraph(&gdriver,&gmode,”C:\TC\BGI”); cout<<“Enter co-ordinates of centre: “; cin>>xc>>yc; cout<<“Enter radius of circle: “; cin>>r; x = 0; y = r; p = 1-r; do{ if(p<0){ x++; p += 2*x +1; } else{ x++; y–; p += 2*x – 2*y +1; } putpixel(xc+x,yc+y,WHITE); putpixel(xc+y,yc+x,WHITE); … Continue reading Mid-Point Circle Generation Algorithm (C++)

Bresenham’s Line Drawing Algorithm (C++)

Problem Definition: Write a program to implement Bresenham’s Line drawing algorithm. #include <graphics.h> #include <conio.h> #include <math.h> #include <iostream.h> void main(){ int x1,x2,y1,y2,i,e,x,y,dx,dy; int gdriver = DETECT, gmode; initgraph(&gdriver,&gmode,”C:\TC\BGI”); cout<<“Enter co-ordinates of point 1: “; cin>>x1>>y1; cout<<“Enter co-ordinates of point 2: “; cin>>x2>>y2; dx = abs(x2-x1); dy = abs(y2-y1); x=x1; y=y1; e = 2*dy-dx; i=1; do{ putpixel(x,y,WHITE); while(e>=0){ y++; e = e – 2*dx; putpixel(x,y,WHITE); } x++; … Continue reading Bresenham’s Line Drawing Algorithm (C++)