All Topics  
Bézier curve

 

   Email Print
   Bookmark   Link






 

Bézier curve



 
 
In the mathematical
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
 field of numerical analysis
Numerical analysis

Numerical analysis is the study of algorithms for the problems of continuous mathematics .One of the earliest mathematical writings is the Babylonian tablet YBC 7289, which gives a sexagesimal numerical approximation of , the length of the diagonal in a unit square....
, a Bézier curve is a parametric curve important in computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 and related fields. Generalizations of Bézier curves to higher dimension
Dimension

In mathematics, the dimension of a space is roughly defined as the minimum number of coordinates needed to specify every point within it. For example: a point on the unit circle in the plane can be specified by two Cartesian coordinates but one can make do with a single coordinate , so the circle is 1-dimensional even though it exists in...
s are called Bézier surface
Bézier surface

B?zier surfaces are a species of spline used in computer graphics, computer-aided design, and finite element modelling.As with the B?zier curve, a B?zier surface is defined by a set of control points....
s, of which the Bézier triangle
Bézier triangle

A cubic B?zier triangle is a surface with the equationwhere a3, ?3, ?3, a2?, a?2, ?2?, ??2, a?2, a2? and a?? are the Control point s of the triangle....
 is a special case.

Bézier curves were widely publicized in 1962 by the French
France

France , officially the French Republic , is a country whose Metropolitan France is located in Western Europe and that also comprises various Overseas departments and territories of France....
 engineer Pierre Bézier
Pierre Bézier

Pierre ?tienne B?zier was a France engineer and patentor of the B?zier curves and B?zier surfaces that are now used in most computer-aided design and computer graphics systems....
, who used them to design automobile
Automobile

An automobile or motor car is a wheeled motor vehicle for transportation passengers, which also carries its own car engine or motor. Most definitions of the term specify that automobiles are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels, and to be constructed principally f...
 bodies.






Discussion
Ask a question about 'Bézier curve'
Start a new discussion about 'Bézier curve'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Bezier Curve
In the mathematical
Mathematics

Mathematics is the study of quantity, structure, space, change, and related topics of pattern and form. Mathematicians seek out patterns whether found in numbers, space, natural science, computers, imaginary abstractions, or elsewhere....
 field of numerical analysis
Numerical analysis

Numerical analysis is the study of algorithms for the problems of continuous mathematics .One of the earliest mathematical writings is the Babylonian tablet YBC 7289, which gives a sexagesimal numerical approximation of , the length of the diagonal in a unit square....
, a Bézier curve is a parametric curve important in computer graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 and related fields. Generalizations of Bézier curves to higher dimension
Dimension

In mathematics, the dimension of a space is roughly defined as the minimum number of coordinates needed to specify every point within it. For example: a point on the unit circle in the plane can be specified by two Cartesian coordinates but one can make do with a single coordinate , so the circle is 1-dimensional even though it exists in...
s are called Bézier surface
Bézier surface

B?zier surfaces are a species of spline used in computer graphics, computer-aided design, and finite element modelling.As with the B?zier curve, a B?zier surface is defined by a set of control points....
s, of which the Bézier triangle
Bézier triangle

A cubic B?zier triangle is a surface with the equationwhere a3, ?3, ?3, a2?, a?2, ?2?, ??2, a?2, a2? and a?? are the Control point s of the triangle....
 is a special case.

Bézier curves were widely publicized in 1962 by the French
France

France , officially the French Republic , is a country whose Metropolitan France is located in Western Europe and that also comprises various Overseas departments and territories of France....
 engineer Pierre Bézier
Pierre Bézier

Pierre ?tienne B?zier was a France engineer and patentor of the B?zier curves and B?zier surfaces that are now used in most computer-aided design and computer graphics systems....
, who used them to design automobile
Automobile

An automobile or motor car is a wheeled motor vehicle for transportation passengers, which also carries its own car engine or motor. Most definitions of the term specify that automobiles are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels, and to be constructed principally f...
 bodies. The curves were first developed in 1959 by Paul de Casteljau
Paul de Casteljau

'Paul de Casteljau' , a physicist and mathematician at Citro?n, developed an algorithm for computation of a B?zier curve, in 1959.Author of the book Math?matiques et CAO....
 using de Casteljau's algorithm
