Computer graphics (computer science): Difference between revisions

Content deleted Content added
 
(16 intermediate revisions by 14 users not shown)
Line 1:
{{short description|Sub-field of computer science}}[[File:utah teapot simple 2.png|thumb|A modern rendering of the Utah teapot, an iconic model in 3D computer graphics created by Martin Newell in 1975.]]
 
'''Computer graphics''' is a sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. Although the term often refers to the study of three-dimensional computer graphics, it also encompasses two-dimensional graphics and image processing.
 
== Overview ==
Computer graphics studies manipulation of visual and geometric information using computational techniques. It focuses on the ''mathematical'' and ''computational'' foundations of image generation and processing rather than purely [[aesthetic]] issues. Computer graphics is often differentiated from the field of [[visualization (graphic)|visualization]], although the two fields have many similarities.
 
Connected studies include:
Line 32:
A broad classification of major subfields in computer graphics might be:
# [[Geometry]]: ways to represent and process surfaces
# [[Computer animation|Animation]]: ways to represent and manipulate motion
# [[Rendering (computer graphics)|Rendering]]: [[algorithm]]s to reproduce light transport
# [[Digital imaging|Imaging]]: image acquisition or image editing
Line 39:
[[File:Stanford bunny qem.png|thumb|Successive approximations of a surface computed using quadric error metrics]]
 
The subfield of geometry studies the representation of three-dimensional objects in a discrete digital setting. Because the appearance of an object depends largely on its exterior, [[boundary representation]]s are most commonly used. Two dimensional [[Surface (topology)|surface]]s are a good representation for most objects, though they may be non-[[manifold]]. Since surfaces are not finite, discrete digital approximations are used. [[polygon mesh|Polygonal meshes]] (and to a lesser extent [[subdivision surfaces]]) are by far the most common representation, although point-based representations have become more popular recently (see for instance the Symposium on Point-Based Graphics).<ref>{{cite web |url = http://graphics.ethz.ch/events/pbg/07/ |title=Point Based Graphics 2007 - PBG07 |website = Graphics.ethz.ch |access-date=2014-05-01}}</ref> These representations are ''Lagrangian,'' meaning the spatial locations of the samples are independent. Recently, ''Eulerian'' surface descriptions (i.e., where spatial samples are fixed) such as [[level set]]s have been developed into a useful representation for deforming surfaces which undergo many topological changes (with [[fluids]] being the most notable example).<ref name="stanford fedkiw">{{cite web |url = http://graphics.stanford.edu/~fedkiw/ |title = Ron Fedkiw |website = graphics.stanford.edu |access-date=2014-05-01 }}</ref>
 
Geometry subfields include:
Line 50:
 
=== Animation ===
The subfield of animation studies descriptions for surfaces (and other phenomena) that move or deform over time. Historically, most work in this field has focused on parametric and data-driven models, but recently [[physical simulation]] has become more popular as computers have become more powerful computationally.
 
Animation subfields include:
* [[Motion capture|Performance capture]]
* Character animation
* Physical simulation (e.g. [[cloth modeling]], animation of [[fluid dynamics]], etc.)
 
=== Rendering ===
{{Main articles|Rendering (computer graphics)}}
[[File:Cornellbox pathtracing irradiancecaching.png|thumb|Indirect diffuse scattering simulated using [[path tracing]] and [[irradiance]] [[Cache (computing)|caching]].]]
 
Rendering generates images from a model. Rendering may simulate [[light transport theory|light transport]] to create realistic images or it may create images that have a particular artistic style in [[non-photorealistic rendering]]. The two basic operations in realistic rendering are transport (how much light passes from one place to another) and scattering (how surfaces interact with light). See [[Rendering (computer graphics)]] for more information.
 
Rendering subfields include:
* [[light transport theory|Transport]] describes how illumination in a scene gets from one place to another. [[visibility (geometry)|Visibility]] is a major component of light transport.
* Scattering: Models of ''[[scattering]]'' (how light interacts with the surface ''at a given point'') and ''[[shading]]'' (how material properties vary across the surface) are used to describe the appearance of a surface. In graphics these problems are often studied within the context of rendering since they can substantially affect the design of [[rendering algorithm]]s. Descriptions of scattering are usually given in terms of a [[bidirectional scattering distribution function]] (BSDF). The latter issue addresses how different types of scattering are distributed across the surface (i.e., which scattering function applies where). Descriptions of this kind are typically expressed with a program called a [[shader]]. (There is some confusion since the word "shader" is sometimes used for programs that describe local ''geometric'' variation.)
* [[Non-photorealistic rendering]]
* [[Physically based rendering]] – concerned with generating images according to the laws of [[geometric optics]]
Line 84 ⟶ 85:
* [[Franklin C. Crow]]
* [[Paul Debevec]]
* [[David C. Evans (computer scientist)|David C. Evans]]
* [[Ronald Fedkiw|Ron Fedkiw]]
* [[Steven K. Feiner]]
Line 159 ⟶ 160:
* [[Wings 3D]]
* [[ZBrush]]
* [[Sculptris]]
* [[SolidWorks]]
* [[Rhino3D]]
* [[SketchUp]]
* [[Houdini (software)|Houdini]]
* [[3ds Max]]
* [[Cinema 4D]]
Line 190:
* [[Silo (software)|Silo]]
* [[Hexagon (software)|Hexagon]]
* [[LightWave 3D|Lightwave]]
 
== See also ==
Line 219:
{{Commons category|Computer graphics}}
* [https://web.archive.org/web/20070405172134/http://accad.osu.edu/~waynec/history/lessons.html A Critical History of Computer Graphics and Animation]
* {{usurped|1=[https://web.archive.org/web/20070302154206/http://hem.passagen.se/des/hocg/hocg_1960.htm ''History of Computer Graphics'' series of articles]}}
 
=== Industry ===