1. A method of visualizing a 3D building model on a computer display, the method comprising: implementing, in a view processing system, computer instructions to: retrieve one or more 3D building models from computer memory; define a look angle and field of view for the retrieved one or more 3D building models; calculate a first main axis and a second main axis for the one or more retrieved 3D building models; calculate an optimal camera position for the one or more retrieved 3D building models based on the defined look angle and the calculated first main axis and second main axis by: defining a projection pyramid from a camera viewpoint of a 3D building model; generating a plurality of lower optimal views and a plurality of top optimal views for the 3D building model; defining camera vectors; determining a furthest vertex of the 3D building model; defining and rotating a projection plane using the defined camera vectors and the furthest vertex; projecting lines from each vertex of the 3D building model; defining a bounding box on the projection plane; projecting up and down extreme points onto a vertical plane; projecting left and right extreme points onto a vertical plane; calculating convergence points from the projection plane; finding a distance of the camera from the projection plane; and positioning the camera for centering; generate an optimal view for the one or more retrieved 3D building models based on the calculated optimal camera position and the field of view; and display the optimal view on the computer display.