/ * 1. Write a Simple program to draw a line * /
#include<graphics.h>#include<conio.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"d:\\tc\\bgi");setcolor(15);line(100,200,100,300);getch();closegraph();}
/ * 2 Write a simple program to draw a circle */
#include<conio.h>#include<graphics.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"d:\\tc\\bgi");circle(270,215,50);printf("*********OUTPUT***********");getch();closegraph();}
/ * 3. Write a program to draw a colored bar diagram */
#include<graphics.h>#include<conio.h>#include<stdio.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"d:\\tc\\bgi");line(50,50,50,300);line(50,300,300,300);setfillstyle(1,4);bar(75,75,95,300);setfillstyle(1,3);bar(125,85,145,300);setfillstyle(1,6);bar(175,125,195,300);setfillstyle(1,3);bar(225,195,245,300);getch();closegraph();}
/ * 4.Write a program to translate a circle */
#include<stdio.h>#include<conio.h>#include<graphics.h>#include<math.h>void main(){int gd=DETECT,gm,r,xc,yc,tx,ty;initgraph(&gd,&gm,"d:\\tc\\bgi");printf("Enter the center x:");scanf("%d",&xc);printf("Enter the center y:");scanf("%d",&yc);printf("Enter the radius:");scanf("%d",&r);circle(xc,yc,r);getch();printf("Enter tx,ty");scanf("%d%d",&tx,&ty);circle(xc+tx,yc+ty,r);getch();}
/ * 5. WAP to draw a Pie chart using function */
#include<graphics.h> #include<stdio.h>
void main() { int gd=DETECT; int gm;
initgraph(&gd, &gm, "c:\\tc\\bin\\bgi"); setfillstyle(1, RED); pieslice(80,80,0,45,40); setfillstyle(2, GREEN); pieslice(80,80,45,90,40); setfillstyle(3, CYAN); pieslice(80,80,90,135,40); setfillstyle(4, MAGENTA); pieslice(80,80,135,180,40);
setfillstyle(5, YELLOW); pieslice(80,80,180,225,40); setfillstyle(7,GREEN); pieslice(80,80,225,270,40);
setfillstyle(5,RED); pieslice(80,80,270,315,40); setfillstyle(2,YELLOW); pieslice(80,80,315,360,40);
setfillstyle(1,CYAN); setcolor(MAGENTA); rectangle(200,200,300,300); floodfill(250,250,MAGENTA );
getch(); closegraph();
}
/ 6. * WAP to draw a Pie Chart * /
#include<conio.h>#include<graphics.h>
void main(){
int gd=DETECT;int gm;int x[10],n,i;float a,b,sum;initgraph( &gd, &gm, "c:\\tc\\bin\\bgi");
printf("Enter limit");scanf("%d",&n);for(i=0;i<n;i++){
printf("Marks of %d position",i+1);scanf("%d",&x[i]);
}sum=0;a=0;for(i=0;i<n;i++){
sum=sum+x[i];}for(i=0;i<n;i++){
b=360/sum*x[i];setfillstyle(i,i);b=a+b;pieslice(300,200,a,b,50);a=b;
}
getch(); // closegraph();
}
/ * 7. WAP to draw a DDA Line */
#include<graphics.h>#include<conio.h>#include<math.h>void ddaline(int ,int ,int ,int );int round(float );void main(){
int gd= DETECT;int gm,x1,y1,x2,y2;initgraph(&gd,&gm,"c:\\tc\\bgi");printf("enter the value of coordinates of first end point:");
scanf("%d%d",&x1,&y1);printf("enter the value of coordinates of second end point:");
scanf("%d%d",&x2,&y2);ddaline(x1,y1,x2,y2);getch();
}void ddaline(int x1,int y1,int x2,int y2){
int i,dy,dx,steps,x_round,y_round;float y_incr,x_incr,x_init,y_init;dy=y2-y1;dx=x2-x1;if(abs(dy)>abs(dx))steps=dy;elsesteps=dx;y_incr=dy/steps;x_incr= dx/steps;x_init=x1;y_init=y1;putpixel(x_init,y_init,1);for(i=1;i<steps;i++){
x_init+=x_incr;y_init+=y_incr;x_round = round(x_init);y_round= round(y_init);putpixel(round(x_round),round(y_round),1);
}}int round(float x_ini){
int x_round;x_ini=x_ini+0.5;
x_round=x_ini; return(x_round);
}
/ * 8. WAP to draw a Circle * /
#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>void main(){int x1,y1,r,p,a;int gd=DETECT,gm,x,y;printf("Enter the Coordinate x1-->") ;scanf("%d",&x);printf("Enter the Coordinate x2-->");scanf("%d",&y);printf("Enter the Radius r-->");scanf("%d",&r);initgraph(&gd,&gm,"c:\\tc\\bin\\bgi");x1=0;y1=r;p=3-2*r;while(x1<y1){plotpoint(x,y,x1,y1);if(p<0) p=p+4*x1+6;
else {
p=p+4*(x1-y1)+10; y1=y1-1;
} x1=x1+1;
} if(x1==y1) plotpoint(x,y,x1,y1);
getch(); closegraph();
} plotpoint(int x,int y,int x1,int y1) {
putpixel(x+x1,y+y1,RED);putpixel(x-x1,y+y1,RED); putpixel(x+x1,y-y1,GREEN); putpixel(x-x1,y-y1,GREEN);
putpixel(x+y1,y+x1,CYAN); putpixel(x-y1,y+x1,CYAN); putpixel(x+y1,y-x1,MAGENTA);putpixel(x-y1,y-x1,MAGENTA);
}
/ * 9. WAP to draw SinCos Graph */
#include<stdio.h>#include<conio.h>#include<math.h>#include<graphics.h>#define angle 3.14/180#define radian 180/3.14void main(){int gd=DETECT;int gm,a;int x,y,ang;float y1;initgraph(&gd,&gm,"c:\\tc\\bgi");printf("enter 1 for cos");printf("\nenter 2 for sin");scanf("%d",&a);printf("enter the angle:");scanf("%d",&ang);line(200,200,200,400);line(100,300,300,300);switch(a){
case 1:for(x=0;x<ang;x++){
y1=cos(x*angle);y=y1*radian;putpixel(x+200,300-y,3);
}break;case 2:for(x=0;x<ang;x++){
y1=sin(x*angle);y=y1*radian;
putpixel(x+200,300-y,3);}break;}
getch() }
/ * 10. WAP to draw Ellipse */
#include<stdio.h>#include<conio.h>#include<graphics.h>#include<math.h>void main(){int gd=DETECT,gm,i,x,y,xc,yc;long d1,d2,rx,ry,rx2,ry2;clrscr();printf("/nenter the X radius of ellipse:");scanf("%d",&rx);printf("/n enter the Y radius of ellipse:");scanf("%d",&ry);printf("/n enter the center of ellipse:");printf("/enter X-coordinate:");scanf("%d",&xc);printf("/enter Y-coordinate:");scanf("%d",&yc);initgraph(&gd,&gm,"c:\\tc\\bgi");line(320,0,320,479);line(0,240,639,240);rx2=rx*rx;ry2=ry*ry;x=0;y=ry;d1=ry2-rx2*ry+0.25*rx2;do{putpixel(320+xc+x,240-yc+y,15);putpixel(320+xc-x,240-yc+y,15);putpixel(320+xc+x,240-yc-y,15);putpixel(320+xc-x,240-yc+y,15);if(d1<0)d1+=2*ry2*x+3*ry2;else{y--;d1+=2*ry2*x+3*ry2-2*rx2*y+2*rx2;}x++;}while(2*ry2*x<2*rx2*y);d2=ry2*(x+0.5)*(x+0.5)+rx2*(y-1)*(y-1)-rx2*ry2;do{
putpixel(320+xc+x,240-yc+y,15);putpixel(320+xc-x,240-yc-y,15);putpixel(320+xc+x,240-yc-y,15);putpixel(320+xc-x,240-yc+y,15);if(d2>0)d2+=3*rx2-2*rx2*y;else{x++;d2+=2*ry2*x+3*ry2-2*rx2*y+2*rx2;}y--;}while(y>0);getch();closegraph();}
/* 11 Write a program of translate an object in 2d transformation * /
#include<stdio.h>#include<conio.h>#include<graphics.h>void main(){int gd=DETECT,gm,x1,x2,x3,y1,y2,y3,tx,ty;initgraph(&gd,&gm,"d:\\tc\\bgi");printf("enter the value of the coordinates of three points of triangle");scanf("\n%d\n%d\n%d\n%d\n%d\n%d",&x1,&y1,&x2,&y2,&x3,&y3);line(x1,y1,x2,y2);line(x2,y2,x3,y3);line(x1,y1,x3,y3);printf("\n Enter the value of translation vector");scanf("\n%d\n%d",&tx,&ty);line(x1+tx,y1+ty,x2+tx,y2+ty);line(x2+tx,y2+ty,x3+tx,y3+ty);line(x1+tx,y1+ty,x3+tx,y3+ty);getch();}
/ * 12 Write a program of scaling an object in 2D transformation */ #include<stdio.h>#include<conio.h>#include<graphics.h>void main(){int gd=DETECT,gm,x1,x2,x3,y1,y2,y3,sx,sy;initgraph(&gd,&gm,"d:\\tc\\bgi");printf("enter the value of the coordinates of three points of triangle");scanf("\n%d\n%d\n%d\n%d\n%d\n%d",&x1,&y1,&x2,&y2,&x3,&y3);line(x1,y1,x2,y2);line(x2,y2,x3,y3);line(x1,y1,x3,y3);printf("\n Enter the value of scaling vector");scanf("\n%d\n%d",&sx,&sy);line(x1*sx,y1*sy,x2*sx,y2*sy);line(x2*sx,y2*sy,x3*sx,y3*sy);line(x1*sx,y1*sy,x3*sx,y3*sy);getch();}
/*13 Write a program to draw a line using bresenham algo */ #include<stdio.h>#include<conio.h>#include<graphics.h>void main(){int gd= DETECT,gm,x,y,x1,y1,x2,y2,dx,dy,d,ds,dt;initgraph(&gd,&gm,"d:\\tc\\bgi");printf("\n enter the value of starting coordinates");scanf("\n%d\n%d",&x1,&y1);printf("\n enter the value of ending coordinates");scanf("\n%d\n%d",&x2,&y2);dx=x2-x1;dy=y2-y1;dt=2*(dy-dx);ds=2*dy;d=2*dy-dx;if(dx>0){y=y1;for(x=x1;x<=x2;x++){if(d<0)d=d+ds;else{d=d+dt;y++;}putpixel(x,y,6);}}getch();}
/ * 14 Write a program of text clipping */
#include<conio.h>#include<graphics.h>void main(){int gm=DETECT,gd,xmin,xmax,ymin,ymax,x,y;initgraph(&gm,&gd,"d:\\tc\\bgi");line(100,100,400,100);line(100,300,400,300);line(100,100,100,300);line(400,100,400,300);xmin=100;xmax=400;ymin=100;ymax=400;printf("*************OUTPUT***********");printf("\n Enter value for x and y coordinates:");scanf("\n%d\n%d",&x,&y);outtextxy(x,y,"Computer Graphics");if(x>xmin && x<xmax && y>ymin && y<ymax)printf("Text is inside the view-plane");else if((x==xmin || x==xmax) &&(y==ymin || y==ymax)){printf("\n Text is on the view-plane");}else{printf("\n Text is outside the view-plane");}getch();}
/ * 15 Write a program of line clipping * /
#include<conio.h>#include<graphics.h>void main(){int gm=DETECT,gd,xmin,xmax,ymin,ymax,x,y,z,z1;initgraph(&gm,&gd,"d:\\tc\\bgi");line(200,100,400,100);line(400,100,400,300);line(200,100,200,300);line(200,300,400,300);xmin=100;xmax=400;ymin=100;ymax=300;printf("*************OUTPUT***********");printf("\n Enter value for x,y and x1,y1 coordinates:");
scanf("\n%d\n%d\n%d\n%d",&x,&y,&z,&z1);line(x,y,z,z1);if(x>xmin && x<xmax && y>ymin && y<ymax){if(z>xmin && z<xmax && z1<ymax && z1>ymin){line(x,y,z,z1);printf("\n line is inside the view-plane");}}else{printf("\n line is outside the view-plane");}getch();}
/ * 16 Write a program of point clipping */
#include<conio.h>#include<graphics.h>void main(){int gm=DETECT,gd,xmin,xmax,ymin,ymax,x,y;initgraph(&gm,&gd,"d:\\tc\\bgi");line(100,100,400,100);line(100,300,400,300);line(100,100,100,300);line(400,100,400,300);xmin=100;xmax=400;ymin=100;ymax=300;printf("\n Enter value for x and y coordinates:");scanf("%d %d",&x,&y);putpixel(x,y,WHITE);if(x>xmin && x<xmax && y>ymin && y<ymax)printf("\n point is inside the view-plane");elseif((x==xmin || x==xmax)&&(y==ymin || y==ymax)){printf("\n point is on the view-plane");}elseprintf("\n point is outside the view-plane");getch();}
Top Related