1. A computer implemented method of three-dimensional modeling from at least one two-dimensional image of a three-dimensional space, said computer comprising one or more processor, memory, one or more user input device, one or more data output device, and one or more data storage device, wherein data relating to said at least one two-dimensional image is transformed into a three-dimensional model of the three-dimensional space or one or more objects depicted within the three-dimensional space, the method comprising the steps of: receiving a first input representing a two-dimensional image of the three-dimensional space or one or more objects in the three-dimensional space, as captured by a camera in the three-dimensional space; receiving a second input representing a two-directional set of lines consisting of at least two sets of two or more parallel perspective lines, the sets orthogonal to each other; and calculating camera parameters using the two-directional set of lines; wherein camera parameters include at least a camera position and a focal length; receiving a third input representing a plurality of features depicted in the two-dimensional image of the three-dimensional space or one or more objects in the three-dimensional space, as captured by a camera in the three-dimensional space, which define a two-dimensional shape bounded by the edges; and receiving a fourth input for indicating a geometric operation, and in response thereto, performing the geometric operation, to form a three-dimensional structure; wherein the step of receiving an input representing a plurality of features depicted in the two-dimensional image, which define a two-dimensional shape bounded by edges, is a step of creating a three-dimensional model of the two-dimensional shape bounded by the edges in the three-dimensional space; wherein said steps are performed on said computer.