Azərbaycan dili Bahasa Indonesia Bosanski Català Čeština Dansk Deutsch Eesti English Español Français Galego Hrvatski Italiano Latviešu Lietuvių Magyar Malti Mакедонски Nederlands Norsk Polski Português Português BR Românã Slovenčina Srpski Suomi Svenska Tiếng Việt Türkçe Ελληνικά Български Русский Українська Հայերեն ქართული ენა 中文
Subpage under development, new version coming soon!

Subject: problema trigonometría

  • 1
  • 2
2009-02-04 23:38:46
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!
2009-02-05 00:40:26
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)
2009-02-05 00:49:45
hayas la media diagonal, y vas multiplicando x seno y coseno para hallar las coordenadas...
2009-02-05 00:51:01
Yo utilizaría el compás, la escuadra y el cartabón de toda la vida. :P
2009-02-05 01:26:41
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)
2009-02-05 03:00:10
solucionado

2009-02-05 08:00:32
Ayyy mamacita que bien estoy en ade xD
2009-02-05 08:34:30
se supone que rotaba con el punto de referencia en el centro del rectangulo no?
2009-02-05 09:07:27
parece que si
2009-02-05 09:49:27
en el centro del rectangulo o respecto al origen de coordenadas xD
2009-02-05 12:24:15
no... si usas esa formula es en el centro de gravedad... sino lo estas haciendo mal.
2009-02-05 12:26:17
ya ya, xo no sabia si Jano lo estaba teniendo en cuenta o respecto al origen o respecto al centro:P
2009-02-05 12:29:56
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)
2009-02-05 13:03:56
hombre, si consigues que rote así luego sólo tienes que desplazarlo para colocarlo donde tú quieras.
2009-02-05 13:35:35
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)
2009-02-05 15:41:53
Solucionado :)

Ya funciona perfectamente.
  • 1
  • 2