Matt, if (centroid) for (d = 0; d < dim; ++d) centroid[d] /= (vsum*4); csum[d] /= (tdim+1)*vsum; Also for (d = 0; d < dim; d++) n[d] /= norm; etc Would adding (some/all) tests detect errors in the geometry information earlier then later strange behavior that happens because of the infinities in the arrays?