Shearing of 2D object
#include"2dframe.CPP"
#include<iostream.h>
void shear_rectangle(int ,int,int ,int ,float );
void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc\\bgi");
cout<<"\nEnter Your 2D-Frame Length:\n";
cout<<"\nANY VALUE BETWEEN 1000 - 30000:";
cin>>frame_length;
int x_start=0,y_start=0,length_x,breadth_y;
cout<<"\nEnter the Start point of the rectangle\n";
cin>>x_start>>y_start;
cout<<"\nEnter length,breadth of Rectagle:\n";
cin>>length_x ;
cin>>breadth_y;
DRAW2DFRAME();
//CREATE THE RECTANGLE
rectangle2d(x_start,y_start,length_x,breadth_y);
getch();
cleardevice();
float sh;
cout<<"\nFor this Rectangle : ";
cout<<"\nMAX Range Of Shear factor along Y-axis=0.0 TO\t ";
cout<<(frame_length/breadth_y);
cout<<"\nEnter the shear factors:sh\n";
cin>>sh;
DRAW2DFRAME();
outtextxy(25,40,"Before Shear");
rectangle2d(x_start,y_start,length_x,breadth_y);
getch();
DRAW2DFRAME();
outtextxy(25,40,"After Shear");
shear_rectangle(x_start,y_start,length_x,breadth_y,sh);
getch();
closegraph();
}
void shear_rectangle
(int x,int y,int length_x,int breadth_y,float sh)
{
int arr1[2],arr2[2],arr3[2],arr4[2];
int X1,Y1,X2,Y2;
int x1,y1,x2,y2;
///////////////////////////////////////////////////////////////////
x1=x,y1=y;
x2=x1,y2=y1+breadth_y;
shear_point_Y(x1,y1,sh);
X1=P1[0][0];
Y1=P1[0][1];
shear_point_Y(x2,y2,sh);
X2=P1[0][0];
Y2=P1[0][1];
line2d(X1,Y1,X2,Y2,arr1,arr2,YELLOW);
//*******************************************************************
//*******************************************************************
x1=x+length_x;y1=y;
x2=x+length_x,y2=y+breadth_y;
shear_point_Y(x1,y1,sh);
X1=P1[0][0];
Y1=P1[0][1];
shear_point_Y(x2,y2,sh);
X2=P1[0][0];
Y2=P1[0][1];
line2d(X1,Y1,X2,Y2,arr1,arr2,GREEN);
//****************************************************************
//****************************************************************
x1=x,y1=y;
x2=x+length_x,y2=y1;
shear_point_Y(x1,y1,sh);
X1=P1[0][0];
Y1=P1[0][1];
shear_point_Y(x2,y2,sh);
X2=P1[0][0];
Y2=P1[0][1];
line2d(X1,Y1,X2,Y2,arr1,arr2,LIGHTBLUE);
//*******************************************************************
//*******************************************************************
x1=x,y1=y+breadth_y;
x2=x+length_x,y2=y+breadth_y;
shear_point_Y(x1,y1,sh);
X1=P1[0][0];
Y1=P1[0][1];
shear_point_Y(x2,y2,sh);
X2=P1[0][0];
Y2=P1[0][1];
line2d(X1,Y1,X2,Y2,arr1,arr2,MAGENTA);
///////////////////////////////////////////////////////////////////
//******************************************************************
//******************************************************************
}
No comments:
Post a Comment