Algorithm:


/* Rotation Programe */
/* Source Code Written By Vishal Nagda, Using IDE DEV-C++ 4.9.9.2 */

Rotation's Matrix
 
 R[3][3] = {{cos(angle), -sin(angle), 0}, {sin(angle), cos(angle), 0},
           {0, 0, 1} };
Program:


#include<graphics.h>
#include<math.h>

int main()
{
    int x=200,y=300,x1=140,y1=360,x2=280,y2=360,i,j,k;
    double a=(-45*3.143)/180;
    double rot[3][3]={{cos(a),-sin(a),0},{sin(a),cos(a),0},{0,0,1}},
           tri[3][3]={{x,x1,x2},{y,y1,y2},{0,0,1}},ans[3][3];
    
    for(i=0;i<3;i++)
    for(j=0;j<3;j++)
    {
       ans[i][j]=0;
       for(k=0;k<3;k++)
         ans[i][j]+=rot[i][k]*tri[k][j];
    }
    
    initwindow(800,600,"Rotation");
    outtextxy(80,60,"Rotation");
    setcolor(2);
    line((int)tri[0][0],(int)tri[1][0],(int)tri[0][1],(int)tri[1][1]);
    setcolor(4);
    line((int)tri[0][1],(int)tri[1][1],(int)tri[0][2],(int)tri[1][2]);
    setcolor(6);
    line((int)tri[0][2],(int)tri[1][2],(int)tri[0][0],(int)tri[1][0]);
    
    getch();
    outtextxy(80,60,"Please Click Enter Key");
    cleardevice();
    setcolor(WHITE);
    outtextxy(80,60,"Rotation");
    setcolor(2);
    line((int)ans[0][0],(int)ans[1][0],(int)ans[0][1],(int)ans[1][1]);
    setcolor(4);
    line((int)ans[0][1],(int)ans[1][1],(int)ans[0][2],(int)ans[1][2]);
    setcolor(6);
    line((int)ans[0][2],(int)ans[1][2],(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