Vector graphics
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (January 2008) |
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon(s), which are all based upon mathematical equations, to represent images in computer graphics.
Vector graphics formats are complementary to raster graphics, which is the representation of images as an array of pixels, as it is typically used for the representation of photographic images.[1] There are instances when working with vector tools and formats is best practice, and instances when working with raster tools and formats is best practice. There are times when both formats come together. An understanding of the advantages and limitations of each technology and the relationship between them is most likely to result in efficient and effective use of tools.
Contents |
[edit] Overview
Computer displays are made up from small dots called pixels. The picture is built up from these dots. The smaller and closer the dots are together, the better the quality of the image but the bigger the file needed to store the data. If the image is magnified it becomes grainy as the resolution of the eye enables it to pick out individual pixels. Vector graphics files store the lines, shapes and colours that make up an image as mathematical formulae. A vector graphics program uses the mathematical formulae to construct the screen image by building the best quality image possible, given the screen resolution, from the mathematical data. The mathematical formulae determine where the dots that make up the image should be placed for the best results when displaying the image. Since these formulae can produce an image scalable to any size and detail the quality of the image is only determined by the resolution of the display and the file size of vector data generating the image stays the same. Printing the image to paper will usually give a sharper, higher resolution output than printing it to the screen but can use exactly the same vector data file.
A vector-graphics drawing software is used for creating and editing vector graphics. The image can be changed by editing screen objects which are then saved as modifications to the mathematical formulae. Mathematical operators in the software can be used to stretch, twist, and colour component object in the picture or the whole picture and these tools are presented to the user intuitively through the graphical user interface of the computer. It is possible to save the screen image produced as a bitmap/raster file or generate a bitmap of any resolution from the vector file for use on any device.
The size of the file generated will depend on the resolution required but the size of the vector file generating the bitmap/raster file will always remain the same. Thus it is easy to convert from a vector file to a range of bitmap/raster file formats but it is very much more difficult to go in the opposite direction, especially if subsequent editing of the vector picture is required. It might be an advantage to save an image created from a vector source file as a bitmap/raster format because different systems have different and incompatible vector formats and some might not support vector graphics at all. However, once the file is converted from the vector format it is likely to be bigger and it loses the advantages of scalability without losing resolution. Editing will also lose the convenience of being able to work on individual parts of the picture as discrete objects. Vector formats are not always appropriate in graphics work. For example, digital devices such as cameras and scanners produce raster graphics that are impractical to convert into vectors and so for this type of work the editor will operate on the pixels rather than drawing objects defined by mathematical formulae. Comprehensive graphics tools will combine images from vector and raster sources and might provide editing tools for both since some parts of the overall work could be sourced from a camera and others drawn using vector tools in the software.
The W3C standard for vector graphics is svg. The standard is complex and has been relatively slow to be established at least in part owing to commercial interests. Many web browsers have now some support for rendering svg data but full implementations of the standard are still comparatively rare.
One of the first uses of vector graphic displays was the US SAGE air defense system. Vector graphics systems were only retired from U.S. en route air traffic control in 1999, and are likely still in use in military and specialised systems. Vector graphics were also used on the TX-2 at the MIT Lincoln Laboratory by computer graphics pioneer Ivan Sutherland to run his program Sketchpad in 1963.
Subsequent vector graphics systems include Digital's GT40 [1]. There was a home gaming system that used vector graphics called Vectrex as well as various arcade games like Asteroids and Space Wars. Storage scope displays, such as the Tektronix 4014, could also create dynamic vector images by driving the display at a lower intensity.
Modern vector graphics displays can sometimes be found at laser light shows, using two fast-moving X-Y mirrors to rapidly draw shapes and text on a large screen.
The term vector graphics is mainly used today in the context of two-dimensional computer graphics. It is one of several modes an artist can use to create an image on a raster display. Other modes include text, multimedia and 3D rendering. Virtually all modern 3D rendering is done using extensions of 2D vector graphics techniques. Plotters used in technical drawing still draw vectors directly to paper.
[edit] Motivation
For example, consider circle of radius r. The main pieces of information a program needs in order to draw this circle are
- that the following data are describing a circle
- the radius r and equation of a circle
- the location of the center point of the circle
- stroke line style and colour (possibly transparent)
- fill style and colour (possibly transparent)
Advantages to this style of drawing over raster graphics:
- This minimal amount of information translates to a much smaller file size compared to large raster images (the size of representation doesn't depend on the dimensions of the object), though a vector graphic with a small file size is often said to lack detail compared with a real world photo.
- Correspondingly, one can indefinitely zoom in on e.g. a circle arc, and it remains smooth. On the other hand, a polygon representing a curve will reveal being not really curved.
- On zooming in, lines and curves need not get wider proportionally. Often the width is either not increased or less than proportional. On the other hand, irregular curves represented by simple geometric shapes may be made proportionally wider when zooming in, to keep them looking smooth and not like these geometric shapes.
- 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.
- From a 3-D perspective, rendering shadows is also much more realistic with vector graphics, as shadows can be abstracted into the rays of light which form them. This allows for photo realistic images and renderings.
[edit] Typical primitive objects
- lines and polylines
- polygons
- circles and ellipses
- Bézier curves
- Bezigons
- Text (in computer fonts such as TrueType where each letter is created from Bézier curves)
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.
[edit] Vector operations
Vector graphics editors typically allow rotation, movement, mirroring, stretching, skewing, affine transformations, changing of z-order and combination of primitives into more complex objects.
More sophisticated transformations include set operations on closed shapes (union, difference, intersection, etc.).
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.
Advanced vector artists are developing more photo-realistic vector art every day.[citation needed]
[edit] Printing
Vector art is key for printing. Since the art is made from a series of mathematical curves it will print very crisp even when resized. For instance one can take the same vector logo and print it on a business card, and then enlarge it to billboard size and keep the same crisp quality. A low-resolution raster graphic would blur incredibly if it were enlarged from business card size to billboard size.
[edit] 3D modeling
In 3D computer graphics, vectorized surface representations are most common (bitmaps can be used for special purposes such as surface texturing, height-field data and bump mapping). 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. One can however achieve a smooth surface rendering from a polygonal mesh through the use of shading algorithms such as Phong and Gouraud.
[edit] Formats
One example of vector graphics format is SVG (Scalable Vector Graphics), an open standard created and developed by the World Wide Web Consortium to address the need (and attempts of several corporations) for a versatile, scriptable and all-purpose vector format for the web and otherwise. Another example is VML, a proposed standard that was adopted by Microsoft.
[edit] See also
[edit] References
- ^ Ira Greenberg (2007). Processing: Creative Coding and Computational Art. Apress. ISBN 159059617X.