Napisz program pozwalający na obrót punktu o kąt \(\displaystyle{ \alpha}\). Wczytaj współrzędne punktu przed obrotem \(\displaystyle{ x= \left( x_1, x_2 \right)}\) oraz kąt obrotu \(\displaystyle{ \alpha}\). Wypisz macierz przekształcenia \(\displaystyle{ A}\) oraz współrzędne punktu po obrocie \(\displaystyle{ y= \left( y_1, y_2 \right)}\), gdzie \(\displaystyle{ y=Ax}\) jest postaci:
\(\displaystyle{ \left[\begin{array}{ccc}y_1\\y_2\end{array}\right] = \left[\begin{array}{ccc}\cos \alpha& -\sin \alpha \\ \sin \alpha & \cos \alpha \end{array}\right] \left[\begin{array}{ccc}x_1\\x_2\end{array}\right]}\)
Napisalem taki program:
Kod: Zaznacz cały
#include<iostream>
#include<cmath>
using namespace std;
double cos( double radiany);
double sin( double radiany);
int punktx[1][2];
int punkty[1][2];
double macierzA[2][2];
double radiany,s,g;
int i,j, stopnie;
int main()
{
cout << "Wypisz 1 wspolrzedna punktu x: " << endl;
cin >> punktx[0][0];
cout << "Wypisz 2 wspolrzedna punktu x: " << endl;
cin >> punktx[1][0];
cout << "Podaj kat obrotu punktu x: " << endl;
cin >> stopnie;
double radiany = (stopnie * 3.14) / 180;
macierzA[0][0]= cos(radiany);
macierzA[0][1]= - sin(radiany);
macierzA[1][0]=sin(radiany);
macierzA[1][1]=cos(radiany);
for(i=0;i<2;i++)
{
for
(j=0;j<2;j++)
{
cout <<'\t'<< macierzA[i][j];
}
cout << endl;
}
s=0;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
g=(macierzA[i][j]*punktx[j][0]);
s=s+g;
g=0;
}
punkty[i][0]=s;
s=0;
}
cout << punkty[0][0] << endl;
cout << punkty[1][0] << endl;
system("pause");
return 0;
}