De Casteljau's algorithm

In the mathematics subfield of numerical analysis the de Casteljau's algorithm, named after its inventor Paul de Casteljau, is a Recursion method to evaluate polynomials in Bernstein form or B?zier curves....
, a numerically stable
Numerical stability

In the mathematics subfield of numerical analysis, numerical stability is a desirable property of numerical algorithms. The precise definition of stability depends on the context, but it is related to the accuracy of the algorithm....
 method to evaluate Bézier curves.

In vector graphics
Vector graphics

Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
, Bézier curves are an important tool used to model smooth curves that can be scaled indefinitely. "Paths," as they are commonly referred to in image manipulation programs such as Inkscape
Inkscape

Inkscape is a free software and open source vector graphics editor application. Its stated goal is to become a powerful graphic tool while being fully compliant with the Extensible Markup Language, Scalable Vector Graphics and Cascading Style Sheets standards....
, Adobe Illustrator
Adobe Illustrator

Adobe Illustrator is a vector graphics editor developed and marketed by Adobe Systems.The latest version, Illustrator CS4, is the fourteenth generation in the product line....
, Adobe Photoshop
Adobe Photoshop

Adobe Photoshop, or simply Photoshop, is a Graphics software developed and published by Adobe Systems. It is the current and primary Market dominance for commercial Raster graphics and manipulation, and is the flagship product of Adobe Systems....
, and GIMP
GIMP

The GIMP is a free software, raster graphics editor used to process digital graphics and photographs. Typical uses include creating graphics and logos, resizing and cropping photos, altering colors, combining multiple images, removing unwanted image components, and converting between different image formats....
 are combinations of Bézier curves patched together. Paths are not bound by the limits of rasterized images and are intuitive to modify. Bézier curves are also used in animation
Animation

Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. It is an optical illusion of Motion due to the phenomenon of persistence of vision, and can be created and demonstrated in a number of ways....
 as a tool to control motion in applications such as Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
, Adobe After Effects
Adobe After Effects

Adobe After Effects is a digital motion graphics and compositing software published by Adobe Systems. Its main purpose is for film and video post-production....
, Microsoft Expression Blend and Autodesk 3ds max.

Applications


Computer graphics


Bézier curves are widely used in computer graphics to model smooth curves. As the curve is completely contained in the convex hull
Convex hull

In mathematics, the convex hull or convex envelope for a Set of points X in a real vector space V is the minimal convex set containing X....
 of its control points, the points can be graphically displayed and used to manipulate the curve intuitively. Affine transformation
Affine transformation

In geometry, an affine transformation or affine map or an affinity between two vector spaces consists of a linear transformation followed by a translation :...
s such as translation
Translation (geometry)

In Euclidean geometry, a translation is moving every point a constant distance in a specified direction. It is one of the Euclidean groups . A translation can also be interpreted as the addition of a constant vector space to every point, or as shifting the Origin of the coordinate system....
, scaling
Scaling (geometry)

In Euclidean geometry, uniform scaling or isotropic scaling is a linear transformation that enlarges or increases or diminishes objects; the scale factor is the same in all directions; it is also called a homothety....
 and rotation
Rotation

A rotation is a movement of an object in a circular motion. A two-dimensional object rotates around a center of rotation. A Three-dimensional space object rotates around a line called an axis....
 can be applied on the curve by applying the respective transform on the control points of the curve.

Quadratic and cubic Bézier curves are most common; higher degree curves are more expensive to evaluate. When more complex shapes are needed, low order Bézier curves are patched together. This is commonly referred to as a "path" in programs like Adobe Illustrator
Adobe Illustrator

Adobe Illustrator is a vector graphics editor developed and marketed by Adobe Systems.The latest version, Illustrator CS4, is the fourteenth generation in the product line....
 or Inkscape
Inkscape

Inkscape is a free software and open source vector graphics editor application. Its stated goal is to become a powerful graphic tool while being fully compliant with the Extensible Markup Language, Scalable Vector Graphics and Cascading Style Sheets standards....
. These poly-Bézier curves can also be seen in the SVG file format. To guarantee smoothness, the control point at which two curves meet and one control point on either side must be collinear.

