A self-adaptive and robust fission clustering algorithm via heat diffusion and maximal turning angle