C

Tuesday, 30 October 2018

Write a program to draw a circle using mid-point circle drawing algorithm.


#include<iostream.h>
#include<graphics.h>
#include<conio.h>
void drawcircle(int x0, int y0, int r)
{
                int x=r;
                int y=0
                int err=0;

                while(x>=y)
                {
                                putpixel(x0+x,y0+y,7);
                                putpixel(x0+y,y0+x,7);
                                putpixel(x0-y,y0+x,7);
                                putpixel(x0-x,y0+y,7);
                                putpixel(x0-x,y0-y,7);
                                putpixel(x0-y,y0-x,7);
                                putpixel(x0+y,y0-x,7);
                                putpixel(x0+x,y0-y,7);
                                if(err<=0)
                                {
                                                y+=1;
                                                err+=2*y+1;
                                }
                                if(err>0)
                                {
                                                x-=1;
                                                err-=2*x+1;
                                }
                }
}
int main()
{
                int gd=DETECT, gm, error,x,y,r;
                initgraph(&gd,&gm,"c:\\turboc3\\bgi");
                cout<<"Enter the radius of Circle :";
                cin>>r;
                cout<<"Enter values for center x and y :";
                cin>>x>>y;
                drawcircle(x,y,r);
                getch();
                return 0;
}

Write a program to draw a circle using Bresenham’s circle drawing algorithm.


#include<iostream.h>
#include<conio.h>
#include<graphics.h>
void drawCircle(int x, int y, int xc, int yc);
void main()
{
                int gd = DETECT, gm;
                int r, xc, yc, pk, x, y;
                initgraph(&gd, &gm, "c:\\turboc3\\bgi");
                cout<<"\n
                Enter the values for center x and y\n";
                cin>>xc>>yc;
                cout<<"Enter the radius of circle\n";
                cin>>r;
                pk = 3 - 2*r;
                x=0; y = r;
                drawCircle(x,y,xc,yc);
                while(x < y)
                {
                                if(pk <= 0)
                                {
                                                pk = pk + (4*x) + 6;
                                                drawCircle(++x,y,xc,yc);
                                }
                                else
                                {
                                                pk = pk + (4*(x-y)) + 10;
                                                drawCircle(++x,--y,xc,yc);
                                }
                }

                getch();
                closegraph();
}

void drawCircle(int x, int y, int xc, int yc)
{
                putpixel(x+xc,y+yc,WHITE);
                putpixel(-x+xc,y+yc,WHITE);
                putpixel(x+xc, -y+yc,WHITE);
                putpixel(-x+xc, -y+yc, WHITE);
                putpixel(y+xc, x+yc, WHITE);
                putpixel(y+xc, -x+yc, WHITE);
                putpixel(-y+xc, x+yc, WHITE);
                putpixel(-y+xc, -x+yc, WHITE);
}

Write a C++ program to draw a line using Bresenham’s line drawing algorithm.


#include<iostream.h>
#include<graphics.h>
#include<conio.h>
void drawline(int x0, int y0, int x1, int y1)
{
                int dx, dy,p,x,y;

                dx=x1-x0;
                dy=y1-y0;
                x=x0;
                y=y0;

                p=2*dy-dx;
                while(x<x1)
                {
                                if(p>=0)
                                {
                                                putpixel(x,y,7);
                                                y=y+1;
                                                p=p+2*dy-2*dx;
                                }
                                else
                                {
                                                putpixel(x,y,7);
                                                p=p+2*dy;
                                }
                                x=x+1;
                }
}
int main()
{
                int gd=DETECT, gm, error, x0,y0,x1,y1;
                initgraph(&gd,&gm,"c:\\turboc3\\bgi");
                cout<<"Enter the values of x0 and y0 :";
                cin>>x0>>y0;
                cout<<"Enter the vlaues of x1 and y1 :";
                cin>>x1>>y1;
                drawline(x0,y0,x1,y1);
                getch();
                return 0;
}

Write a C++ program of DDA Line Drawing Algorithm..

#include<graphics.h>
#include<stdio.h>
#include<math.h>
#include<dos.h>
#include<conio.h>
void main( )
{
       float x,y,x1,y1,x2,y2,dx,dy,step;
       int i,gd=DETECT,gm;

     initgraph(&gd,&gm,"c:\\turboc3\\bgi");

      printf("\nEnter the value of x1 and y1 : ");
      scanf("%f%f",&x1,&y1);
      printf("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,WHITE);
           x=x+dx;
           y=y+dy;
           i=i+1;
           delay(100);
    }

getch();
        closegraph();
}

Write a program to draw a circle using mid-point circle drawing algorithm.

#include<iostream.h> #include<graphics.h> #include<conio.h> void drawcircle(int x0, int y0, int r) {         ...