Criei o algorítmo abaixo que rotaciona um vetor em 360°:
#include <iostream>
#include <math.h>
using namespace std;
int rot (int a_graus) {
while (a_graus <= 360) {
float a = a_graus*0.0174532925; //Conversão de graus para radianos.
double M [2][2] = {{cos (a),-sin (a)}, {sin (a),cos (a)}}; //Matriz de rotação.
cout << "\n\n";
cout << "Vetor original:\n";
cout << "| ";
int vet [2] = {5,0}; //Vetor original.
for (int i = 0; i < 2; i++) {
cout << vet [i] << " | ";
}
float vet_R [2]; //Vetor rotacionado.
vet_R [0] = M [0][0] * vet [0] + M [0][1] * vet [1];
vet_R [1] = M [1][0] * vet [0] + M [1][1] * vet [1];
cout << "\nVetor rotacionado a " << a_graus << " graus.\n";
cout << "| ";
for (int i = 0; i < 2; i++) {
cout << vet_R [i] << " | ";
}
cout << "\n";
a_graus = a_graus+30;
}
}
int main()
{
int a_graus;
cout << "Digite o razao da rotacao: ";
cin >> a_graus;
char M_demo [][15] = {"|cos -sen a|","|sen a cos a|"};
cout << "\nMatriz de rotacao:\n";
for(int i = 0; i < 2; i++){
cout << M_demo [i] << endl;
}
rot (a_graus);
}
Então, ao que me parece, está funcionando corretamente.
O problema é que além disso, o professor de álgebra quer que mostremos isso graficamente.
Sei que é possível criar uma animação utilizado a biblioteca Allegro ou OpenGl, mas não tenho a mínima idéia de como fazer..Não sei nem por onde começar :S
Utilizo o compilador code blocks.
Gostaria que se possível alguém desse uma dica, porque estou perdidão!
Pergunta
Diego Menezes
Olá pessoal.
Criei o algorítmo abaixo que rotaciona um vetor em 360°:
Então, ao que me parece, está funcionando corretamente.
O problema é que além disso, o professor de álgebra quer que mostremos isso graficamente.
Sei que é possível criar uma animação utilizado a biblioteca Allegro ou OpenGl, mas não tenho a mínima idéia de como fazer..Não sei nem por onde começar :S
Utilizo o compilador code blocks.
Gostaria que se possível alguém desse uma dica, porque estou perdidão!
Abraço!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.