Título: ¿como obtener el angulo de una coordenada? VB 6.0 Publicado por: AlxSpy en 9 Mayo 2011, 04:02 am Holas tengo unas imagenes como estas:
(http://s2.subirimagenes.com/otros/previo/thump_6374555circulo.jpg) (http://www.subirimagenes.com/otros-circulo-6374555.html) (http://s2.subirimagenes.com/otros/previo/thump_6374537circulo2.jpg) (http://www.subirimagenes.com/otros-circulo2-6374537.html) tienen un punto azul en un lugar,debo hallar el angulo (0 - 360) en que se encuentran los puntos azules,en la primera parece mas o menos 280 grados, en la segunda imagen se puede sacar que el angulo es 90 con solo mirar, por ahora hice un codigo que usa el api get pixel para buscar el punto azul y me devuelven el x,y donde se encuentra el punto, ¿que funcion o formula podria usar para obtener el angulo a partir de esas coordenadas en VB 6.0? Título: Re: ¿como obtener el angulo de una coordenada? VB 6.0 Publicado por: Dunkansdk en 9 Mayo 2011, 04:19 am Código
Título: Re: ¿como obtener el angulo de una coordenada? VB 6.0 Publicado por: AlxSpy en 16 Mayo 2011, 03:46 am gracias me sirvio de mucho.
Título: Re: ¿como obtener el angulo de una coordenada? VB 6.0 Publicado por: BlackZeroX en 16 Mayo 2011, 19:45 pm .
El angulo se calcula con estas dos formulas... x = d * sin(grados) y = d * cos(grados) Donde ( d = Distancia entre dos puntos ) d = RaizCuadrada( (x1-x2)(x1-x2) + (y1-y2)(y1-y2) ) // Se puede omitir la raíz... Calculando los grados: Sustituyendo y haciendo una sola ecuación con dos incógnitas... d = x/sin(grados) // despejando a d de la 1ra ecuación para sustituirla en la 2da. y = (x/sin(grados)) * cos(grados) y = (x*cos(grados))/sin (grados) // aplicando la identidad trigonométrica cos(x)/sin(x) = cot(x) y = x * Cot(grados) Calculando los grados: grados = arctan(y/x) // con esta formula sabes los grados entre dos puntos dados. El angulo sera entre 0 a 180 para saber si es mayor tienes que hacer una comparación con el eje X o Y según desees; mira este enlace tuve el mismo problema solo que en coordenadas 3D: http://foro.elhacker.net/foro_libre/ayuda_matematica-t324169.0.html;msg1600888#msg1600888 Si tienes dudas: http://es.wikipedia.org/wiki/Identidades_trigonométricas Espero no tenga horrores... los grados los da en sentido horario empesgando como en el reloj de maesillas a las 12 coo los 0 grados, con unos ajustes se puede corregir esto lo haria yo pero ya no tengo tiempo. Código
Dulces Lunas!¡. Título: Re: ¿como obtener el angulo de una coordenada? VB 6.0 Publicado por: BlackZeroX en 16 Mayo 2011, 20:15 pm Código
No tienes por que hacer un abs(), las potencia pares dan un valor positivo. P.D.: No es necesario realizar la raíz para calcular los grados entre dos puntos. Dulces Lunas!¡. . |