5 votos

Más grande del Cuadrilátero a partir de un Conjunto de Puntos

He publicado el siguiente en StackOverflow pero fue dirigido aquí, ya que esto puede ser más problema matemático, pero yo estaba buscando para implementar un algoritmo....

Tengo un conjunto discreto de puntos.

A partir de este conjunto de punto tengo que encontrar los 4 puntos que forman un Cuadrilátero con el área más grande.

Para empezar ya he utilizado un Regalo algoritmo para establecer los puntos que forman el casco convexo como los 4 puntos de la Cuádruple será en el casco.

Ahora estoy mirando en lo que sería la mejor manera de establecer si el convex hull se compone de más de 4 puntos de cómo limitar esto a tan solo 4 puntos que componen el Quad.

Sólo puedo pensar en un método de fuerza bruta de la comprobación de que el área o el perímetro de cada combinación de 4 puntos para, a continuación, recoger el juego con el mayor pero como el número de puntos en la parte convexa del casco no está predeterminado quiero con la esperanza de encontrar un método más eficiente.

No me importa el uso de la fuerza bruta, pero estaba esperando que alguien podría pensar en algo un poco más elegante a implementar.

Encontrado esta entrada:

algoritmo-para-encontrar-todos-convexo-cuadriláteros-de-la-da-lista-de-2d-puntos

para producir la lista de todos los cuadriláteros que puedo usar para poner a prueba la zona.

2voto

gagneet Puntos 4565

Supongamos que usted ha $n$ puntos en la parte convexa del casco. Supongamos que hubo un punto de $P_0$ que sabía a ser parte de la mayor quad. Moviéndose a lo largo del casco a otros puntos de la media de cortar partes del convex hull. Un paso a la siguiente casco vertex corta nada, saltarse un vértice y el uso de uno después de que se corte un triángulo, y así sucesivamente. Se puede concebir este corte de la zona como un tipo de costo. Así que su tarea consiste en encontrar una ruta que consta de cuatro pasos y va de $P_0$ $P_n$(que es idéntica a $P_0$ en su posición). Usted podría utilizar programación dinámica para esto. Con un poco de ajuste, debería ser posible para que no se basan en el punto de partida, pero calcular un costo mínimo de ciclos de longitud 4 para cualquier pareja. En general me preocuparía de que va todo el casco más de una vez, pero ya que conduciría a un área más pequeña, creo que no va a causar problemas en su caso.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X