Subpage under development, new version coming soon!
Subject: problema trigonometría
- 1
- 2
jano [del] to
All
Estoy buscando... y no soy capaz de encontrar como hacerlo :S
Tengo un rectángulo, con sus cuatro vértices. Queremos rotarlo... ¿Cómo encuentro las coordenadas de cada uno de los vertices dado un ángulo de rotación x?
¡gracias!
Tengo un rectángulo, con sus cuatro vértices. Queremos rotarlo... ¿Cómo encuentro las coordenadas de cada uno de los vertices dado un ángulo de rotación x?
¡gracias!
no se si he entendido bien pero...teniendo las coordenadas de un verice, puedes hallar la distancia al origen de coordenadas, la cual sera uno de los catetos del triangulo... una vez tienes ese cateto, con coseno angulo a rotal= ese cateto/ hipotenusa, despejas la hipotenusa, que sera la distancia del origen al nuevo vertice rotado cn ese angulo... y el lado opuesto cn el seno, asi formas un triangulo rectangulo. y ya sabiendo las distancias...el origen de coordenadas y demas...sacas las coordenadas dl nuevo
supongo k sera mas facil xo hace años k no doy algo similar xD
(edited)
supongo k sera mas facil xo hace años k no doy algo similar xD
(edited)
hayas la media diagonal, y vas multiplicando x seno y coseno para hallar las coordenadas...
Yo utilizaría el compás, la escuadra y el cartabón de toda la vida. :P
a ver si me explico mejor
tengo por ejemplo un cuadrado tal que
vertice 1 = (0,10)
vertice 2 = (10, 10)
vertice 3 = (0, 0)
vertice 4 = (10, 10)
¿Cómo puedo calcular cada uno de sus vértices si quiero tener el mismo rectángulo rotado treinta grados (por ejemplo) según las agujas de reloj?
Es que en GDI-C++ no hay una función "rotate" tal cual, hay que trabajar a más bajo nivel :S Y quiero que una imagen rote apuntando al puntero.
(edited)
tengo por ejemplo un cuadrado tal que
vertice 1 = (0,10)
vertice 2 = (10, 10)
vertice 3 = (0, 0)
vertice 4 = (10, 10)
¿Cómo puedo calcular cada uno de sus vértices si quiero tener el mismo rectángulo rotado treinta grados (por ejemplo) según las agujas de reloj?
Es que en GDI-C++ no hay una función "rotate" tal cual, hay que trabajar a más bajo nivel :S Y quiero que una imagen rote apuntando al puntero.
(edited)
se supone que rotaba con el punto de referencia en el centro del rectangulo no?
en el centro del rectangulo o respecto al origen de coordenadas xD
no... si usas esa formula es en el centro de gravedad... sino lo estas haciendo mal.
ya ya, xo no sabia si Jano lo estaba teniendo en cuenta o respecto al origen o respecto al centro:P
ya decía yo que me salía raro...
1º) Hay que tener en cuenta que en programación se toma el cuarto cuadrante, no el segundo :S (vaya, que el Y comienza desde arriba, 0,0 es la esquina superior izquierda y 600,0; en una pantalla de 800,600, es la esquina inferior izquierda)
2º) La imagen aparece rotada... pero trasladada unos cien píxeles abajo a la izquierda. (x debe ser unos cien píxeles mayor e y unos cien píxeles menor).
¿Alguna otra fórmula?
(edited)
1º) Hay que tener en cuenta que en programación se toma el cuarto cuadrante, no el segundo :S (vaya, que el Y comienza desde arriba, 0,0 es la esquina superior izquierda y 600,0; en una pantalla de 800,600, es la esquina inferior izquierda)
2º) La imagen aparece rotada... pero trasladada unos cien píxeles abajo a la izquierda. (x debe ser unos cien píxeles mayor e y unos cien píxeles menor).
¿Alguna otra fórmula?
(edited)
hombre, si consigues que rote así luego sólo tienes que desplazarlo para colocarlo donde tú quieras.
es lo que he hecho... trasladarlo. Pero se me vuelve loco y no sé por qué
Tenemos la posición del puntero. Según esa posición, una imagen colocada en la posición (X, Y) se moverá a un lado o a otro. Si la imagen está recta, no hay problemas, pero en cuanto la roto con esta traslación se vuelve un poco loco (por lo cual supongo que, simplemente, sumándole un número fijo a las coordenadas x e y no tira)
Tenemos la posición del puntero. Según esa posición, una imagen colocada en la posición (X, Y) se moverá a un lado o a otro. Si la imagen está recta, no hay problemas, pero en cuanto la roto con esta traslación se vuelve un poco loco (por lo cual supongo que, simplemente, sumándole un número fijo a las coordenadas x e y no tira)
- 1
- 2