When 3D viewing means become much more available and common, it will be very sad that the many great movies that exist today will be able to be viewed in 3D only through limited and partial software attempts to recreate the 3D info. Films today are not filmed in 3D due to various problems, and mainly since a normal stereo camera could be very problematic when filming modern films, since for example it does not behave properly when zooming in or out is used, and it can cause many problems when filming for example smaller scale models for some special effects. For example, a larger zoom requires a correspondingly larger distance between the lenses, so that for example if a car is photographed at a zoom factor of 1:10, the correct right-left disparity will be achieved only if the lenses move to an inter-ocular distance of for example 65 cm instead of the normal 6.5 cm. The present invention tries to solve the above problems by using a 3D camera which can automatically adjust in a way that solves the zoom problem, and provides a solution also for filming smaller models. The angle between the two lenses is preferably changed according to the distance and position of the object that is at the center of focus, and changing the zoom affects automatically both the distance between the lenses and their angle, since changing merely the distance without changing the convergence angle would cause the two cameras to see completely different parts of the image. The patent also shows that similar methods can be used for example for a much better stereoscopic telescope with or without a varying zoom factor. In addition, the patent shows various ways to generate efficiently a 3D knowledge of the surrounding space, which can be used also for example in robots for various purposes, and also describes a few possible improvements in 3d viewing.