What is a functional surface?
One of the fundamental properties that defines how a GIS handles features, objects, and surfaces in space is its ability to render in three dimensions (3D). The term three dimensional is widely misused in that many software applications today store and display data in two and a half dimensions (2.5D). ArcGIS 3D Analyst has the ability to store raster, TIN, and terrain data as functional surfaces, which are actually 2.5D. A functional surface is continuous, and all locations on the surface can have only one elevation, or z-value, per x,y coordinate. True 3D surfaces are sometimes known as solid model surfaces, and ArcGIS handles these through multipatch features. In contrast to a functional surface, which has surface continuity, are solid model surfaces that can model and store true 3D, or multiple z-values, per x,y coordinate.
Multipatch features, tetrahedral objects, and voxel space are examples of true 3D data. This data is sometimes considered solid model surfaces and can store more than one z-value per x,y position. A telephone pole is an example of a multipatch object. There is a z-value at the top of the pole as well as the bottom. However, if you wanted to measure all the footrungs on the telephone pole, the result would be one telephone pole in x,y space with many z-values, each representing another rung on the way up the pole.
Tetrahedral objects are essentially three-dimensional TINs. A significant difference is that they form tetrahedrals instead of two-dimensional triangles and can model objects in 3D. The nodes that comprise the tetrahedral object are irregularly spaced, which makes them ideal candidates for complex, varying surface models such as automobiles, buildings, vegetation, and animals. Voxels are volumetric pixels. This type of data is interesting in that it can model a 3D object using a block of cells (voxels) with a homogeneous resolution and pattern.
Surfaces, however, are generally modeled as functional and are 2.5D. This type of data has surface continuity and is different than 3D surfaces, or solid surface models, which can store more than one z-value per x,y location.
Functional surfaces
ArcGIS 3D Analyst treats raster, TIN, and terrain surfaces as functional. Functional surfaces can store a single z-value, as opposed to multiple z-values, for any given x,y location. Probably the most common example of a functional surface is terrestrial surfaces representing the earth's surface. Other examples of terrestrial functional surfaces include bathymetric data, water table depths, and individual geologic strata. Functional surfaces can also be used to represent statistical surfaces describing climatic and demographic data, concentration of resources, and other biologic data. In addition, functional surfaces can be used to represent mathematical surfaces based on arithmetic expressions such as Z = a + bX + cY. Functional surfaces are often referred to as 2.5 dimensional.
Surface continuity (2.5D vs. 3D)
Functional surfaces are considered continuous. That is, if you approach a given x,y location on a functional surface from any direction, you will discover the same z-value at the location. This can be contrasted with a discontinuous surface, where different z-values could be obtained depending on the approach direction. An example of a discontinuous surface is a vertical fault displacing the surface of the earth.
Depending on whether you approach this vertical fault from the right or left along this discontinuous surface, it's possible to observe different z-values at the same x,y location.
A location at the top of a fault has one elevation, but immediately below this point at the bottom of the fault you can observe another elevation. As you can see, a model capable of storing a discontinuous surface must be able to store more than one z-value for a given x,y location.
Solid model surfaces
Functional surface models can be contrasted with solid model surfaces, which are true 3D models capable of storing multiple z-values for any given x,y location. Solid models are common in computer-aided design (CAD), engineering, and other applications representing solid objects. ArcGIS can render 3D models as features in a multipatch feature class.
Examples of objects suited to solid modeling are machine parts, highway structures, buildings, and other objects placed on the earth's surface. In some cases, it is possible to represent some three-dimensional objects, such as faults and buildings on a functional surface, by slightly offsetting the duplicate x,y coordinates.