Algorithm:


/* Shearing Programme */
/* Source Code Written By VISHAL NAGDA, IDE : DEV-C++ 4.9.9.2 */
Shearing's Matrix
 Sh[3][3] = { {1, sx, 0}, {sy, 1, 0}, {0, 0, 1} };
Program:
#include<graphics.h>

int main()
{
    double x=200,y=200,x1=550,y1=200,x2=550,y2=400,x3=200,
           y3=400,sx=.1,sy=0.1;
    double rect[3][4]={{x,x1,x2,x3},{y,y1,y2,y3},{1,1,1,1}},
           shr[3][3]={{1,sx,0},{sy,1,0},{0,0,1}},ans[3][4];
    int i,j,k;
    initwindow(800,600,"Shearing");
    outtextxy(80,60,"Shearing");
    outtextxy(80,500,"Please Press Enter Key");
    
  line((int)rect[0][0],(int)rect[1][0],(int)rect[0][1],(int)rect[1][1]);
  line((int)rect[0][1],(int)rect[1][1],(int)rect[0][2],(int)rect[1][2]);
  line((int)rect[0][2],(int)rect[1][2],(int)rect[0][3],(int)rect[1][3]);
  line((int)rect[0][3],(int)rect[1][3],(int)rect[0][0],(int)rect[1][0]);
    
    for(i=0;i<3;i++)
    for(j=0;j<4;j++)
    {
        ans[i][j]=0;
        for(k=0;k<3;k++)
           ans[i][j]+=shr[i][k]*rect[k][j];
    }

    getch();
    cleardevice();
    setcolor(WHITE);
    outtextxy(80,60,"Shearing");
 
    line((int)ans[0][0],(int)ans[1][0],(int)ans[0][1],(int)ans[1][1]);
    line((int)ans[0][1],(int)ans[1][1],(int)ans[0][2],(int)ans[1][2]);
    line((int)ans[0][2],(int)ans[1][2],(int)ans[0][3],(int)ans[1][3]);
    line((int)ans[0][3],(int)ans[1][3],(int)ans[0][0],(int)ans[1][0]);
    
    while(!kbhit());    
    return 0;
}

Output:



Leave a Reply

Subscribe to Posts | Subscribe to Comments

All Notes on BCA

All Notes  on BCA
BCA all subjects notes

Total Pageviews

Translate

Powered by Blogger.

Copyright © All Notes on BCA