A random algorithm for 3D modeling of solid particles considering elongation, flatness, sphericity, and convexity