algoritmo de casco convexo para superficie 3d z = f (x, y)

Tengo una superficie 3D dada como un conjunto de triples (x_i, y_i, z_i), donde x_i e y_i están aproximadamente en una cuadrícula, y cada (x_i, y_i) tiene un solo valor z_i asociado. La cuadrícula típica es 20x20

Necesito encontrar qué puntos pertenecen al casco convexo de la superficie, dentro de una tolerancia dada. Estoy buscando un algoritmo eficiente para realizar el cálculo (mi cliente ha proporcionado una versión O (n³), que requiere ~ 10 segundos en un conjunto de datos de 400 puntos ...)

Respuestas a la pregunta(2)

Su respuesta a la pregunta