A computer- implemented method for 3D reconstruction of an object comprising the following steps: A) generating a plurality of images of an object by at least one camera, from different camera angles and positions; B) extracting features of the object from the plurality of images; C) generating a cloud of three-dimensional points arranged in a three-dimensional model representing the object, wherein each of the three-dimensional points correspond to one of said features which is extractable from at least two of the plurality of images; D) selecting an area in one of the plurality of images which contains a projection of at least a part of a predefined three-dimensional geometric structure as a building block of the object, wherein the predefined three-dimensional geometric structure is representable by a mathematical equation which comprises a plurality of unknown coefficients, and wherein a subset of said features of the object, each corresponding to one of said three dimensional points, are contained in the area and the number of the features in the subset of the features is not less than the number of the unknown coefficients of the mathematical equation; E) identifying the images each of which comprises at least one of the features in the subset of said features; F) determining a first set of three-dimensional points corresponding to the subset of said features mentioned in step D and a second set of three-dimensional points comprising at least one three-dimensional point corresponding to at least one feature which does not belong to the subset of said features, but is extractable from at least two of the identified images in step E; G) determining said mathematical equation which corresponds to the predefined three-dimensional geometric structure by means of the first set and the second set of the three-dimensional points; and H) rendering a three-dimensional model of the object by means of at least the predefined three-dimensional geometric structure. A) generating a plurality of images of an object by at least one camera, from different camera angles and positions; B) extracting features of the object from the plurality of images; C) generating a cloud of three-dimensional points arranged in a three-dimensional model representing the object, wherein each of the three-dimensional points correspond to one of said features which is extractable from at least two of the plurality of images; D) selecting an area in one of the plurality of images which contains a projection of at least a part of a predefined three-dimensional geometric structure as a building block of the object, wherein the predefined three-dimensional geometric structure is representable by a mathematical equation which comprises a plurality of unknown coefficients, and wherein a subset of said features of the object, each corresponding to one of said three dimensional points, are contained in the area and the number of the features in the subset of the features is not less than the number of the unknown coefficients of the mathematical equation; wherein the predefined three-dimensional geometric structure is representable by a mathematical equation which comprises a plurality of unknown coefficients, and wherein a subset of said features of the object, each corresponding to one of said three dimensional points, are contained in the area and the number of the features in the subset of the features is not less than the number of the unknown coefficients of the mathematical equation; E) identifying the images each of which comprises at least one of the features in the subset of said features; F) determining a first set of three-dimensional points corresponding to the subset of said features mentioned in step D and a second set of three-dimensional points comprising at least one three-dimensional point corresponding to at least one feature which does not belong to the subset of said features, but is extractable from at least two of the identified images in step E; G) determining said mathematical equation which corresponds to the predefined three-dimensional geometric structure by means of the first set and the second set of the three-dimensional points; and H) rendering a three-dimensional model of the object by means of at least the predefined three-dimensional geometric structure.