Diffusion curve

Last updated

Diffusion curves are vector graphic primitives for creating smooth-shaded images. Each diffusion curve partitions the 2D graphics space through which it is drawn, defining different colors on either side. When rendered, these colors then spread into the regions on either side of the curve in a way analogous to diffusion. The colors may also be defined to vary smoothly along the curve and the sharpness of the color transition from one side of the curve to the other may also be specified. [1]

Contents

Original PhD thesis introducing concept of Diffusion curves. [2]

Diffusion curves have been discussed in relation to being a possible addition to the SVG specification. [3]

Motivations

In the original paper introducing the concept of diffusion curves, Orzan et al. describe two main motivations for them. [1]

Freehand drawing

Artists traditionally begin by sketching lines and shapes that represent the major, and some of the lesser, colour boundaries of the envisioned work. The use of diffusion curves supports this practice accurately: as color would be added later, up to and between these sketched lines, so the lines' color values are specified and their 'diffusion-like' behaviors produce an image in a manner similar to the way a traditional artist works with brushes or other media.

Encoding and editing images

Most color and tone variations within an image, whether manually drawn or photographically generated, originate at or are caused by edges. These edges may be the edges of one object in front of another or they may be texture edges, shadow borders etc. More subtle shading may also be represented as if it were caused by edges. Therefore vision analysis techniques such as edge detection integrate well with the construction of diffusion curves and so they can facilitate the vectorization of real images and their later manual editing.

Related Research Articles

Scalable Vector Graphics Open standard for two-dimensional vector graphics

Scalable Vector Graphics (SVG) is an XML-based vector image format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999.

Vector graphics Computer graphics images defined by points, lines and curves

Vector graphics, as a form of computer graphics, is the set of mechanisms for creating visual images directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves, and polygons. These mechanisms may include vector display and printing hardware, vector data models and file formats, and software based on these data models. Vector graphics is an alternative to raster graphics, each having advantages and disadvantages in general and in specific situations.

Wire-frame model Representation of a 3D object with only its edges rendered

A wire-frame model, also wireframe model, is a visual representation of a three-dimensional (3D) physical object used in 3D computer graphics. It is created by specifying each edge of the physical object where two mathematically continuous smooth surfaces meet, or by connecting an object's constituent vertices using (straight) lines or curves. The object is projected into screen space and rendered by drawing lines at the location of each edge. The term "wire frame" comes from designers using metal wire to represent the three-dimensional shape of solid objects. 3D wire frame computer models allow for the construction and manipulation of solids and solid surfaces. 3D solid modeling efficiently draws higher quality representations of solids than conventional line drawing.

Vector graphics editor Type of application software

A vector graphics editor is a computer program that allows users to compose and edit vector graphics images interactively on a computer and save them in one of many popular vector graphics formats, such as EPS, PDF, WMF, SVG, or VML.

Rasterisation Conversion of a vector-graphics image to a raster image

In computer graphics, rasterisation or rasterization is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image. The rasterized image may then be displayed on a computer display, video display or printer, or stored in a bitmap file format. Rasterization may refer to the technique of drawing 3D models, or the conversion of 2D rendering primitives such as polygons, line segments into a rasterized format.

Shading Depicting depth through varying levels of darkness

Shading refers to the depiction of depth perception in 3D models or illustrations by varying the level of darkness. Shading tries to approximate local behavior of light on the object's surface and is not to be confused with techniques of adding shadows, such as shadow mapping or shadow volumes, which fall under global behavior of light.

Graphics are visual images or designs on some surface, such as a wall, canvas, screen, paper, or stone, to inform, illustrate, or entertain. In contemporary usage, it includes a pictorial representation of data, as in design and manufacture, in typesetting and the graphic arts, and in educational and recreational software. Images that are generated by a computer are called computer graphics.

Inkscape Vector graphics editor

Inkscape is a free and open-source vector graphics editor used to create vector images, primarily in Scalable Vector Graphics (SVG) format. Other formats can be imported and exported.