The simplest method for scan converting (rasterizing
Rasterisation

Rasterization or Rasterisation is the task of taking an image described in a vector graphics format and converting it into a raster image for output on a computer display or computer printer, or for storage in a bitmap file format....
) a Bézier curve is to evaluate it at many closely spaced points and scan convert the approximating sequence of line segments. However, this does not guarantee that the rasterized output looks sufficiently smooth, because the points may be spaced too far apart. Conversely it may generate too many points in areas where the curve is close to linear. A common adaptive method is recursive subdivision, in which a curve's control points are checked to see if the curve approximates a line segment to within a small tolerance. If not, the curve is subdivided parametrically into two segments, 0 = t = 0.5 and 0.5 = t = 1, and the same procedure is applied recursively to each half. There are also forward differencing methods, but great care must be taken to analyse error propagation. Analytical methods where a spline is intersected with each scan line involve finding roots of cubic polynomials (for cubic splines) and dealing with multiple roots, so they are not often used in practice.

Animation

In animation applications, such as Adobe Flash
Adobe Flash

Adobe Flash is a multimedia Platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate...
 and Adobe Shockwave, or in applications like Game Maker
Game Maker

Game Maker is a proprietary software application written by Mark Overmars in the Delphi programming language programming language. Overmars released the first public version on November 15, 1999....
, Bézier curves are used to outline, for example, movement. Users outline the wanted path in Bézier curves, and the application creates the needed frames for the object to move along the path.

Examination of cases


Linear Bézier curves

Given points P0 and P1, a linear Bézier curve is simply a straight line between those two points. The curve is given by

and is equivalent to linear interpolation
Linear interpolation

Linear interpolation is a method of curve fitting using linear polynomials. It is heavily employed in mathematics , and numerous applications including computer graphics....
.

Quadratic Bézier curves

A quadratic Bézier curve is the path traced by the function B(t), given points P0, P1, and P2,


A quadratic Bézier curve is also a parabolic segment.

TrueType
TrueType

TrueType is an outline font standardization originally developed by Apple Computer in the late 1980s as a competitor to Adobe Systems's Type 1 fonts used in PostScript....
 fonts use Bézier spline
Bézier spline

In the mathematics field of numerical analysis and in computer graphics a B?zier spline is a spline curve where each polynomial of the spline is in B?zier form....
s composed of quadratic Bézier curves.

Cubic Bézier curves

Four points P0, P1, P2 and P3 in the plane or in three-dimensional space define a cubic Bézier curve. The curve starts at P0 going toward P1 and arrives at P3 coming from the direction of P2. Usually, it will not pass through P1 or P2; these points are only there to provide directional information. The distance between P0 and P1 determines "how long" the curve moves into direction P2 before turning towards P3.

The parametric
Parametric equation

In mathematics, parametric equations are a method of defining a curve. A simple kinematics example is when one uses a time parameter to determine the position, velocity, and other information about a body in motion....
 form of the curve is:

Modern imaging systems like PostScript
PostScript

PostScript is a dynamically typed concatenative programming language programming language created by John Warnock and Charles Geschke in 1982. PostScript is best known for its use as a page description language in the electronic and desktop publishing areas....
, Asymptote
Asymptote (vector graphics language)

Asymptote is a descriptive vector graphics language, developed by Andy Hammerlindl, John C. Bowman , and Tom Prince, that provides a natural coordinate-based framework for technical drawing....
 and Metafont
METAFONT

Metafont is a programming language used to define outline font. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g....
 use Bézier spline
Bézier spline

In the mathematics field of numerical analysis and in computer graphics a B?zier spline is a spline curve where each polynomial of the spline is in B?zier form....
s composed of cubic Bézier curves for drawing curved shapes.

Generalization

The Bézier curve of degree can be generalized as follows. Given points P0, P1,..., Pn, the Bézier curve is

For example, for :

This formula can be expressed recursively as follows: Let denote the Bézier curve determined by the points P0, P1,..., Pn. Then

In words, the degree Bézier curve is a linear interpolation between two degree Bézier curves.

Terminology

Some terminology is associated with these parametric curves. We have where the polynomials are known as Bernstein basis polynomials
Bernstein polynomial

In the mathematics field of numerical analysis, a Bernstein polynomial, named after Sergei Natanovich Bernstein, is a polynomial in the Bernstein form, that is a linear combination of Bernstein basis polynomials....
 of degree n, defining t0 = 1 and (1 - t)0 = 1.

The points Pi are called control points for the Bézier curve. The polygon
Polygon

In geometry a polygon is traditionally a plane Shape that is bounded by a closed curve path or circuit, composed of a finite sequence of straight line segments ....
 formed by connecting the Bézier points with lines
Line (mathematics)

In geometry, a line is a Curvature curve. When geometry is used to model the real world, lines are used to represent straight objects with negligible width and height....
, starting with P0 and finishing with Pn, is called the Bézier polygon (or control polygon). The convex hull
Convex hull

In mathematics, the convex hull or convex envelope for a Set of points X in a real vector space V is the minimal convex set containing X....
 of the Bézier polygon contains the Bézier curve.

  • The curve begins at P0 and ends at Pn; this is the so-called endpoint interpolation property.
  • The curve is a straight line if and only if all the control points are collinear
    Incidence (geometry)

    In geometry, the relations of incidence are those such as 'lies on' between points and lines , and 'intersects' . That is, they are the binary relations describing how subsets meet....
    .
  • The start (end) of the curve is tangent
    Tangent

    In geometry, the tangent line to a curve at a given Point is the straight line that "just touches" the curve at that point . As it passes through the point of tangency, the tangent line is "going in the same direction" as the curve, and in this sense it is the best straight-line approximation to the curve at that point....
     to the first (last) section of the Bézier polygon.
  • A curve can be split at any point into 2 subcurves, or into arbitrarily many subcurves, each of which is also a Bézier curve.
  • Some curves that seem simple, such as the circle
    Circle

    A circle is a simple shape of Euclidean geometry consisting of those point in a plane which are the same distance from a given point called the center....
    , cannot be described exactly by a Bézier or piecewise
    Piecewise

    In mathematics, a piecewise-defined function is a function whose definition is dependent on the value of the independent variable. Mathematically, a real number-valued function f of a real variable x is a relationship whose definition is given differently on disjoint subsets of its domain ....
     Bézier curve (though a four-piece cubic Bézier curve can approximate a circle, with a maximum radial error of less than one part in a thousand, when each inner control point is the distance horizontally or vertically from an outer control point on a unit circle). More generally, an n-piece cubic Bézier curve can approximate a circle, when each inner control point is the distance from an outer control point on a unit circle, where t is 360/n degrees, and n > 2.
  • The curve at a fixed offset from a given Bézier curve, often called an offset curve (lying "parallel" to the original curve, like the offset between rails in a railroad track), cannot be exactly formed by a Bézier curve (except in some trivial cases). However, there are heuristic
    Heuristic

    Heuristic is an adjective for methods that help in problem solving, in turn leading to learning and discovery. These methods in most cases employ experimentation and trial-and-error techniques....
     methods that usually give an adequate approximation for practical purposes.
  • Every quadratic Bézier curve is also a cubic Bézier curve, and more generally, every degree n Bézier curve is also a degree m curve for any m > n. In detail, a degree n curve with control points P0, …, Pn is equivalent (including the parametrization) to the degree n + 1 curve with control points P'0, …, P'n + 1, where .


Constructing Bézier curves


Linear curves


The t in the function for a linear Bézier curve can be thought of as describing how far B(t) is from P0 to P1. For example when t=0.25, B(t) is one quarter of the way from point P0 to P1. As t varies from 0 to 1, B(t) describes a curved line from P0 to P1.

Quadratic curves

For quadratic Bézier curves one can construct intermediate points Q0 and Q1 such that as t varies from 0 to 1:
  • Point Q0 varies from P0 to P1 and describes a linear Bézier curve.
  • Point Q1 varies from P1 to P2 and describes a linear Bézier curve.
  • Point B(t) varies from Q0 to Q1 and describes a quadratic Bézier curve.




Higher-order curves

For higher-order curves one needs correspondingly more intermediate points. For cubic curves one can construct intermediate points Q0, Q1 & Q2 that describe linear Bézier curves, and points R0 & R1 that describe quadratic Bézier curves:



