Supongo que está preguntando acerca de la prueba ‘point-in-convex-poly’, no sobre la construcción del casco convexo.
Supongamos que construiste el casco. Entonces tiene un polígono convexo (el devanado también es fijo, por ejemplo, en sentido antihorario). Debe determinar si el punto arbitrario se encuentra dentro de él.
Versión ingenua para poli convexo: compruebe contra cada borde, como contra la línea. Si todas las líneas le dan el signo ‘izquierda’, entonces su punto se encuentra dentro del polígono convexo. Esto funciona solo para convexos y toma tiempo O (N).
La mejor versión para poli convexo utiliza la búsqueda binaria y se ejecuta en tiempo O (logN).
- ¿Alguien puede resolver estas matrics?
- ¿Es posible que haya una solución general y no algorítmica al problema de detención?
- ¿Cuántos enteros n hay tales que 2 <_n <_1000 y el máximo factor común de n y 36 es 1?
- Cómo insertar elementos de manera eficiente en una lista (no ordenada) de elementos que se pueden ordenar y al mismo tiempo mantener el número de inversiones mínimo
- ¿Quién puede resolver esta pregunta matemática :)?
Otro caso es cuando tiene una solicitud poli y luego muchas solicitudes. De esta manera, puede lograr un tiempo O (1) constante para cada solicitud, realizando un preprocesamiento. Puede construir árboles BSP, árboles kd o cuadrículas de niveles múltiples. En general, cualquier tipo de estructura de datos que lo ayude a localizar rápidamente y dar el resultado lo más rápido posible. Pero ese es otro caso, creo.
Lea aquí para obtener más información: ubicación del punto