Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/05/2015, 11:29
Fw190
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Rotacion con radianes

La cosa es tan sencilla como trabajar en coordenadas polares.

En coordenadas cartesianas, como ya sabes, la posición de un punto viene dada por su distancia a un eje vertical (abscisa, X) y su distancia a un eje horizontal (ordenada, Y).

En coordenadas polares, la posición de un punto viene dada por su distancia al origen de coordenadas, y por el ángulo que forma con el eje horizontal el segmento que une el origen de coordenadas con el punto.

Es decir, en coordenadas cartesianas el punto viene dado por un par (x,y), y en polares por un par (r,A) (siendo A el ángulo).

El paso de una a otra es simple:

r = sqrt(x^2 + y^2)
A = arctan (y/x)

x = r * cos(A)
y = r * sin(A)

Para la rotación, es mucho más cómodo el empleo de las coordenadas polares: Basta con cambiar el ángulo y recalcular X e Y.

En tu caso, para el cuadrado, el proceso sería:
1. Guardar las posiciones de los vértices
2. Borrar el cuadrado actual
3. Recalcular las nuevas posiciones de los vértices
4. Dibujar de nuevo el cuadrado

Tendrás que tener en cuenta que:
- El origen de coordenadas no va a estar en la posición (0,0) de la pantalla.
- La posición (0,0) corresponde a la esquina superior izquierda de la pantalla. La horizontal crece de izquierda a derecha (normal), pero la vertical crece de arriba hacia abajo (al contrario de lo que es normal).

Debes tener en cuenta en dónde queda el ángulo real, en función de los valores de X e Y.