Thursday, August 16, 2012
Line Clipping Program Using C Programming
#include<stdio.h>#include<conio.h>#include<graphics.h>#include<math.h>#define Round(val)((int)(val+.5))int maxx,maxy,miny,minx;void main(){ int gd=DETECT,gm; void clipping(int xa,int ya,int xb,int y); int xa,xb,ya,yb; printf("Enter the window coordination"); scanf("%d%d%d%d",&minx,&maxy,&maxx,&miny); printf("Enter the two and points for the line"); scanf("%d%d%d%d",&xa,&ya,&xb,&yb); initgraph(&gd,&gm,""); rectangle(minx,miny,maxx,maxy); line(xa,ya,xb,yb); getch(); closegraph();}void clipping(int xa,int ya,int xb,int yb){ int Dx=xb-xa,Dy=yb-ya,steps,k; int visible1=0,visible2=0; float xin,yin,x=xa,y=ya; if(abs(Dx)>abs(Dy)) steps=abs(Dx); else steps=abs(Dy); xin=Dx/(float)steps; yin=Dy/(float)steps; putpixel(Round(x),Round(y),2); for(k=0;k<steps;k++) { x+=xin; y+=yin; if((y>miny && y<maxx)) { visible1=1; putpixel(Round(x),Round(y),2); } else visible2=1; } if(visible1==0) outtextxy(20,200,"complextely visible"); if(visible1==1 && visible2==1) outtextxy(20,20,"partialy visible"); if(visible1==1&&visible2==0) outtextxy(20,20,"completly visible");}
Related Posts : C,
cg lab,
Computer Graphics programs,
programming
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment