
Program to transform object ( Tringle or rectangle or Polygon) from window to view port. - MASTER GUIDE
Wednesday, August 25, 2021
Comment
Program to transform object ( Tringle or rectangle or Polygon)from window to view port.
#include <stdio.h>
#include<graphics.h>
void main()
{
int gd=DETECT,gm,n,i;
int xwmax , ywmax , xwmin , ywmin; // boundary values for window
int xvmax , yvmax , xvmin , yvmin ; // boundary values for viewport
float sx, sy;
//obj - object inside the window , view - object inside viewport
int objx[10],objy[10],viewx[10],viewy[10];
initgraph(&gd,&gm,"C:\\TURBOC3\\BGI");
printf("Enter the window coordinates(xwmin,ywmin,xwmax,ywmax):");
scanf("%d%d%d%d",&xwmin,&ywmin,&xwmax,&ywmax);
printf("Enter viewport coordinates (xvmin,yvmin,xvmax,yvmax):");
scanf("%d%d%d%d",&xvmin,&yvmin,&xvmax,&yvmax);
printf("Enter number of vertices:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Enter x and y coordinates of vertices:");
scanf("%d%d",&objx[i],&objy[i]);
}
cleardevice();
//draw window and plot an object inside the window
setcolor(RED);
outtextxy(xwmin,ywmin-10, "Window");
rectangle(xwmin,ywmin,xwmax,ywmax);
for(i=0;i<n-1;i++)
line(objx[i],objy[i],objx[i+1],objy[i+1]);
line(objx[i],objy[i],objx[0],objy[0]);
getch();
// calculating scaling factor sx and sy
sx = (float)(xvmax - xvmin) / (xwmax - xwmin);
sy = (float)(yvmax - yvmin) / (ywmax - ywmin);
// calculating the points of an object on viewport
for(i=0;i<n;i++)
{
viewx[i]= xvmin + (float)((objx[i] - xwmin) * sx);
viewy[i]=yvmin + (float)((objy[i] - ywmin) * sy);
}
//draw viewport and plot an object inside viewport
setcolor(BLUE);
outtextxy(xvmin,yvmin-10, "Viewport");
rectangle(xvmin,yvmin,xvmax,yvmax);
for(i=0;i<n-1;i++)
line(viewx[i],viewy[i],viewx[i+1],viewy[i+1]);
line(viewx[i],viewy[i],viewx[0],viewy[0]);
getch();
closegraph();
}
OUTPUT:
Baca Juga
- Program to implement midpoint circle generation algorithm -MASTER GUIDE
- Program to implement DDA Line generation algorithm for all 4 quadrants of a plane (x and y axis should meet at centre(320,240) i.e., Origin O(0,0) of user coordinate system)-MASTER GUIDE
- Program to implement Cohen-Sutherland Line clipping algorithm. -MASTER GUIDE
0 Response to "Program to transform object ( Tringle or rectangle or Polygon) from window to view port. - MASTER GUIDE"
Post a Comment