Quote:Original post by Vorpy
I believe that whenever more than 3 edges meet at a single vertex, it is always possible to adjust the bounding planes of the convex polyhedron to split the vertex into two vertices connected by an edge, each of which will have at least 2 of the edges that were previously going to the original vertex. No degenerate edges or triangles are needed. The number of vertices and edges increases by 1, and this can be repeated until every vertex is connected to 3 edges.
Yes, but you are changing the boundary geometry. To accomplish the non-degenerate edges/triangles, the split vertices must not be coincident and even if the new vertex lies along one of the existing edges, you can only guarantee that the two faces that share the edge onto which the new vertex is inserted will be on the same plane they were on before the split. The convex hull becomes different when you do this. If samgzman's input plane pairs are prescribed and must be fixed, then there may not be the luxury of changing the hull. But, perhaps this isn't a requirement. I don't believe I have enough information to be sure. Well, harder to think about is whether his inputs can even produce a situation with more than 3 edges per vertex. My instinct tells me it is possible, but I am not sure. (I'm thinking about a sequence of n plane pairs, all rotated slightly and translated such that there are many plane/plane intersections that come together at a point....with arbitrary input plane pairs, I think its possible.)
Further, when you split a vertex and introduce a new edge, you are adding another edge+vertex to the connectivity of all the faces that connect to both sides of the split. It is more likely than not that they are no longer planar (assuming the vertex generated in a split is colinear with one of the pre-split edges). If the hull is required to be made of only 3 node triangles (this being games/graphics forum an all), then you'd have to triangulate the newly nontriangle faces, which would increase the face count, often the plane count. So, the rule about being able to increase edge/vertex count without increasing faces is dependent on being able to deal with non-triangles. But, again, I do not know samgzman's requirement.
Looking back to my own derivation for triangle-based hulls (which I'm sure is flawed in some way), at first I thought I had a problem by starting with a tetrahedron, which satisfies Vorpy's target of 3 edges per vertex. I thought that my induction-based argument might not permit triangle-fans to develop and therefore might not have produced a tight upper bound on the # of edges. But, in face, it does permit triangle-fans....simply subdivide an edge, then subdivide the two edges that result, and so-on. A triangle-fan is produced at the opposite vertex. I am certain that there's some other fatal flaw in my logic, but I don't yet see it.
I'm enjoying this discussion, Vorpy, and if there is something I'm missing about your argument, I would love to hear it!