I want to delete the vertex from a convex hull in n-dimensions that least/most reduces some hull attribute, such as area or volume. This can be done brute force by deleting a vertex, computing a new hull and an area/volume with one fewer vertex (using for example scipy.ConvexHull or qHull), then repeating for each vertex.
I suspect there is a way to make this more efficient by using a Delaunay triangulation, reusing almost all of that triangulation going from one vertex to the next. Three related questions: (1) how are the triangulation and hull related in n-dimensions; (2) can I compute hull volume and area from the triangulation; and (3) can a new triangulation be constructed from the old, with one hull vertex deleted?
In 2D, the triangulation that fills the whole convex hull is composed by triangles. The hull itself is built with segments. In 3D the elements are tetrahedra and triangles. In n-D, I can't imagine, let's say you have nD elements.
The point in a Delaunay triangulation is that no point lies inside the n-sphere defined by any other n points. This "inside test" can be calculated with a n+1 determinant.
Yes. Just sum the length/area/volume of all elements.
To compute the area of a 3D hull, you can select those tetrahedra that have a not-shared face. Those not-shared faces form the 3D hull.
Yes. For example, in 2D, if a vertex is deleted then all triangles sharing that vertex must be deleted too. Then only the resulting interior hole must be recomputed.
I don't know if there's some typical software able to do all of above. But it's not difficult to code yourself triangulator, albeit it requires quite attention.