lgoritmo do casco convexo para a superfície 3d z = f (x, y)

Eu tenho uma superfície 3D dada como um conjunto de triplos (x_i, y_i, z_i), onde x_i e y_i estão aproximadamente em uma grade, e cada (x_i, y_i) tem um único valor associado de z_i. A grade típica é 20x20

Preciso descobrir quais pontos pertencem ao casco convexo da superfície, dentro de uma determinada tolerância. Estou procurando um algoritmo eficiente para executar a computação (meu cliente forneceu uma versão O (n³), que leva ~ 10s em um conjunto de dados de 400 pontos ...)

questionAnswers(2)

yourAnswerToTheQuestion