A computer-implemented method for occlusion estimation in dental prosthesis design, comprising: determining, using one or more computer processors, based on an initial relative placement of a first 3D model of teeth and a second 3D model of teeth, a first contact point between the first 3D model of teeth and the second 3D model of teeth, wherein the first 3D model of teeth and the second 3D model of teeth represent occluding teeth; iteratively performing motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth, said performing motion simulation comprising: determining, using a first set of contact points between the first 3D model of teeth and the second 3D model of teeth, a second set of contact points between the first 3D model of teeth and the second 3D model of teeth, said first set of contact points initially comprising the first contact point; determining a set of candidate contact points to use in a subsequent motion simulation iteration based on the second set of contact points; and determining whether the set of candidate contact points meets one or more predetermined stopping criteria, and, if the set of candidate contact points does not meet one or more predetermined stopping criteria, continuing iteratively performing motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth to estimate occlusion between the first 3D model of teeth and the second 3D model of teeth; and, when a particular set of candidate contact points meets the one or more predetermined stopping criteria, determining a new relative placement of the first 3D model of teeth and the second 3D model of teeth based at least in part on the particular set of candidate contact points and, upon determining the new relative placement of the first 3D model of teeth and the second 3D model of teeth, ending iteration. determining, using one or more computer processors, based on an initial relative placement of a first 3D model of teeth and a second 3D model of teeth, a first contact point between the first 3D model of teeth and the second 3D model of teeth, wherein the first 3D model of teeth and the second 3D model of teeth represent occluding teeth; iteratively performing motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth, said performing motion simulation comprising: determining, using a first set of contact points between the first 3D model of teeth and the second 3D model of teeth, a second set of contact points between the first 3D model of teeth and the second 3D model of teeth, said first set of contact points initially comprising the first contact point; determining a set of candidate contact points to use in a subsequent motion simulation iteration based on the second set of contact points; and determining whether the set of candidate contact points meets one or more predetermined stopping criteria, and, if the set of candidate contact points does not meet one or more predetermined stopping criteria, continuing iteratively performing motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth to estimate occlusion between the first 3D model of teeth and the second 3D model of teeth; and, determining, using a first set of contact points between the first 3D model of teeth and the second 3D model of teeth, a second set of contact points between the first 3D model of teeth and the second 3D model of teeth, said first set of contact points initially comprising the first contact point; determining a set of candidate contact points to use in a subsequent motion simulation iteration based on the second set of contact points; and determining whether the set of candidate contact points meets one or more predetermined stopping criteria, and, if the set of candidate contact points does not meet one or more predetermined stopping criteria, continuing iteratively performing motion simulation of relative motion between the first 3D model of teeth and the second 3D model of teeth to estimate occlusion between the first 3D model of teeth and the second 3D model of teeth; and, when a particular set of candidate contact points meets the one or more predetermined stopping criteria, determining a new relative placement of the first 3D model of teeth and the second 3D model of teeth based at least in part on the particular set of candidate contact points and, upon determining the new relative placement of the first 3D model of teeth and the second 3D model of teeth, ending iteration.