Thursday, 14 May 2015

CG-2015

PROGRAM 1

Aim – Write a program to implement basic functions
PROGRAM CODE
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
  int gd=DETECT,gm;
  initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
  setcolor(BLUE);
    rectangle(100,200,300,400);
  setcolor(GREEN);
    circle(190,150,20);
  setcolor(GREEN);
    line(100,200,190,20);
  setcolor(RED);
    line(300,200,190,20);
  setcolor(YELLOW);
    rectangle(220,400,180,300);
  setcolor(RED);
    line(100,200,190,20);
  getch();
  closegraph();
}
 

















PROGRAM 2

Aim – Write a program to implement Digital Differential Analyzer(DDA) alogorithm
PROGRAM CODE
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
  int gd=DETECT,gm,i;
  float x1,x2,y1,y2,dx,dy,xinc,yinc,step;
  clrscr();
  initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
  printf("\n Enter the starting coordinate ");
  scanf("%f%f",&x1,&y1);
  printf("\n Enter the end coordinate ");
  scanf("%f%f",&x2,&y2);
  dx=x2-x1;
  dy=y2-y1;
  if(dy<dx)
  step=dx;
  else
  step=dy;
  xinc=dx/step;
  yinc=dy/yinc;
  for(i=0;i<step;i++)
    {
      putpixel(x1,y1,1);
      x1=x1+xinc;
      y1=y1+yinc;
      delay(100);
    }
  getch();
  closegraph();
}

OUTPUT
Enter the starting coordinate  0  425
Enter the end coordinate  950 425

PROGRAM 3

Aim – Write a program to implement Bresenham’s Line alogorithm
PROGRAM CODE
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void main()
{
  int gd=DETECT,gm,i;
  float x1,x2,y1,y2,dx,dy,d;
  clrscr();
  initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
  printf("\n Enter the starting coordinate ");
  scanf("%d%d",&x1,&y1);
  printf("\n Enter the end coordinate ");
  scanf("%d%d",&x2,&y2);
  dx=x2-x1;
  dy=y2-y1;
  d=2*dy-dx;
  putpixel(x1,y1,WHITE);
  while(x1<=x2)
   {
     if(d<0)
      {
      x1=x1+1;
      d=d+2*dy;
      }
     else
      {
     x1=x1+1;
     y1=y1+1;
     d=d+2*(dy-dx);
    }
   putpixel(x1,y1,WHITE)
  getch();
  closegraph();
  }
}
OUTPUT
Enter the starting coordinate  0  425
Enter the end coordinate  950 425

PROGRAM 4

Aim – Write a program to implement Mid-Point Circle Alogorithm
PROGRAM CODE
#include<conio.h>
#include<stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm;
int i,r,x,y,xc,yc;
float d;
clrscr();
initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
initgraph(&gd,&gm,"c:\\tc\\");
printf("Enter Radius\n");
scanf("%d",&r);
printf("Enter Center of circle\n");
scanf("%d",&xc);
scanf("%d",&yc);
d=1.25-r;
x=0;
y=r;
do
{
  if(d<0)
   {
       x=x+1;
       d=d+2*x+1;
   }
  else
   {
      x=x+1;
      y=y-1;
      d=d+2*x-2*y+10;
   }
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);
putpixel(xc-x,yc-y,5);
putpixel(xc+x,yc-y,5);
putpixel(xc-x,yc+y,5);
}
while(x<y);
getch();
}


OUTPUT
Enter Radius      50
Enter Center of circle  150   150









PROGRAM 5

Aim – Write a program to implement Bresenham’s Circle Drawing Alogorithm
PROGRAM CODE
#include<stdio.h>
#include<conio.h>
#
include<graphics.h>
#
include<math.h>
void main()
 {
   int gd=DETECT,gm;
   int d,r,x,y,xc,yc;
   clrscr();
   initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
   printf("Enter Radius\n");
   scanf("%d",&r);
   printf("Enter Center of circle\n");
   scanf("%d",&xc);
   scanf("%d",&yc);
   d=3-2*r;
   x=0;
   y=r;
   while(x<=y)
     {
        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);
        putpixel(xc-x,yc-y,5);
        putpixel(xc+x,yc-y,5);
        putpixel(xc-x,yc+y,5);
        if(d<=0)
          {
             d=d+4*x+6;
          }
        else
          {
             d=d+4*x-4*y+10;
             y=y-1;
          }
        x=x+1;
     }

getch();
}

OUTPUT

Enter Radius                60
Enter Center of circle    130   130


 






















PROGRAM 6

Aim – Write a program to implement Bresenham’s Ellipse Drawing Alogorithm
PROGRAM CODE
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "graphics.h"
main()
{
                    int gd=DETECT,gm;
                    int xcenter,ycenter,rx,ry;
                    int p,x,y,px,py,rx1,ry1,rx2,ry2;
                    initgraph(&gd,&gm,"C:\\TurboC3\\BGI");
                    printf("Enter The Radius Value:\n");
                    scanf("%d%d",&rx,&ry);
                    printf("Enter The xcenter and ycenter Values:\n");
                    scanf("%d%d",&xcenter,&ycenter);
                    ry1=ry*ry;
                    rx1=rx*rx;
                    ry2=2*ry1;
                    rx2=2*rx1;

/* REGION 1 */

x=0;
                    y=ry;
                    plotpoints(xcenter,ycenter,x,y);
                    p=(ry1-rx1*ry+(0.25*rx1));
                    px=0;
                    py=rx2*y;
                    while(px<py)
                    {
                              x=x+1;
                             px=px+ry2;
                             if(p>=0)
                                       y=y-1;
                                       py=py-rx2;


                               if(p<0)
                                       p=p+ry1+px;
                              else
                                        p=p+ry1+px-py;
                    plotpoints(xcenter,ycenter,x,y);

/* REGION 2*/
                  
p=(ry1*(x+0.5)*(x+0.5)+rx1*(y-1)*(y-1)-rx1*ry1);
                   while(y>0)
                   {
                             y=y-1;
                             py=py-rx2;
                              if(p<=0)
                             {
                                       x=x+1;
                                       px=px+ry2;
                              }
                              if(p>0)
                                       p=p+rx1-py;
                             else
                                      p=p+rx1-py+px;
                     plotpoints(xcenter,ycenter,x,y);
                   }
               }
                    getch();
                    return(0);
            }

int plotpoints(int xcenter,int ycenter,int x,int y)
{
                    putpixel(xcenter+x,ycenter+y,6);
                    putpixel(xcenter-x,ycenter+y,6);
                    putpixel(xcenter+x,ycenter-y,6);
                    putpixel(xcenter-x,ycenter-y,6);

}

OUTPUT

Enter The Radius Value(Rx,Ry)           :     10      30
                  
Enter The xcenter and ycenter Values  :     300    150



 














No comments:

Post a Comment

---------------------------------------------------------------------------------------------------------
भामाशाह परिवार नामांकन विवरण सेवा प्रारम्भ कर दी गई हैं | CLICK HEAR विभागीय योजनाओं के बारे में जानकारी प्राप्‍त करने के लिए टोल फ्री नम्‍बर 1800-180-6127 पर सम्‍पर्क करें। PASSPORT APPLICATION FORM CLICK HEAR NEW PAN CARD APPLICATION FORM CLICK HEAR
---------------------------------------------------------------------------------------------------------