SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: avis_phoenix en Domingo 5 de Septiembre de 2004, 05:39

Título: Girar Imagenes
Publicado por: avis_phoenix en Domingo 5 de Septiembre de 2004, 05:39
alguein sabe algún algoritmo para girar una imagen?
Título: Re: Girar Imagenes
Publicado por: Ruben3d en Domingo 5 de Septiembre de 2004, 12:48
¿Un ángulo arbitrario o un múltiplo de 90º?
Título: Re: Girar Imagenes
Publicado por: LeGatoRojo en Lunes 6 de Septiembre de 2004, 05:48
bueno si alguna vez hiciste el reloj analogico, ya esta tu problema resuelto, si no, entonces recuerda que algo que gira describe una trayectoria circular de 360°, entonces para rotar un punto recuerda que x es igual a la longitud por el coseno del angulo, y para y es longitud por el seno del angulo.
Título: Re: Girar Imagenes
Publicado por: avis_phoenix en Martes 7 de Septiembre de 2004, 02:51
Buneo si he hecho un reloj analogo hasta puse elcodigo en post hace tiempo, mmm bueno entonces simplemente tendré que pensar, bueno gracias.
Título: Re: Girar Imagenes
Publicado por: victorprzm en Domingo 6 de Noviembre de 2005, 21:18
:alien:  :alien:

bien pues es sencillo si ya realizaste un reloj

segun dices pero si no tengo ninguno no m e puedes ayudar es mas si me facilitaras el codigigo de el reloj sencillo te lo agradeceria bastante

 :D  :D
Título: Re: Girar Imagenes
Publicado por: avis_phoenix en Lunes 7 de Noviembre de 2005, 01:05
Pues no encontre el mio pero entonre uno por ahi que dice como ahxcer las manecillas, esta facil el codigo no tiene mucho chiste, el mio era en vesa y no lo encuentro ene lf oro, asì que aca esta:

Código: Text
  1.  
  2. // written in Borland CPP ver 3.1
  3.  
  4. // for graphics programs set options windows:
  5.  
  6. //              options -> linker -> libraries -> [x] graphics library
  7.  
  8.  
  9.  
  10. #include <conio.h>
  11.  
  12. #include <dos.h>
  13.  
  14. #include <graphics.h>
  15.  
  16. #include <math.h>
  17.  
  18.  
  19.  
  20. #define  xo  320
  21.  
  22. #define  yo  240
  23.  
  24. #define  r   200
  25.  
  26. #define  PI  3.14159
  27.  
  28.  
  29.  
  30. void Init()
  31.  
  32. {
  33.  
  34.   int driver,mode;
  35.  
  36.   detectgraph(&driver,&mode);
  37.  
  38.   initgraph(&driver,&mode,"d:\\borlandc\\bgi");
  39.  
  40. }  // INIT
  41.  
  42.  
  43.  
  44. void Process()
  45.  
  46. {
  47.  
  48.   float alpha = 0;
  49.  
  50.   int   x1 = xo + r*cos(alpha),
  51.  
  52.        y1 = yo + r*sin(alpha);
  53.  
  54.   setcolor(YELLOW);
  55.  
  56.   setwritemode(1);
  57.  
  58.   while(!kbhit())
  59.  
  60.   {
  61.  
  62.     line(xo,yo,x1,y1);
  63.  
  64.     delay(300);
  65.  
  66.     line(xo,yo,x1,y1);
  67.  
  68.     alpha += PI/24;
  69.  
  70.     x1 = xo + r*cos(alpha);
  71.  
  72.     y1 = yo + r*sin(alpha);
  73.  
  74.   }
  75.  
  76. }  // DRAW WHEEL
  77.  
  78.  
  79.  
  80. void main()
  81.  
  82. {
  83.  
  84.   Init();
  85.  
  86.   for(int i = 30;i <= r;i += 10)
  87.  
  88.   {
  89.  
  90.     setcolor(i % 7 + 1);
  91.  
  92.     circle(xo,yo,i);
  93.  
  94.   }
  95.  
  96.   Process();
  97.  
  98.   closegraph();
  99.  
  100. }  // MAIN
  101.  
  102.  

Bueno espero pueda alguien decirme como es el algoritmo
Título: Re: Girar Imagenes
Publicado por: Solman en Lunes 7 de Noviembre de 2005, 03:05
solo utliza las formulas de rotacion amigo

ten en cuenmta q el angulo debe de estar en radianes

PI=3.1416
angulo=angulo*PI/180;

x1=x*sen(angulo)-y*cos(angulo);
x2=x*cos(angulo)+y*sen(angulo);