final iteration using projective geometry