BhainCode



S.No.Practical NamePage No.Remarks1.Write a program to dispay a pixel.12.Write a program to display a line.23.Write a program to display a circle.34.Write a program to display a fill ellipse.45.Write a program to do two line segments intersect.56.Write a program to set the background color.67.Write a program to display a text.78.Write a program to show the bar.89.Write a program to show the arc.910.Write a program to draw a line using direct method.1011.Write a program to draw a line using dda method.1212.Write a program to draw a line using Bresenham’s method.1413.Write a program to draw a circle using direct method.1614.Write a program to draw a circle using mid-point circle method.1715.Write a program to draw a circle using Bresenham’s circle method.1916.Write a program to draw an animated circle.2117.Write a program to draw an ellipse using mid-point method.2218.Write a program to implement flood-fill algorithm.2519.Write a program to implement boundary-fill algorithm.2720.Write a program to implement boundary-fill algorithm.2921.Write a program to implement polygon clipping.3122.Write a program to implement 2D translation.3423.Write a program to implement 2D scaling.3524.Write a program to implement 2D rotation.3625.Write a program to implement 2D shearing.3726.Write a program to implement 2D reflection.38PRACTICAL NO-1Write a program to dispay a pixel.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x,y;cout<<"enter the co ordinate";cin>>x>>y;initgraph(&gd,&gm,"C:\\TC\\BGI");putpixel(x,y,4);getch();closegraph();}Output:PRACTICAL NO-2Write a program to display a line.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x2,y2,x1,y1;cout<<”enter the co ordinate”;cin>>x1>>y1>>x2>>y2;initgraph(&gd,&gm,”C:\\TC\\BGI”);line(x1,y1,x2,y2);getch();closegraph();}Output:PRACTICAL NO-3Write a program to display a circle.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,r;cout<<”enter the co ordinate”;cin>>x1>>y1>>r;initgraph(&gd,&gm,”C:\\TC\\BGI”);circle(x1,y1,r);getch();closegraph();}Output:PRACTICAL NO-4Write a program to display a fill ellipse.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,x2,y2;cout<<”enter the co ordinate”;cin>>x1>>y1>>x2>>y2;initgraph(&gd,&gm,”C:\\TC\\BGI”);fillellipse(x1,y1,x2,y2);getch();closegraph();}Output:PRACTICAL NO-5Write a program to do two line segments intersect.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,x2,y2,x3,y3,x4,y4;cout<<”enter the co ordinate”;cin>>x1>>y1>>x2>>y2;cin>>x3>>y3>>x4>>y4;initgraph(&gd,&gm,“C:\\TC\\BGI“);line(x1,y1,x2,y2);line(x3,y3,x4,y4);getch();closegraph();}Output:PRACTICAL NO-6Write a program to set the background color.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");setbkcolor(BLACK);getch();closegraph();}Output:PRACTICAL NO-7Write a program to display a text.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1;cout<<"enter the co ordinate";cin>>x1>>y1;initgraph(&gd,&gm,"C:\\TC\\BGI");outtextxy(x1,y1,"CSE 5TH SEM");getch();closegraph();}Output:PRACTICAL NO-8Write a program to show the bar.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,x2,y2;cout<<"enter the co ordinate";cin>>x1>>y1>>x2>>y2;initgraph(&gd,&gm,"C:\\TC\\BGI");bar(x1,x2,y1,y2);getch();closegraph();}Output:PRACTICAL NO-9Write a program to show the arc.#include<graphics.h>#include<conio.h>#include<iostream.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,x2,y2,x3;cout<<"enter the co ordinate";cin>>x1>>y1>>x2>>y2>>x3;initgraph(&gd,&gm,"C:\\TC\\BGI");arc(x1,y1,x2,y2,x3);getch();closegraph();}Output:PRACTICAL NO-10Write a program to draw a line using direct method.#include<graphics.h>#include<iostream.h>#include<conio.h>int round(float i){return(int(i+0.5));}void main(){int gd=DETECT,gm;int i,x,y,x1,y1,u,v;float m,b;initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"enter the values";cin>>x>>y>>x1>>y1;m=float(y1-y)/(x1-x);//cout<<"\n m is"<<m;b=y-(m*x);//cout<<"\n b is"<<b;if(m<1){for(i=x;i<=x1;i++){u=(m*i)+b;putpixel(round(i),round(u),4);}}else{for(i=y;i<=y1;i++){v=(y-b)/m;putpixel(round(i),round(v),4);}}getch();closegraph();}Output:PRACTICAL NO-11Write a program to draw a line using dda method.#include<graphics.h>#include<iostream.h>#include<conio.h>void main(){int gd=DETECT,gm;int i,x,y,x1,y1,dx,dy,xi,yi;int step;initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"enter the values";cin>>x>>y>>x1>>y1;dx=x1-x;dy=y1-y;if(dx>dy){step=dx;}else{step=dy;}//cout<<"step is"<<step;if(step==0){putpixel(x,y,4);}i=0;xi=dx/step;yi=dy/step;while(i<=step){x=x+xi;y=y+yi;i++;putpixel(x,y,4);}getch();closegraph();}Output:PRACTICAL NO-12Write a program to draw a line using Bresenham’s method.#include<graphics.h>#include<iostream.h>#include<conio.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");double x1,y1,x2,y2,dx,dy,p0;cout<<"enter starting co-ordinates:\n";cin>>x1>>y1;cout<<"enter ending co-ordinates:\n";cin>>x2>>y2;cleardevice();dx=x2-x1;dy=y2-y1;double x0=x1;double y0=y1;putpixel(x0,y0,WHITE);if(dy<dx){p0=(2*dy)-dx;while(x0<=x2 && y0<=y2){x0++;if(p0<0){p0=p0+(2*dy);}else{y0++;p0=p0+(2*dy)-(2*dx);}putpixel(x0,y0,WHITE);}}else{p0=(2*dx)-dy;while(x0<=x2 && y0<=y2){y0++;if(p0<0){p0=p0+(2*dx);}else{x0++;p0=p0+(2*dx)-(2*dy);}putpixel(x0,y0,WHITE);}}getch();closegraph();}Output:PRACTICAL NO-13Write a program to draw a circle using direct method.#include<graphics.h>#include<iostream.h>#include<conio.h>void main(){clrscr();int gd=DETECT,gm;int x1,y1,r;cout<<"enter the co ordinate";cin>>x1>>y1>>r;initgraph(&gd,&gm,"C:\\TC\\BGI");circle(x1,y1,r);getch();closegraph();}Output:PRACTICAL NO-14Write a program to draw a circle using mid-point circle method.#include<graphics.h>#include<iostream.h>#include<conio.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");double xc,yc,r,p0,x,y;cout<<"enter center of circle:\n";cin>>xc>>yc;cout<<"\n enter radius of circle:\n";cin>>r;x=0;y=r;p0=(5/4)-r;while(x<=y){if(p0<0){p0=p0+(2*x)+3;x++;putpixel(xc+x,yc+y,WHITE);putpixel(xc+y,yc+x,WHITE);putpixel(xc+x,yc-y,WHITE);putpixel(xc+y,yc-x,WHITE);putpixel(xc-y,yc-x,WHITE);putpixel(xc-x,yc-y,WHITE);putpixel(xc-x,yc+y,WHITE);putpixel(xc-y,yc+x,WHITE);}else{p0=p0+(2*(x-y))+5;x++;y--;putpixel(xc+x,yc+y,WHITE);putpixel(xc+y,yc+x,WHITE);putpixel(xc+x,yc-y,WHITE);putpixel(xc+y,yc-x,WHITE);putpixel(xc-y,yc-x,WHITE);putpixel(xc-x,yc-y,WHITE);putpixel(xc-x,yc+y,WHITE);putpixel(xc-y,yc+x,WHITE);}}getch();closegraph();}Output:PRACTICAL NO-15Write a program to draw a circle using Bresenham’s circle method.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<stdio.h>#include<complex.h>#include<math.h>#include<stdlib.h>void main(){int gd=DETECT,gm;int x1,y1,x,y,r,p;initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"enter the value of x1,y1,r"<<endl;cin>>x1>>y1>>r;x=0;y=r;p=3-2*r;while(x<=y){putpixel(x1+x,y1+y,2);putpixel(x1-x,y1+y,2);putpixel(x1+x,y1-y,2);putpixel(x1-x,y1-y,2);putpixel(x1+y,y1+x,2);putpixel(x1-y,y1+x,2);putpixel(x1+y,y1-x,2);putpixel(x1-y,y1-x,2);if(p<0)p+=4*(x++)+6;elsep+=4*(x++-y--)+10;}getch();closegraph();}Output:PRACTICAL NO-16Write a program to draw an animated circle.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<dos.h>void main(){int d,m;int c;int x;int color=0;clrscr();d=DETECT;initgraph(&d,&m,"C:\\TC\\BGI");for(x=20;x<110;x++){delay(100);setcolor(color++);circle(150,150,x);}cleardevice();for(x=110;x>=10;x--){delay(100);setcolor(color++);circle(150,150,x);}getch();closegraph();}Output:PRACTICAL NO-17Write a program to draw an ellipse using mid-point method.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<dos.h>void ellipsemidpoint(int xcenter,int ycenter,int rx,int ry);void plotpoint(int x,int xcenter,int ycenter,int y);int maxx,maxy,xcenter,ycenter,rx,ry;int main(void){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");maxx=getmaxx();maxy=getmaxy();xcenter=250;ycenter=250;rx=50;ry=50;ellipsemidpoint(xcenter,ycenter,rx,ry);getch();closegraph();return(0);}void ellipsemidpoint(int xcenter,int ycenter,int rx,int ry){int p,px,py,x,y,ry2,rx2,tworx2,twory2;ry2=ry*ry;rx2=rx*rx;twory2=2*ry2;tworx2=2*rx2;x=0;y=ry;plotpoint(x,xcenter,ycenter,y);p=abs(ry2-ry2*ry+(0.25*rx2));px=0;py=tworx2*y;while(px<py){x=x+1;px=px+twory2;if(p>=0){y=y-1;py=py-tworx2;}if(p<0){p=p+ry2+px;}else{p=p+ry2+px;}plotpoint(x,xcenter,ycenter,y);}p=abs(ry2*(x+6.5)*(x+6.5)+rx2*(y-1)*(y-1)-rx2*ry2);while(y>0){y=y-1;py=py-tworx2;if(p<0){x=x+1;px=px+twory2;}if(p>0){p=p+rx2-py;}else{p=p+rx2-py+px;plotpoint(x,xcenter,ycenter,y);}}}void plotpoint(int x,int xcenter,int ycenter,int y){putpixel(xcenter+x,ycenter+y,2);putpixel(xcenter-x,ycenter+y,2);putpixel(xcenter+x,ycenter-y,2);putpixel(xcenter-x,ycenter-y,2);}Output:PRACTICAL NO-18Write a program to implement flood-fill algorithm.#include<graphics.h>#include<iostream.h>#include<conio.h>void flood_fill(int,int,int,int);int main(){int xc,yc,r,fc,ic;int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"nter xc";cin>>xc;cout<<"enter yc";cin>>yc;cout<<"enter radius";cin>>r;setcolor(8);circle(xc,yc,r);cout<<"enter fill color:";cin>>fc;cout<<"enter interior color";cin>>ic;//setcolor(2);circle(xc,yc,r);flood_fill(xc,yc,fc,ic);getch();closegraph();return 0;}void flood_fill(int x1,int y1,int fc1,int ic1){int c=getpixel(x1,y1);cout<<"c";//int bc=0;if(c==ic1){putpixel(x1,y1,fc1);flood_fill(x1+1,y1,fc1,ic1);flood_fill(x1,y1+1,fc1,ic1);flood_fill(x1-1,y1,fc1,ic1);flood_fill(x1,y1-1,fc1,ic1);}}Output:PRACTICAL NO-19Write a program to implement boundary-fill algorithm.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<dos.h>void boundaryfill(int x,int y,int bcolor,int fcolor){delay(2);int current=getpixel(x,y);if((current!=fcolor)&&(current!=bcolor)){putpixel(x,y,fcolor);boundaryfill(x,y-1,bcolor,fcolor);boundaryfill(x-1,y,bcolor,fcolor);boundaryfill(x,y+1,bcolor,fcolor);boundaryfill(x+1,y,bcolor,fcolor);}}void main(){clrscr();int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int bcolor,fcolor;cout<<"enter the color of boundary(0 to 255):\n";cin>>bcolor;cout<<"enter the color to be filled(0 to 255):\n";cin>>fcolor;setcolor(bcolor);rectangle(300,100,360,150);int x=301,y=101;boundaryfill(x,y,bcolor,fcolor);getch();closegraph();}Output:PRACTICAL NO-20Write a program to implement line clipping.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void clip(float,float,float);int i,j=0,n;int rx1,rx2,ry1,ry2;float x1[8],y1[8];void main(){int gd=DETECT,gm;int i,n;float x[8],y[8],m;clrscr();initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"coodinates for rectangle:";cin>>rx1>>ry1>>rx2>>ry2;cout<<"no. of sides for polygon:";cin>>n;cout<<"coodinates";for(i=0;i<n;i++)cleardevice();outtextxy(10,470,"press any key...");rectangle(rx1,ry1,rx2,ry2);for(i=0;i<n-1;i++){scanf("%f %f",&x[i],&y[i]);}line(x[i],y[i],x[i+1],y[i+1]);line(x[i],y[i],x[0],y[0]);getch();cleardevice();for(i=0;i<n-1;i++){m=(y[i+1]-y[i])/(x[i+1]-x[i]);clip(x[i],y[i],m);}clip(x[0],y[0],m);rectangle(rx1,ry1,rx2,ry2);for(i=0;i<j-1;i++)line(x1[i],y1[i],x1[i+1],y1[i+1]);getch();}void clip(float e,float f,float m){while(e<rx1 e>rx2 f<ry1 f>ry2){if(e<rx1){f+=m*(rx1-e);e=rx1;}elseif(e>rx2){f+=m*(rx2-e);e=rx1;}if(f<ry1){e+=(ry1-f)/m;f=ry1;}elseif(f>ry2){e+=(ry2-f)/m;f=ry2;}x1[j]=e;y1[j]=f;j++;}}Output:PRACTICAL NO-21Write a program to implement polygon clipping.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void clip(float,float,float);int i,j=0,n;int rx1,rx2,ry1,ry2;float x1[8],y1[8];void main(){int gd=DETECT,gm;int i,n;float x[8],y[8],m;clrscr();initgraph(&gd,&gm,"C:\\TC\\BGI");cout<<"coordinates for rectangle";cin>>rx1>>rx2>>ry1>>ry2;cout<<"no. of sides for polygon";cin>>n;cout<<"coordinates";for(i=0;i<=n;i++){cin>>x[i]>>y[i];}cleardevice();rectangle(rx1,ry1,rx2,ry2);for(i=0;i<n-1;i++)line(x[i],y[i],x[i+1],y[i+1]);line(x[i],y[i],x[0],y[0]);getch();cleardevice();for(i=0;i<n-1;i++){m=(y[i+1]-y[i])/(x[i+1]-x[i]);clip(x[i],y[i],m);clip(x[i+1],y[i+1],m);}m=(y[i]-y[0])/(x[i]-x[0]);clip(x[i],y[i],m);clip(x[0],y[0],m);rectangle(rx1,ry1,rx2,ry2);for(i=0;i<j-1;i++)line(x1[i],y1[i],x1[i+1],y1[i+1]);getch();closegraph();}void clip(float e,float f,float m){while(e<rx1, e>rx2, f<ry1, f>ry2){if(e<rx1){f+=m*(rx1-e);e=rx1;}elseif(e>rx2){f+=m*(rx2-e);e=rx1;}elseif(e>rx2){f+=m*(rx2-e);e=rx2;}if(f<ry1){e+=(ry1-f)/m;f=ry1;}elseif(f>ry2){e+=(ry2-f)/m;f=ry2;}}x1[j]=e;y1[j]=f;j++;}}Output:PRACTICAL NO-22Write a program to implement 2D translation.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int x1,y1,x2,y2;cout<<"enter the coordinates";cin>>x1>>y1>>x2>>y2;int tx,ty,xn1,xn2,yn1,yn2;cout<<"enter the translation vector:";cin>>tx>>ty;cleardevice();outtextxy(400,100,"before translation");xn1=x1+tx;yn1=y1+ty;xn2=x2+tx;yn2=y2+ty;line(x1,y1,x2,y2);outtextxy(400,100,"after translation");line(xn1,yn1,xn2,yn2);getch();closegraph();}Output:PRACTICAL NO-23Write a program to implement 2D scaling.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int x1,y1,x2,y2;cout<<"enter the coordinates";cin>>x1>>y1>>x2>>y2;int xn1,xn2,yn1,yn2;float sx,sy;cout<<"enter the scaling factor:";cin>>sx>>sy;cleardevice();outtextxy(300,200,"before scaling");xn1=x1*sx;yn1=y1*sy;xn2=x2*sx;yn2=y2*sy;line(x1,y1,x2,y2);outtextxy(300,200,"after scaling");line(xn1,yn1,xn2,yn2);getch();closegraph();}Output:PRACTICAL NO-24Write a program to implement 2D rotation.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int x1,y1,x2,y2;cout<<"enter the coordinates";cin>>x1>>y1>>x2>>y2;int r;float xn1,xn2,yn1,yn2,rx;cout<<"enter the angle for rotation:";cin>>r;cleardevice();outtextxy(500,200,"before rotation");rx=(r*3.14)/180;xn1=x1*cos(rx)-y1*sin(rx);yn1=y1*cos(rx)+x1*sin(rx);xn2=x2*cos(rx)-y2*sin(rx);yn2=y2*cos(rx)+x2*sin(rx);line(x1,y1,x2,y2);outtextxy(500,200,"after rotation");line(xn1,yn1,xn2,yn2);getch();closegraph();}Output:PRACTICAL NO-25Write a program to implement 2D shearing.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int x1,y1,x2,y2;cout<<"enter the coordinates";cin>>x1>>y1>>x2>>y2;int sh;float xn1,xn2,yn1,yn2;cout<<"enter the value of shearing:";cin>>sh;cleardevice();outtextxy(500,100,"before shearing");xn1=x1+sh*y1;yn1=y1;xn2=x2+sh*y2;yn2=y2;line(x1,y1,x2,y2);outtextxy(500,100,"after shearing");line(xn1,yn1,xn2,yn2);getch();closegraph();}Output:PRACTICAL NO-26Write a program to implement 2D reflection.#include<graphics.h>#include<iostream.h>#include<conio.h>#include<math.h>void main(){int gd=DETECT,gm;initgraph(&gd,&gm,"C:\\TC\\BGI");int x1,y1,x2,y2;cout<<"enter the coordinates";cin>>x1>>y1>>x2>>y2;int xn1,xn2,yn1,yn2;cleardevice();outtextxy(300,100,"REFLECTION");if((x1<y1)^(x2<y2)){xn1=x1+50;xn2=x2+50;yn1=y1;yn2=y2;}else{xn1=x1;xn2=x2;yn1=y1+50;yn2=y2+50;}line(x1,y1,x2,y2);line(xn1,yn1,xn2,yn2);getch();closegraph();}Output: ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery

Related searches