CAD PROGRAM.pdf
-
Upload
darshan-patel -
Category
Documents
-
view
221 -
download
1
description
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(); }