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