This paper presents a new contact calculating algorithm for contacts between two polyhedra with planar boundaries in the three-dimensional discontinuous deformation analysis (3-D DDA). In this algorithm, all six type contacts in 3-D (vertex-to-face, vertex-to-edge, vertex-to-vertex, face-to-face, edge-to-edge, and edge-to-face) are simply transformed into the form of point-to-face contacts. The presented algorithm is a simple and efficient method and it can be easily coded into a computer program. In this paper, formulations of normal contact, shear contact and frictional force submatrices based on the new method are derived and the algorithm has been programmed in VC++. Examples are provided to demonstrate the new contact rule between two blocks. (c) 2007 Elsevier Ltd. All rights reserved.