Simulation of granular particles is an important tool in many fields. However, simulation of particles of complex shapes remains largely out of reach even in two-dimension. One of the major hurdles is the difficulty in representing particles in an efficient, flexible, and accurate manner. By representing particles as convex polyhedrons which are themselves the intersection of a set of half spaces, we develop a method that allows one to efficiently carry out key operations, including particle–particle and particle–container wall overlapping detection, precise identification of the overlapping region, particle shifting, particle rotation, and others. The simulation of packing 1,000 particles into a container takes only a few minutes with this approach. We further demonstrate the potential of this approach with a simulation that re-generates the “Brazil nut” phenomenon by mixing and shaking particles of two different sizes. [ABSTRACT FROM AUTHOR]