Dev - C++ - Rotacion con radianes

   
Vista:

Rotacion con radianes

Publicado por kakaroteno (1 intervención) el 05/05/2015 05:22:24
hola quisiera saber como puedo rotar un cuadrado en dev c++ graphics ya hice que el angulo se transformara a radianes pero las formulas no me salen para rotar todos los puntos si me hecharan la mano se los agradeceria esto es lo que llevo hasta ahora

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include<math.h>
#include<iostream>
#include<winbgim.h>
using namespace std;
int main(){
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");
int linea=50;
line(50,250,550,250);
line(300,0,300,500);
for(int contador=0;contador<=50;contador++){
	line(linea,240,linea,260);
	linea+=10;
}
linea=0;
for(int contador=0;contador<=50;contador++){
	line(290,linea,310,linea);
	linea+=10;
}
int prueba;
float x,y,angulo;
float pi=3.1416;
const float conv=pi/180;
cout<<"Introduce la coordenada x:";
cin>>x;
cout<<"Introduce la coordenada y:";
cin>>y;
cout<<"introduce el angulo:";
cin>>angulo;
//cuadrado frontal
line(int(x+25) + int(50*cos((angulo+67.5)*conv)),y+25,x+25,(y-75)+ int(50*sin((angulo)*conv)));
line(x-25,y+25,x-25,y-25);
line(x+25,y+25,x-25,y+25);
line(x+25,y-25,x-25,y-25);
//cuadrado trasero
line(x,y,x+50,y);
line(x,y,x,y-50);
line(x+50,y-50,x,y-50);
line(x+50,y-50,x+50,y);
//diagonales
line(x,y,x-25,y+25);
line(x+50,y,x+25,y+25);
line(x-25,y-25,x,y-50);
line(x+25,y-25,x+50,y-50);
prueba=(y-75)+ int(50*sin((angulo+67.5)*conv));
cout<<prueba;
getch();
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder