1. A method comprising: receiving a plurality of images of an object casting a shadow, each respective image of the plurality of images corresponding to a respective time of a period of time during which the Sun illuminates the object over a plurality of positions, wherein each respective image includes a given shadow cast by the object for the corresponding respective time, and wherein the plurality of images are captured from varying respective positions and orientations of a camera; determining respectively for each image of the plurality of images a geometry of a background area on which the given shadow is cast; determining, by a computing device, respectively for each image of the plurality of images a respective two-dimensional (2D) silhouette of the object based on a region of the image corresponding to the given shadow and the respective geometry of the background area on which the given shadow is cast; determining, by the computing device, respectively for each image of the plurality of images a respective position of the Sun relative to the object at the respective time based on geographic coordinates of the object, the corresponding respective time, and the respective position and orientation of the camera; determining respectively for each image of the plurality of images a visual cone between the respective 2D silhouette and the respective position of the Sun; determining for an image of the plurality of images an outline of the object; determining an effective visual cone between the respective position of the camera for the image and the outline of the object; and based on the determined visual cones and the effective visual cone, generating a three-dimensional (3D) object data model of the object.