Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2015, 21:21
kakaroteno
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 9 años
Puntos: 0
Rotacion con radianes

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

#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;
}