| CPC G06T 17/205 (2013.01) [G06T 7/64 (2017.01); G06T 19/00 (2013.01); G06T 2207/20021 (2013.01); G06T 2210/21 (2013.01); G06T 2219/008 (2013.01)] | 25 Claims | 

| 
               1. A method, performed by a computing system, of decomposing a three-dimensional representation of an object into a plurality of convex hulls, the method comprising: 
              instantiating a cluster priority queue in a memory of the computing system, wherein the cluster priority queue initially contains a cluster corresponding to the three-dimensional representation of the object; 
                computing with a processor of the computing system a concavity measure for each cluster in the cluster priority queue; 
                for the cluster with the highest concavity measure: 
                computing with the processor a cut plane that divides the cluster corresponding to the three-dimensional representation of the object into two new clusters, each of the two new clusters having a corresponding convex hull, wherein computing the cut plane includes performing a hierarchical search of potential cut planes; 
                  removing the cluster corresponding to the three-dimensional representation of the object from the cluster priority queue; and 
                  adding the two new clusters to the cluster priority queue; 
                computing a collision interaction between the object and another object based on the two new clusters; and 
              displaying the collision interaction. 
             |