elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda para rotar un punto en función de otro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda para rotar un punto en función de otro  (Leído 5,148 veces)
SrCooper

Desconectado Desconectado

Mensajes: 137


Bazinga!


Ver Perfil
Duda para rotar un punto en función de otro
« en: 5 Abril 2014, 17:54 pm »

Buenos días a todos, estoy creando un programa en C++ y quiero rotar un punto alrededor de otro. He estado buscando en internet y he encontrado en wikipedia una manera de rotarlo alrededor del origen de coordenadas (el punto 0,0).

http://es.wikipedia.org/wiki/Matriz_de_rotaci%C3%B3n

Lo que dice esta página es básicamente que para rotar un punto hay que multiplicarlo por la matriz de rotación, es decir, las coordenadas del punto quedarían así:

Código
  1. new_x = x * cos(angulo) - y * sen(angulo);
  2. new_y = x * sen(angulo) + y * cos(angulo);

Pero yo necesito que gire alrededor de otro punto y por más que lo intento no lo consigo (mi nivel de matemáticas de 1º de bachillerato no da para mucho en estos temas  ;D).

Un saludo y muchas gracias de antemano.


« Última modificación: 5 Abril 2014, 17:57 pm por SrCooper » En línea

noele1995

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Re: Duda para rotar un punto en función de otro
« Respuesta #1 en: 5 Abril 2014, 18:07 pm »

Código
  1. new_x = ((x - x_origin) * cos(angle)) - ((y_origin - y) * sin(angle)) + x_origin;
  2. new_y = ((y_origin - y) * cos(angle)) - ((x - x_origin) * sin(angle)) + y_origin;

Fuente: http://stackoverflow.com/questions/620745/c-rotating-a-vector-around-a-certain-point

Saludos


En línea

SrCooper

Desconectado Desconectado

Mensajes: 137


Bazinga!


Ver Perfil
Re: Duda para rotar un punto en función de otro
« Respuesta #2 en: 5 Abril 2014, 19:19 pm »

Muchas gracias por la ayuda, funcionó  :D

Un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Es correcto hacer esto para que otro thread ejecute una función?
Ingeniería Inversa
Zequez 3 3,497 Último mensaje 18 Febrero 2010, 22:47 pm
por MCKSys Argentina
Desactivar voltaje USB (planteamiento desde otro punto de vista)
Programación General
Haskell++ 2 3,608 Último mensaje 6 Septiembre 2012, 02:29 am
por sistemx
Tomar texto de un punto a otro en vb.net
.NET (C#, VB.NET, ASP)
<housedir> 8 5,796 Último mensaje 12 Enero 2013, 16:39 pm
por Eleкtro
Rotar punto alrededor de otro punto
Programación General
patilanz 0 1,968 Último mensaje 13 Diciembre 2015, 13:11 pm
por patilanz
duda con otro función en c
Programación C/C++
fernaEDLP 4 1,918 Último mensaje 29 Noviembre 2018, 04:40 am
por fernaEDLP
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines