Vector graphics describes the use of geometrical primitives such as points, lines, curves, and polygons to represent images in computer graphics. It is used by contrast to the term raster graphics, which is the representation of images as a collection of pixels (dots).

Virtually all current output devices must ultimately translate vector representations of an image to a raster format, but when working with vector graphics such a transformation is only done at the time the image is actually required and may be done completely differently depending on the device at which the rendering is to be targeted at. In the 1970's and 1980's, special vector graphics systems were available, in which the electron beam of the CRT display monitor was steered directly to trace out the shapes required. These systems allowed very high-resolution line art to be displayed without the (at the time) huge memory requirements that an equivalent-resolution raster system would have had. Vector plotters used in technical drafting still draw vectors directly to paper.

The term is mainly used in the context of two-dimensional graphics. Virtually all modern 3-d rendering is done using extensions of 2-d vector graphics techniques.

Table of contents
1 Motivation
2 Typical primitive objects
3 Vector operations
4 3D modelling
5 See also

Motivation

For example, consider a circle of radius r. The main pieces of information a program needs in order to draw this circle are

  1. the radius r
  2. the location of the center point of the circle
  3. stroke line style
  4. fill style (possibly empty)

There are two major advantages to this style of drawing over raster graphics. First, this minimal amount of information translates to a much smaller file size (the size of representation doesn't depend on the dimensions of the object).

Second, the parameters of objects are stored and can be later modified. This means that moving, scaling, rotating, filling etc. doesn't degrade the quality of a drawing. Moreover, it is usual to specify the dimensions in device-independent units, which results in the best possible rasterization on raster devices.

Typical primitive objects

This list is not complete. There are various types of curves (Catmull-Rom splines, NURBS etc.), which are useful in certain applications.

Often, a bitmap image is considered as a primitive object. From the conceptual view, it behaves as a rectangle.

Vector operations

Vector graphics editors typically allow to rotate, move, mirror, stretch, skew, generally perform affine transformations of objects, change z-order and combine the primitives into more complex objects.

More sofisticated transformations include boolean operations on closed shapes (union, difference, intersection...)

Vector graphics are ideal for simple or composite drawings that need to be device independent or do not need to achieve photo-realism. For example, the PostScript and PDF page description languages use a vector graphics model.

3D modelling

In 3D computer graphics, vectorized surface representations are most common (bitmaps are used only as height-field data). At the low-end, simple meshes of polygons are used to represent geometric detail in applications where interactive frame-rates or simplicity are important. At the high-end, where one is willing to trade-off higher rendering times for increased image quality and precision, smooth surface representations such as Bézier patches, NURBS or Subdivision surfaces are used.

See also

Wikipedia:Graphics tutorials, graphics program, vector graphics editor, graphics file format, map#Electronic maps