Friday 27 September 2013

Window to viewport Aglorithm | Computer Graphics Lab Manual | IT department | Final Year





#include
#include
#include
#include
struct point
{
float x,y;
};
void main()
{
int gd,gm,i;
struct point pw[3],pv[3],wmin,wmax,vmin,vmax;
float sx,sy;
detectgraph(&gd,&gm);
initgraph(&gd,&gm,"c:\\tc\\bgi");
printf("enter the world coordinates min x,y, max x,y:\n");
scanf("%f%f%f%f",&wmin.x,&wmax.x,&wmin.y,&wmax.y);
printf("enter the view ports min x,y max x,y");
scanf("%f%f%f%f",&vmin.x,&vmax.x,&vmin.y,&vmax.y);
printf("enter the coordinates of the line");
for(i=0;i<3 i="" p=""> scanf("%f%f",&pw[i].x,&pw[i].y);
sx=(vmax.x-vmin.x)/(wmax.x-wmin.x);
sy=(vmax.y-vmin.y)/(wmax.y-wmin.y);
for(i=0;i<3 i="" p=""> {
pv[i].x=vmin.x+(pw[i].x-wmin.x)*sx;
pv[i].y=vmin.y+(pw[i].y-wmin.y)*sy;
}
cleardevice();
rectangle(wmin.x,wmin.y,wmax.x,wmax.y);
line(pw[0].x,pw[0].y,pw[1].x,pw[1].y);
line(pw[1].x,pw[1].y,pw[2].x,pw[2].y);
rectangle(vmin.x,vmin.y,vmax.x,vmax.y);
line(pv[2].x,pv[2].y,pv[1].x,pv[1].y);
line(pv[1].x,pv[1].y,pv[0].x,pv[0].y);

}




No comments:

Don't You Think this Awesome Post should be shared ??
| Window to viewport Aglorithm | Computer Graphics Lab Manual | IT department | Final Year |
Back To Top Related Posts Plugin for WordPress, Blogger...