mmiller@manyjars.SRC.Honeywell.COM (Mike Miller) (03/01/90)
Here's a problem I've been struggling with: We have a 3-d object described by a linked list of edges. We are trying to determine if the object is simply convex; in order to do so, we have found a couple of tests which will (we hope) find all non-simply convex objects. What we have come up with so far is this: The first test finds those cases where it is impossible to define a plane which groups all the vectors from one vertex to its neighbors on the same side of the plane: for all vertices find the sum of the vectors from the vertex to all adjacent vertices (the edge vectors) for all vertices find the dot product of the resultant with each of the edge vectors if any of the dot products are negative, the object is not simply convex since this test fails for some sets of edges, we have defined a second test which checks for inflection points on the surface: for all vertices find the dot product of the resultant with the resultants at each adjacent vertex if any of the dot products are negative, the object is not simply convex. We realize that this test is trivial if we can define each facet of the object such that its normal points either into or out of the object. Unfortunately, there is no guarantee of that in our data structure. If anyone can spot a flaw in our reasoning or suggest a better method, please EMail. Any help will be greatly appreciated. We will summarize and post if we get enough useful suggestions. Thanks -Mike Miller