Three-dimensional (3D) graphing is the act of using a computer program to plot the solution of an equation in virtual 3D space so the results can be visually analyzed. There are a number of uses for 3D graphing in science and engineering, as well as applications in general computer programming, especially in multimedia and entertainment programs. Some functions and equations are plotted in 3D simply to create elegant and interesting 3D patterns or shapes procedurally, while others are representative of data gathered from a source, such as meteorological information. Many computer applications are capable of 3D graphing, with some allowing the user to customize every aspect of the view to create readable plots or colorful images.
One of the most convenient aspects of using a 3D graphing program is that most 3D computer libraries are designed to accept the same type of variables and functions that are used in traditional graphing equations. Functions such as sine, cosine and tangent are all supported, as are real numbers and exponents. Additionally, many graphics cards employ the same type of 3D coordinate system used in scientific graphing, often with the ability to easily change the system from right handed to left handed. This means very little interpretation is required between the input of an equation and the program that eventually solves it and plots the results.
Multimedia programs and image editors regularly use 3D graphing to apply special effects. This can be seen in a number of filters that rely on graphing to simulate textures, manipulate paths or deform images. It also can be used, especially with fractal equations, to generate seemingly random results that can be scaled, duplicated or otherwise manipulated within a scene. This type of 3D graphing can be seen in professional film special effects software that simulates the surface of water or large groups of objects that are moving through a 3D scene, where the movement appears natural and random but is actually the result of graphing functions.
In entertainment applications such as video games, 3D graphing can be used to simulate intelligent movement with computer-controlled objects, causing them to follow non-random paths. It also is used in online multiplayer games to calculate predictive behavior for moving objects, allowing a player to see smoothly rendered sequences without requiring the program to connect to a server for each frame of animation. This type of graphing also can be used to simulate natural terrain, such as mountains, by plotting and interpolating special equations, sometimes recursively, for added detail.