C++ Programs


Program for Line drawing (Using inbuilt functions)
//#include<stdio.h>
#include<conio.h>
//#include<math.h>
#include<graphics.h>
#include<stdlib.h>
#include<iostream.h>
void main()
{

      int gd = DETECT, gm;
      initgraph(&gd, &gm, "C:\\turboc3\\bgi");
      cleardevice();
      int errorcode;
      errorcode=graphresult();
      //cout<<errorcode;
      if(errorcode!=0)
{
cout<<"Graphics Error"<<grapherrormsg(errorcode);
cout<<"Press to halt";
getch();


}
line(0,0,100,100);
getch();
closegraph();
}



Program for Line drawing (Using DDA algorithm, Digital Differential Analyzer)
#include <graphics.h>
#include <stdio.h>
#include <math.h>
#include <dos.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream.h>

void main()
{
      float x,y,x1,y1,x2,y2,dx,dy,step;

      int i, gd = DETECT, gm;
      initgraph(&gd, &gm, "C:\\turboc3\\bgi");
      cleardevice();
      int errorcode;
      errorcode=graphresult();
      //cout<<errorcode;
      if(errorcode!=0)
{
cout<<"Graphics Error"<<grapherrormsg(errorcode);
cout<<"Press to halt";
getch();


}
    cout<<"Enter the value of x1 and y1 : ";
    scanf("%f%f",&x1,&y1);
    cout<<"Enter the value of x2 and y2: ";
    scanf("%f%f",&x2,&y2);

    dx=abs(x2-x1);
    dy=abs(y2-y1);

    if(dx>=dy)
step=dx;
    else
step=dy;

    dx=dx/step;
    dy=dy/step;

    x=x1;
    y=y1;

    i=1;
    while(i<=step)
    {
putpixel(x,y,5);
x=x+dx;
y=y+dy;
i=i+1;
delay(10);
    }
//line(0,0,100,100);
cout<<"done";
getch();
closegraph();
}





Program to draw a straight line using Bresenham's algorithm

#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
void main()
{
clrscr();
int gdriver=DETECT;
int gmode;
char path;
initgraph(&gdriver,&gmode,"C:\\TURBOC3\\BGI\\");
int xa,xb,ya,yb,xend;
cout<<"Enter First x Co-ordinate (xa): ";
cin>>xa;
cout<<"Enter First y Co-ordinate (ya): ";
cin>>ya;
cout<<"Enter Second x Co-ordinate (xb): ";
cin>>xb;
cout<<"Enter Second y Co-ordinate (yb): ";
cin>>yb;
int dx=abs(xa-xb);
int dy=abs(ya-yb);
int p=2*dy-dx;
int twody=2*dy;
int twodydx=2*(dy-dx);
int x,y;
if(xa>xb)
{
x=xb;
y=yb;
xend=xa;
}
else
{
x=xa;
y=ya;
xend=xb;
}
putpixel(x,y,WHITE);
while(x<xend)
{
x++;
if(p<0)
{
p=p+twody;
}
else
{
y++;
p=p+twodydx;
}
putpixel(x,y,WHITE);

}
  getch();
  closegraph();
}


Write a program to draw a circle using mid point algorithm


#include<iostream.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
#include<math.h>
void main()
{
            clrscr();
            int gdriver=DETECT;
            int gmode;
            char path;
            initgraph(&gdriver, &gmode, "C:\\TURBOC3\\BGI\\");
            int xc,yc,radius;
            cout<<"Enter xc=";
            cin>>xc;
            cout<<"Enter yc=";
            cin>>yc;
            cout<<"Enter radius=";
            cin>>radius;
            int x=0;
            int y=radius;
            int p= 1-radius;
            void circle1(int,int,int,int);
            circle1(xc,yc,x,y);
            while(x<y)
            {
                        x++;
                        if(p<0)
                        {
                                    p=p+(2*x+1);
}

                        else
                        {
                                    y--;
                                    p=p+(2*(x-y)+1);
                        }
                        circle1(xc,yc,x,y);
             }
            getch();
            closegraph();
 }
 void circle1(int xc, int yc, int x, int y)
 {
            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);
 }

No comments:

Post a Comment