Interpolation is a very common technique in computer graphics and important in the creating process of a 3D configurator. Very often, data is given on a regular grid (values are written at the vertex of a 2D or 3D grid) or on a line (in the 1D case), but the program must evaluate values at any position on that grid. If the sample is on a grid point, we can simply use the value stored there. But if the sample is somewhere else on the grid, because we have no data there, we have to calculate one by communicating the values stored at the cell apexes. This technique is called interpolation because the basic idea is to “interpolate” existing values at a fixed grid position to calculate values at a different location on the grid.
In 2D the technique is referred to as bilinear interpolation and in 3D as trilinear interpolation. The term linear can be found in both terms, since only linear interpolations are performed for this special technique. A linear interpolation is defined by the following equation:
This is very similar to the process of evaluating a linear function. This method is simple, requires only two values (a and b) and a few simple arithmetic operations. Note that t is in the range of 0 and 1. The problem is that linear interpolation produces “visual” patterns that are not always acceptable or desirable. It is possible to use higher degree interpolation methods that produce smoother results. However, to achieve such interpolation, it is often necessary to consider more than the four cell corners surrounding a measurement point. Therefore, they provide better results, but at higher calculation costs, since they usually require a higher set of points and use the function of degree two or more. The function used to interpolate the values on the regular grid is called Interpolant.
Interpolation techniques are often used in image processing (e.g. for resizing images). But 3D techniques also include the use of 3D or 2D grids, such as fluid simulation, volume rendering, texture mapping or irradiance.
Leave A Comment