Título: Ayuda ordenar ejes Publicado por: majojimu en 3 Julio 2013, 21:19 pm Hola.
Necesito ayuda para ordenar los vértices de un polígono convexo. Tengo los siguientes vértices (x,y). -9.75, 1.12. -5.5, -0.5 -9.75, -1.12 -8, 1 -7.75, -1.4 Pues bien, lo que quiero es organizar dichos vértices para formar un polígono convexo. Muchas gracias de antemano. Título: Re: Ayuda ordenar ejes Publicado por: engel lex en 3 Julio 2013, 23:08 pm algo que le digo a todoslos nuevos practicamente...
1- escribe lo que quieres (ya lo hiciste) 2- muestra lo que tienes (coloca tu codigo, procura usar las etiquetas GeSHi de la edicion de textos del foro) 3- di donde te trancaste o que te causa problemas estamos aqui para ayudarnos... no para hacer trabajos o tareas Título: Re: Ayuda ordenar ejes Publicado por: majojimu en 4 Julio 2013, 09:21 am Hola. Necesito ayuda para ordenar los vértices de un polígono convexo. Tengo los siguientes vértices (x,y). -9.75, 1.12. -5.5, -0.5 -9.75, -1.12 -8, 1 -7.75, -1.4 Pues bien, lo que quiero es organizar dichos vértices para formar un polígono convexo. Muchas gracias de antemano. Tengo el siguiente código escrito, pero me falla el punto pivote, que cambia de valor en la funcion angleCmp. Los datos que se toman en Vect p, son los indicados arriba. Código
Código
Gracias Título: Re: Ayuda ordenar ejes Publicado por: eferion en 4 Julio 2013, 09:37 am Si es un polígono convexo se entiende que debería tener un centro de gravedad (CG)... es decir, un punto central que esté equidistante de todos sus vértices.
Con todo, para que sea convexo, se entiende que si la secuencia de vértices es V1, V2, V3, ..., entonces el ángulo CG^V1 es menor que CG^V2 y este a su vez menor que CG^V3... y así Es como un reloj, el CG será el eje de las manecillas, si suponemos V0 las 12, V1 la 1, V2 las 2, etc... CG^V0 = 0 CG^V1 = 360/12 = 30 CG^V2 = 360/6 = 60 CG^V3 = 90 ... Solo habría que ordenar esos ángulos y ya tendrías el orden de los vértices. Bueno, técnicamente CG^V0 es un vector, lo que tienes que hacer es coger un primer vector como referencia y después calcular el ángulo del resto de vectores con respecto al de referencia. |