Dynamically determines how to split patch into triangles