Me gusta la respuesta de Pablo. También tengo una respuesta diferente.
Suponga que sus puntos se denominan x1, x2, etc. Si desea implementar el algoritmo de Pablo, considere que puede comenzar con cualquiera de los dos puntos x1, x2 y luego tomar un tercer punto x3 para formar un triángulo. Ahora usa un resultado del álgebra lineal para calcular la superficie de este triángulo. Vea Encontrar el área de un triángulo si se dan las coordenadas de los tres vértices.
Comprueba si algún punto ya está dentro del área cubierta por triángulos. Tome un punto fuera del área cubierta (si hay alguno) y construya un nuevo triángulo, utilizando 2 puntos utilizables del conjunto de triángulos anterior, para que el nuevo triángulo no se superponga con ninguno de los triángulos anteriores. Repetir.
No creo que este algoritmo sea muy preciso en la mayoría de los casos, considerando que para superficies convexas, la estimación será menor (pero tendrá que corregir el límite a medida que aumenta el número de puntos). Sin embargo, si la superficie no es convexa (y eso es lo que imagino con “irregular”), entonces la estimación podría incluso estar más alejada. Suponga que tiene muchos puntos en esta superficie, pero que el área de la superficie es pequeña, pero el casco convexo de la superficie es grande. Luego, los triángulos medirán el área del casco convexo. Obviamente, esto es problemático.
- ¿Sabes sobre esfera?
- ¿Por qué las diferentes razones por las cuales calcular una línea secante es importante en el momento de tratar con un círculo?
- Los dos vértices opuestos de un cuadrado son (-1, 2) y (3, 2). Encuentra las coordenadas de los otros dos vértices.
- ¿Cuál es el área de un triángulo con vértices en (0,0) (0,3) y (3,4)? ¿Cómo encuentras la respuesta?
- ¿Cómo probarías que un cuadrilátero tangencial con diagonales perpendiculares es una cometa?
Dependiendo de cómo se recopilen los puntos, podría imaginar otro algoritmo que podría producir un mejor resultado.
Considere que la superficie se encuentra dentro de un cuadrado de tamaño 1 (esto no cambia el argumento). Si su proceso arroja un indicador para cada punto aleatorio en el cuadrado, ya sea dentro o fuera de la superficie, puede calcular la relación de los puntos dentro de la superficie sobre el número total de puntos. Esto le da una estimación del área de la superficie.
Si el tamaño del cuadrado es x , deberá tomar la razón anterior y multiplicarla por x ^ 2 para corregir la estimación. Esta estimación convergerá al área de la superficie, ya sea convexa o no.