1. A method for reconstructing a scene as a three-dimensional (3D) model, comprising steps: acquiring a sequence of images of the scene with a camera; and further comprising computer implemented steps: extracting feature point matches or line matches from the sequence of images; initializing variables for camera optical centers and 3D points using random values making n copies of the variables depending on an availability of n constraints; projecting the n copies to satisfy each of the n constraints; replacing the n copies with averages of the copies; and repeating the projecting and the replacing until convergence to provide the 3D model.