For fourth-order curves one can construct intermediate points Q0, Q1, Q2 & Q3 that describe linear Bézier curves, points R0, R1 & R2 that describe quadratic Bézier curves, and points S0 & S1 that describe cubic Bézier curves:



(See also a construction of a fifth-order Bezier curve.)

Polynomial form


Sometimes it is desirable to express the Bézier curve as a polynomial
Polynomial

In mathematics, a polynomial is an expression constructed from variables and constants, using the operations of addition, subtraction, multiplication, and constant non-negative whole number exponents....
 instead of a sum of less straightforward Bernstein polynomial
Bernstein polynomial

In the mathematics field of numerical analysis, a Bernstein polynomial, named after Sergei Natanovich Bernstein, is a polynomial in the Bernstein form, that is a linear combination of Bernstein basis polynomials....
s. Application of the binomial theorem
Binomial theorem

In mathematics, the binomial theorem is an important formula giving the expansion of exponentiation of sums. Its simplest version states that...
 to the definition of the curve followed by some rearrangement will yield:

where

This could be practical if can be computed prior to many evaluations of ; however one should use caution as high order curves may lack numeric stability (de Casteljau's algorithm
De Casteljau's algorithm

In the mathematics subfield of numerical analysis the de Casteljau's algorithm, named after its inventor Paul de Casteljau, is a Recursion method to evaluate polynomials in Bernstein form or B?zier curves....
 should be used if this occurs). Note that the product of no numbers is 1.

Rational Bézier curves

The rational Bézier adds adjustable weights to provide closer approximations to arbitrary shapes. The numerator is a weighted Bernstein-form Bézier curve and the denominator is a weighted sum of Bernstein polynomial
Bernstein polynomial

In the mathematics field of numerical analysis, a Bernstein polynomial, named after Sergei Natanovich Bernstein, is a polynomial in the Bernstein form, that is a linear combination of Bernstein basis polynomials....
s.

Given n + 1 control points Pi, the rational Bézier curve can be described by:

or simply

See also

  • Vector graphics
    Vector graphics

    Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
  • de Casteljau's algorithm
    De Casteljau's algorithm

    In the mathematics subfield of numerical analysis the de Casteljau's algorithm, named after its inventor Paul de Casteljau, is a Recursion method to evaluate polynomials in Bernstein form or B?zier curves....
  • Spline (mathematics)
    Spline (mathematics)

    In mathematics, a spline is a special Function defined piecewise by polynomials.In interpolation problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low degree polynomials, while avoiding Runge's phenomenon for higher degrees....
  • NURBS
  • String art
    String art

    String art usually refers to an arrangement of string that forms abstract geometric patterns or patterns that resemble an object, such as a ship's sails, sometimes with other artist material comprising the remainder of the work....
     - Bézier curves are also formed by many common forms of string art, where strings are looped across a frame of nails.
  • Hermite curve


External links

  • describes how to approximate a circle (or a circular arc, or a hyperbola) by a Bézier curve; using cubic splines for image interpolation, and an explanation of the math behind these curves.
  • - An interactive applet showing how to construct a quadratic Bezier curve geometrically. (Requires Java.)
  • - An interactive applet showing how to construct a cubic Bezier curve geometrically. (Requires Java.)
  • - An interactive applet showing the relationship between the quadratic Bezier curve and the parabola. (Requires Java.)
  • - The Microsoft Win32 GDI
    Graphics Device Interface

    The Graphics Device Interface is a Microsoft Windows application programming interface and core operating system component that is responsible for representing graphical objects and transmitting them to output devices such as computer display and computer printer....
     API
    Application programming interface

    An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
     function, which draws Bezier curves in Windows
    Microsoft Windows

    Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
     graphic applications, like MS Paint.
  • - Locating all the intersections between two Bezier curves is a difficult general problem, because of the variety of degenerate cases. By Richard J. Kinch.
  • - A small program written in C and Win32 that implements the functionality to create and edit Bezier curves. Demonstrates also the use of de Casteljau's algorithm to split a Bezier curve.
  • in
  • Feature Column from American Mathematical Society
    American Mathematical Society

    The American Mathematical Society is an association of professional mathematicians dedicated to the interests of mathematics research and scholarship, which it does with various publications and conferences as well as annual monetary awards and prizes to mathematicians....