CAD PROGRAM.pdf

8
DDA LINE ALGORITHM PREPARED BY: U. J. PATEL Page 1 #include<stdio.h> #include<conio.h> #include<graphics.h> #include<dos.h> #include<math.h> #define round(a)((int)(a+0.5)) void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); float x1,y1,x2,y2,x,y,m,dx,dy; int steps,i; printf("enter co-ordinate first point x1,y1\n"); scanf("%f\n%f",&x1,&y1); printf("enter co-ordinate last point x2,y2\n"); scanf("%f\n%f",&x2,&y2); dx=x2-x1; dy=y2-y1; m=dy/dx; if(abs(dx)>=abs(dy)) { steps=abs(dx); } else { steps=abs(dy); } x=x1; y=y1; putpixel(getmaxx()/2+x,getmaxy()/2-y,RED); for(i=0;i<steps;i++) { if(abs(dx)>=abs(dy)) { if (x1<x2) { x=x+1; y=y+m; } else { x=x-1; y=y-m; } } else { if(y1<y2) { y=y+1;

description

Cad program available for c language for line , circle algorithm etc....

Transcript of CAD PROGRAM.pdf

  • DDA LINE ALGORITHM

    PREPARED BY: U. J. PATEL Page 1

    #include #include #include #include #include #define round(a)((int)(a+0.5)) void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); float x1,y1,x2,y2,x,y,m,dx,dy; int steps,i; printf("enter co-ordinate first point x1,y1\n"); scanf("%f\n%f",&x1,&y1); printf("enter co-ordinate last point x2,y2\n"); scanf("%f\n%f",&x2,&y2); dx=x2-x1; dy=y2-y1; m=dy/dx; if(abs(dx)>=abs(dy)) { steps=abs(dx); } else { steps=abs(dy); } x=x1; y=y1; putpixel(getmaxx()/2+x,getmaxy()/2-y,RED); for(i=0;i=abs(dy)) { if (x1

  • DDA LINE ALGORITHM

    PREPARED BY: U. J. PATEL Page 2

    x=x+1/m; } else { y=y-1; x=x-1/m; } } putpixel(getmaxx()/2+round(x),getmaxy()/2-round(y),YELLOW); delay(500); } getch(); closegraph(); }

  • BRESENHAMS LINE ALGORITHM

    PREPARED BY: U. J. PATEL Page 3

    #include #include #include #include #include void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); float x1,x2,y1,y2,x,y,m,dx,dy,p; int steps,i; printf("enter co-ordinate first point x1,y1\n"); scanf("%f\n%f",&x1,&y1); printf("enter co-ordinate last point x2,y2\n"); scanf("%f\n%f",&x2,&y2); dx=x2-x1; dy=y2-y1; m=abs(dy)/abs(dx); if(abs(dx)>=abs(dy)) { steps=abs(dx); p=2*dy - dx; } else { steps=abs(dy); p=2*dx - dy; } x=x1; y=y1; putpixel(getmaxx()/2+x,getmaxy()/2-y,RED); for(i=0;i=abs(dy)) { if (x1

  • BRESENHAMS LINE ALGORITHM

    PREPARED BY: U. J. PATEL Page 4

    else { x=x-1; if(p

  • BRESENHAMS CIRCLE ALGORITHM

    PREPARED BY: U. J. PATEL Page 5

    #include #include #include #include #include void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); int x,y,dx,dy,r,p,xc,yc; printf("Enter center co-ordinate of the circle xc,yc\n"); scanf("%d\n%d",&xc,&yc); printf("Enter the value of radius of circle\n") Enter the radius of the circle"); scanf("%d\n",&r); x=0; y=r; p=3-2r; putpixel(getmaxx()/2+xc,getmaxy()/2+yc,RED); whlie(x

  • MID-POINT CIRCLE ALGORITHM

    PREPARED BY: U. J. PATEL Page 6

    #include #include #include #include #include void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); int x,y,dx,dy,r,p,xc,yc; printf("Enter center co-ordinate of the circle xc,yc\n"); scanf("%d\n%d",&xc,&yc); printf("Enter the value of radius of circle\n") Enter the radius of the circle"); scanf("%d\n",&r); x=0; y=r; p=1-r; putpixel(getmaxx()/2+xc,getmaxy()/2+yc,RED); whlie(x

  • MID-POINT ELLIPSE ALGORITHM

    PREPARED BY: U. J. PATEL Page 7

    #include #include #include #include #include #define round(a)((int)(a+0.5)) void main() { clrscr(); int gm=DETECT,gd; initgraph(&gm,&gd,"C:\\Turboc3\\BGI"); line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy()); float xc,rx,yc,ry,x,y,dx,dy,p; printf("enter co-ordinate of center point xc,yc\n"); scanf("%f\n%f",&xc,&yc); printf("enter value of rx,ry\n"); scanf("%f\n%f",&rx,&ry); dx=0; dy=2*rx*rx*ry; x=0; y=ry; p=round((ry*ry)-(rx*rx*ry)+(0.25*rx*rx)); putpixel(getmaxx()/2+xc,getmaxy()/2-yc,RED); while(dx0) { x=x;

  • MID-POINT ELLIPSE ALGORITHM

    PREPARED BY: U. J. PATEL Page 8

    p=p-2*rx*rx*y+rx*rx; } else { x=x+1; p=p-2*rx*rx*y+2*ry*ry*x+rx*rx; } putpixel(getmaxx()/2+xc+x,getmaxy()/2-yc-y,BLUE); putpixel(getmaxx()/2+xc+x,getmaxy()/2-yc+y,BLUE); putpixel(getmaxx()/2+xc-x,getmaxy()/2-yc-y,BLUE); putpixel(getmaxx()/2+xc-x,getmaxy()/2-yc+y,BLUE); delay(50); } getch(); closegraph(); }