User:Ruaridh88

’’’Spline Surface’’’ is a topic in computer vision  which is discussed in CVonline

A Spline Surface, in mathematics, is a form of parametric surface and is the representation of a two dimensional curve that is extended into three dimensions; a surface. Spline surfaces describes the basic category to which existing spline techniques, in particular the cubic B-spline and cubic Bézier spline, can be easily extended to three dimensions.

Spline surfaces are popular in 3D computer graphics and computer vision for their economic traits: interpolating the curves using a sparse set of knot points, and, similar to splines, they can be used to approximate complex shapes through curve fitting.

Overview
For a surface, we start with a rectangular polygon mesh and for each point in the parametric space two blending functions are used; one in each parametric direction. These define the control points, or knots, and from this we can weight each control point by calculating the Cartesian product of the two blending functions used for the the spline curves.

For example, the blending function for bézier curves is given as follows:

$$p\left( u,v\right) = \sum_{i=0}^n \sum_{j=0}^m B_i^n\left( u\right) B_j^m\left( v\right) k_{i,j}$$

where k(i,j) is a control point, $$B_i^n\left( u\right)$$ and $$B_j^m\left( v\right)$$ are the blending functions.

Spline surfaces share maintain many of the traits of splines, including:
 * 1) The surface passes through the end (corner) points.
 * 2) The surface lies within the convex hull of the control points.

An example of a surface:

Technique Overview
The following are common uses of splines, mainly in computer graphics.

Bézier surface

See: bézier surface

Bézier surfaces, as above, use a set of control points where each control point influences the shape of the mesh rather than directly manipulating the mesh.

Non-uniform rational b-spline (NURBS)

See: non-uniform rational b-spline (NURBS)

NURBS are very common in computer graphics, where the NURBS surfaces are obtained by generalisations of both B-Splines and Béziers. They are useful for their flexibility and computational simplicity.

Subdivision surfaces

See: subdivision surface

A subdivision surface is a method used in computer graphics to smooth an object (mesh). Subdivision surface techniques make use of spline functions to either approximate or interpolate the surface.

Common Applications
Spline surfaces have many uses, of which include:
 * 1) Designing car bodies,
 * 2) Representing ship hulls,
 * 3) Aircraft exteriors

And are available in many graphics packages, including:
 * 1) Autodesk Maya
 * 2) Autodesk 3ds Max
 * 3) Blender
 * 4) Cinema4D