Ray casting Methodological basis for 3D CAD/CAM solid modeling and image rendering

Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from the focal point of a camera through each pixel in the camera sensor to determine what is visible along the ray in the 3D scene. The term "Ray Casting" was introduced by Scott Roth while at the General Motors Research Labs from 1978–1980. His paper, "Ray Casting for Modeling Solids", describes modeled solid objects by combining primitive solids, such as blocks and cylinders, using the set operators union (+), intersection (&), and difference (-). The general idea of using these binary operators for solid modeling is largely due to Voelcker and Requicha's geometric modelling group at the University of Rochester. See Solid modeling for a broad overview of solid modeling methods. This figure on the right shows a U-Joint modeled from cylinders and blocks in a binary tree using Roth's ray casting system, circa 1979.

Transparency (graphic) Capability of a computer graphic to allow whatever is "behind" it to be visible

Transparency in computer graphics is possible in a number of file formats. The term "transparency" is used in various ways by different people, but at its simplest there is "full transparency" i.e. something that is completely invisible. Only part of a graphic should be fully transparent, or there would be nothing to see. More complex is "partial transparency" or "translucency" where the effect is achieved that a graphic is partially transparent in the same way as colored glass. Since ultimately a printed page or computer or television screen can only be one color at a point, partial transparency is always simulated at some level by mixing colors. There are many different ways to mix colors, so in some cases transparency is ambiguous.

Xfig Vector graphics editor for UNIX-like systems

Xfig is a free and open-source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms.

Pixel art Form of digital art

Pixel art is a form of digital art drawn with graphical software, in which images are built with the exclusive and intentional placement of pixels. Pixel art is particularly relevant in the world of video games, as 24% of the best selling games of all time employ this art style. It was widely associated with the low-resolution graphics from 8-bit and 16-bit era computers and arcade video game consoles, in addition to other limited systems such as LED displays and graphing calculators, which have a maximum number of pixels and colors available. The art form is still practiced to this day by pixel artists and game studios, even though the technological limitations have since been surpassed.

Cairo (graphics) Vector graphics-based software library

Cairo is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers. It provides primitives for two-dimensional drawing across a number of different back ends. Cairo uses hardware acceleration when available.

A computer font is implemented as a digital data file containing a set of graphically related glyphs. A computer font is designed and created using a font editor. A computer font specifically designed for the computer screen, and not for printing, is a screen font.

A number of vector graphics editors exist for various platforms. Potential users of these editors will make a comparison of vector graphics editors based on factors such as the availability for the user's platform, the software license, the feature set, the merits of the user interface (UI) and the focus of the program. Some programs are more suitable for artistic work while others are better for technical drawings. Another important factor is the application's support of various vector and bitmap image formats for import and export.

Image file formats are standardized means of organizing and storing digital images. An image file format may store data in an uncompressed format, a compressed format, or a vector format. Image files are composed of digital data in one of these formats so that the data can be rasterized for use on a computer display or printer. Rasterization converts the image data into a grid of pixels. Each pixel has a number of bits to designate its color. Rasterizing an image file for a specific device takes into account the number of bits per pixel that the device is designed to handle.

In computer graphics, image tracing, raster-to-vector conversion or raster vectorization is the conversion of raster graphics into vector graphics.

In computer vision and image processing, a feature is a piece of information about the content of an image; typically about whether a certain region of the image has certain properties. Features may be specific structures in the image such as points, edges or objects. Features may also be the result of a general neighborhood operation or feature detection applied to the image. Other examples of features are related to motion in image sequences, or to shapes defined in terms of curves or boundaries between different image regions.

Color gradient Specifies a range of position-dependent colors

In computer graphics, a color gradient specifies a range of position-dependent colors, usually used to fill a region. For example, many window managers allow the screen background to be specified as a gradient. The colors produced by a gradient vary continuously with position, producing smooth color transitions.

This is a glossary of terms relating to computer graphics.

References

  1. 1 2 Alexandrina Orzan; Adrien Bousseau; Holger Winnemöller; Pascal Barla; Joëlle Thollot; David Salesin (2008). "Diffusion Curves: A Vector Representation for Smooth-Shaded Images" (PDF). ACM Transactions on Graphics. 27. Retrieved 2009-05-25.
  2. Orzan, Alexandrina (2009). "Contour-based Images: Representation, Creation and Manipulation" (PDF). INPG.{{cite journal}}: Cite journal requires |journal= (help)
  3. Rusin, Zack (2008). "SVG in KDE: Freedom of Beauty". svgopen.org. Retrieved 2009-05-25.