How does a 3D scanning app work?
“Design is not just what it looks like and feels like. Design is how it works” — Steve Jobs
3D scanning apps work on a technique called ‘Photogrammetry’. The Merriam-Webster dictionary defines it as “the science of making reliable measurements by the use of photographs”. The word ‘photogrammetry’ is derived from ‘photo’ (meaning light), ‘gram’ (meaning drawing) and ‘metry’ (meaning measurement). Photogrammetry is thus, a technique of extracting consistent data about physical matter by the process of interpreting captured images and patterns using various angles.
The term was first used by the Prussian architect Albrecht Meydenbauer in 1867. The technique finds its roots during mid-seventeenth century when topographers began using photographs to create topographic maps. Over time, the technique evolved and got extended to creation of 3-dimensional data from two dimensional images which is what is behind these 3D scanning apps.
Lets now look at the technique in bit more detail. The real object is first illuminated with a special kind of light which has a specific pattern. These patterns may be alternatively striped as shown below (Figure 1):
This light strikes the object and captures a two-dimensional image first (See Figure 2). Now when the angle is changed the same light strip conveys much more information! It signifies the shape of an object in three dimensions (Figure 3).
Now consider a single point on the object. The photogrammetry software analyses different positions and angles of the point from different photographs. Then a geometric intersection of the light rays is used to find out where that point is located in the 3D space. This process of finding points on the photos that correspond to the same 3D location is called point matching.
Thus the 3D scanning apps like 3D Scanner Pro ask you to take multiple images from different angles to make multiple ‘point matches’ so that it can obtain data for every point on the object and then create a ‘mesh’ which when consolidated becomes your 3D model!