# Glossary¶

**3D Widget.** An interaction paradigm enabling manipulation of scene objects (e.g., lights, camera, actors, and so on). The 3D widget typically provides a visible representation that can be intuitively and interactively manipulated.

**API.** An acronym for application programmer's interface.

**Abstract Class.** A class that provides methods and data members for the express purpose of deriving subclasses. Such objects are used to define a common interface and attributes for their subclasses.

**Abstraction.** A mental process that extracts the essential form or unifying properties of a concept.

**Alpha.** A specification of opacity (or transparency). An alpha value of one indicates that the object is opaque. An alpha value of zero indicates that the object is completely transparent.

**Ambient Lighting.** The background lighting of unlit surfaces.

**Animation.** A sequence of images displayed in rapid succession. The images may vary due to changes in geometry, color, lighting, camera position, or other graphics parameters. Animations are used to display the variation of one or more variables.

**Antialiasing.** The process of reducing aliasing artifacts. These artifacts typically result from undersampling the data. A common use of antialiasing is to draw straight lines that don't have the jagged edges found in many systems without antialiasing.

**Azimuth.** A rotation of a camera about the vertical (or view up) axis.

**Attribute.** A named member of a class that captures some characteristic of the class. Attributes have a name, a data type, and a data value. This is the same as a data member or instance variable.

**Base Class.** A superclass in C++.

**Binocular Parallax.** The effect of viewing the same object with two slightly different viewpoints to develop depth information.

**Boolean Texture.** A texture map consisting of distinct regions used to "cut" or accentuate features of data. For example, a texture map may consist of regions of zero opacity. When such a texture is mapped onto the surface of an object, portions of its interior becomes visible. Generally used in conjunction with a quadric (or other implicit function) to generate texture coordinates.

**C++.** A compiled programming language with roots in the C programming language. C++ is an extension of C that incorporates objectoriented principles.

**CT (Computed Tomography).** A data acquisition technique based on Xrays. Data is acquired in a 3D volume as a series of slice planes (i.e., a stack of *n^2^* points).

**Cell.** The atoms of visualization datasets. Cells define a topology (e.g., polygon, triangle) in terms of a list of point coordinates.

**Cell Attributes.** Dataset attributes associated with a cell. See also *point attributes* .

**Class.** An object that defines the characteristics of a subset of objects. Typically, it defines methods and data members. All objects instantiated from a class share that class's methods and data members.

**Clipping Plane.** A plane that restricts the rendering or processing of data. Front and back clipping planes are commonly used to restrict the rendering of primitives to those lying between the two planes.

**Color Mapping.** A scalar visualization technique that maps scalar values into color. Generally used to display the variation of data on a surface or through a volume.

**Compiled System.** A compiled system requires that a program be compiled (or translated into a lower level language) before it is executed. Contrast with *interpreted systems* .

**Composite Cell.** A cell consisting of one or more primary cells.

**Concrete Class.** A class that can be instantiated. Typically, abstract classes are not instantiated but concrete classes are.

**Connectivity.** A technique to extract connected cells. Cells are connected when they share common features such as points, edges, or faces.

**Contouring.** A scalar visualization technique that creates lines (in 2D) or surfaces (in 3D) representing a constant scalar value across a scalar field. Contour lines are called isovalue lines or iso-lines. Contour surfaces are called isovalue surfaces or isosurfaces.

**Constructor.** A class method that is invoked when an instance of that class is created. Typically the constructor sets any default values and allocates any memory that the instance needs. See also *destructor* .

**Critical Points.** Locations in a vector field where the local vector magnitude goes to zero and the direction becomes undefined.

**Cutting.** A visualization technique to slice through or cut data. The cutting surface is typically described with an implicit function, and data attributes are mapped onto the cut surface. See also *boolean texture* .

**Dataset.** The general term used to describe visualization data. Datasets consist of structure (geometry and topology) and dataset attributes (scalars, vectors, tensors, etc.). **Dataset Attributes.** The information associated with the structure of a dataset. This can be scalars, vectors, tensors, normals, and texture coordinates, or arbitrary data arrays that may be contained in the field.

**Data Extraction.** The process of selecting a portion of data based on characteristics of the data. These characteristics may be based on geometric or topological constraints or constraints on data attribute values.

**Data Flow Diagram.** A diagram that shows the information flow and operations on that information as it moves throughout a program or process.

**Data Object.** An object that is an abstraction of data. For example, a patient's file in a hospital could be a data object. Typical visualization objects include structured grids and volumes. See also *process object* .

**Data Member.** A named member of a class that captures some characteristic of the class. Data members have a name, a data type, and a data value. This is the same as an attribute or instance variable.

**Data Visualization.** The process of transforming data into sensory stimuli, usually visual images. Data visualization is a general term, encompassing data from engineering and science, as well as information from business, finance, sociology, geography, information management, and other fields. Data visualization also includes elements of data analysis, such as statistical analysis. Contrast with *scientific visualization* and *information visualization* .

**Decimation.** A type of polygon reduction technique that deletes points in a polygonal mesh that satisfies a co-planar or co-linear condition and replaces the resulting hole with a new triangulation.

**Delaunay Triangulation.** A triangulation that satisfies the Delaunay circumsphere criterion. This criterion states that a circumsphere of each simplex in the triangulation contains only the points defining the simplex.

**Delegation.** The process of assigning an object to handle the execution of another object's methods. Sometimes it is said that one object forwards certain methods to another object for execution.

**Demand-driven.** A method of visualization pipeline update where the update occurs only when data is requested and occurs only in the portion of the network required to generate the data.

**Derived Class.** A class that is more specific or complete than its superclass. The derived class, which is also known as the subclass, inherits all the members of its superclass. Usually a derived class adds new functionality or fills in what was defined by its superclass. See also *subclass* .

**Destructor.** A class method that is invoked when an instance of that class is deleted. Typically the destructor frees memory that the instance was using. See also *constructor* .

**Device Mapper.** A mapper that interfaces data to a graphics library or subsystem.

**Diffuse Lighting.** Reflected light from a matte surface. Diffuse lighting is a function of the relative angle between the incoming light and surface normal of the object.

**Displacement Plots.** A vector visualization technique that shows the displacement of the surface of an object. The method generates scalar values by computing the dot product between the surface normal and vector displacement of the surface. The scalars are visualized using color mapping.

**Display Coordinate System.** A coordinate system that is the result of mapping the view coordinate system onto the display hardware.

**Divergence.** In numerical computation: the tendency of computation to move away from the solution. In fluid flow: the rapid motion of fluid particles away from one another.

**Dividing Cubes.** A contour algorithm that represents isosurfaces as a dense cloud of points.

**Dolly.** A camera operation that moves the camera position towards (

from the camera focal point.

*dolly in* ) or away (

*dolly out* )

**Double Buffering.** A display technique that is used to display animations more smoothly. It consists of using two buffers in the rendering process. While one buffer is being displayed, the next frame in the animation is being drawn on the other buffer. Once the drawing is complete the two buffers are swapped and the new image is displayed.

**Dynamic Memory Model.** A data flow network that does not retain intermediate results as it executes. Each time the network executes, it must recompute any data required as input to another process object. A dynamic memory model reduces system memory requirements but places greater demands on computational requirements.

**Dynamic Model.** A description of a system concerned with synchronizing events and objects.

**Effective Stress.** A mathematical combination of the normal and shear stress components that provide a measure of the stress at a point. Effective stress is a scalar value, while stress is represented with a tensor value. See *stress* .

**Eigenfields.** Vector fields defined by the eigenvectors of a tensor.

**Eigenvalue.** A characteristic value of a matrix. Eigenvalues often correspond to physical phenomena, such as frequency of vibration or magnitude of principal components of stress.

**Eigenvector.** A vector associated with each eigenvalue. The eigenvector spans the space of the matrix. Eigenvectors are orthogonal to one another. Eigenvectors often correspond to physical phenomena such as mode shapes of vibration.

**Elevation.** A rotation of a camera about the horizontal axis.

**Entity.** Something within a system that has identity. Chairs, airplanes, and cameras are things that correspond to physical entities in the real world. A database and isosurface algorithm are examples of nonphysical entities.

**Event-driven.** A method of visualization pipeline update where updates occur when an event

affects the pipeline, e.g., when an object instance variable is set or modified. See also *demand-driven*.

**Execution.** The process of updating a visualization network.

**Explicit Execution.** Controlling network updates by performing explicit dependency analysis.

**Exporter.** An object that saves a VTK scene definition to a file or other program. (A scene consists of lights, cameras, actors, geometry, properties, texture, and other pertinent data.) See also *importer* .

**Fan-in.** The flow of multiple pieces of data into a single filter.

**Fan-out.** The flow of data from a filter's output to other objects.

**Feature Angle.** The angle between surface normal vectors, e.g., the angle between the normal vectors on two adjacent polygons.

**Filter.** A process object that takes at least one input and generates at least one output.

**Finite Element Method (FEM).** A numerical technique for the solution of partial differential equations. FEM is based on discretizing a domain into elements (and nodes) and constructing basis (or interpolation) functions across the elements. From these functions a system of linear equations is generated and solved on the computer. Typical applications include stress, heat transfer, and vibration analysis.

**Finite Difference Method.** A numerical technique for the solution of partial differential equations (PDEs). Finite difference methods replace the PDEs with truncated Taylor series approximations. This results in a system of equations that is solved on a computer. Typical applications include fluid flow, combustion, and heat transfer.

**Flat Shading.** A shading technique where the lighting equation for a geometric primitive is calculated once, and then used to fill in the entire area of the primitive. This is also known as faceted shading. See also *gouraud shading* and *phong shading* .

**Functional Model.** The description of a system based on what it does.

**Generalization.** The abstraction of a subset of classes to a common superclass. Generalization extracts the common members or methods from a group of classes to create a common superclass. See also *specialization* and *inheritance* .

**Geometry.** Used generally to mean the characteristic position, shape, and topology of an object.

Used specifically (in tandem with topology) to mean the position and shape of an object.

**Glyph.** A general visualization technique used to represent data using a meaningful shape or pictorial representation. Each glyph is generally a function of its input data and may change size, orientation, and shape; or modify graphics properties in response to changes in input.

**Gouraud Shading.** A shading technique that applies the lighting equations for a geometric primitive at each vertex. The resulting colors are then interpolated over the areas between the vertices. See also *flat shading* and *Phong shading* .

**Hedgehog.** A vector visualization technique that represents vector direction and magnitude with oriented lines.

**Height Field.** A set of altitude or height samples in a rectangular grid. Height fields are typically used to represent terrain.

**Hexahedron.** A type of primary 3D cell. The hexahedron looks like a "brick." It has six faces, 12 edges, and eight vertices. The faces of the hexahedron are not necessarily planar.

**Homogeneous Coordinates.** An alternate coordinate representation that provides more flexibility than traditional Cartesian coordinates. This includes perspective transformation and combined translation, scaling, and rotation.

**Hyperstreamline.** A tensor visualization technique. Hyperstreamlines are created by treating the eigenvectors as three separate vectors. The maximum eigenvalue/eigenvector is used as a vector field in which particle integration is performed (like streamlines). The other two vectors control the cross-sectional shape of an ellipse that is swept along the integration path. See also *streampolygon* .

**Image Data.** A dataset whose structure is both geometrically and topologically regular. Both geometry and topology are implicit. A 3D image dataset is known as a volume. A 2D image dataset is known as a pixmap.

**Image-Order Techniques.** Rendering techniques that determine for each pixel in the image plane which data samples contribute to it. Image-order techniques are implemented using ray casting. Contrast with *object-order techniques* .

**Implicit Execution.** Controlling network updates by distributing network dependency throughout the visualization process objects. Each process object requests that its input be updated before it executes. This results in a recursive update/execution process throughout the network.

**Implicit Function.** A mathematical function of the form , whereFxyz(),, c is a constant=.

**Implicit Modelling.** A modelling technique that represents geometry as a scalar field. Usually the scalar is a distance function or implicit function distributed through a volume.

**Importer.** An object that interfaces to external data or programs to define a complete scene in VTK. (The scene consists of lights, cameras, actors, geometry, properties, texture, and other pertinent data.) See also *exporter* .

**Information Visualization.** The process of transforming information into sensory stimuli, usually visual images. Information visualization is used to describe the process of visualizing data without structure, such as information on the World Wide Web; or abstract data structures, like computer file systems or documents. Contrast with *scientific visualization* and *data visualization* .

**Inheritance.** A process where the attributes and methods of a superclass are bestowed upon all sub-classes derived from that superclass. It is said that the subclasses inherit their superclasses' methods and attributes.

**Instance.** An object that is defined by a class and used by a program or application. There may be many instances of a specific class.

**Instance Variable.** A named member of a class that captures a characteristic of the class. Instance variables have a name, a data type, and a data value. The phrase, instance variable, is often abbreviated as ivar. This is the same as an attribute or data member.

**Intensity.** The light energy transferred per unit time across a unit plane perpendicular to the light rays.

**Interpolate.**

that bracket

Estimate a value of a function at a point *p*.

*p*, given known function values and points

**Interpolation Functions.** Functions continuous in value and derivatives used to interpolate data from known points and function values. Cells use interpolation functions to compute data values interior to or on the boundary of the cell.

**Interpreted System.** An interpreted system can execute programs without going through a separate compilation stage. Interpreted systems often allow the user to interact and modify the program as it is running. Contrast with *compiled systems* .

**Irregular Data.** Data in which the relationship of one data item to the other data items in the dataset is arbitrary. Irregular data is also known as unstructured data.

**Iso-parametric.** A form of interpolation in which interpolation for data values is the same as for the local geometry. Compare with *sub-parametric* and *super-parametric* .

**Isosurface.** A surface representing a constant valued scalar function. See *contouring* .

**Isovalue.** The scalar value used to generate an isosurface.

**Jacobian.** A matrix that relates one coordinate system to another.

**Line.** A cell defined by two points.

**MRI (Magnetic Resonance Imaging).** A data acquisition technique based on measuring variation in magnetic field in response to radio-wave pulses. The data is acquired in a 3D region as a series of slice planes (i.e., a stack of n^2 points).

**Mapper.** A process object that terminates the visualization network. It maps input data into graphics libraries (or other devices) or writes data to disk (or a communication device).

**Manifold Topology.** A domain is manifold at a point *p* in a topological space of dimension *n* if the

neighborhood around *p* is homeomorphic to an *n*-dimensional sphere. Homeomorphic means that the mapping is one to one without tearing (i.e., like mapping a rubber sheet from a square to a disk). We generally refer to an object's topology as manifold if every point in the object is manifold. Contrast with *nonmanifold topology* .

**Marching Cubes.** A contouring algorithm to create surfaces of constant scalar value in 3D. Marching cubes is described for volume datasets, but has been extended to datasets consisting of other cell types.

**Member Function.** A member function is a function or transformation that can be applied to an object. It is the functional equivalent to a data member. Member functions define the behavior of an object. Methods, operations, and member functions are essentially the same.

**Method.** A function or transformation that can be applied to an object. Methods define the behavior of an object. Methods, operations, and member functions are essentially the same.

**Modal Lines.** Lines on the surface of a vibrating object that separate regions of positive and negative displacement.

**Mode Shape.** The motion of an object vibrating at a natural frequency. See also *eigenvalues* and

*eigenvectors* .

**Model Coordinate System.** The coordinate system that a model or geometric entity is defined in.

There may be many different model coordinate systems defined for one scene.

**Motion Blur.** An artifact of the shutter speed of a camera. Since the camera's shutter stays open for a finite amount of time, changes in the scene that occur during that time can result in blurring of the resulting image.

**Morph.** A progressive transformation of one object into another. Generally used to transform images (2D morphing) and in some cases geometry (3D morphing).

**Multiple Input.** Process objects that accept more than one input.

**Multiple Output.** Process objects that generate more than one output.

**Multidimensional Visualization.** Visualizing data of four or more variables. Generally requires a mapping of many dimensions into three or fewer dimensions so that standard visualization techniques can be applied.

**Nonmanifold Topology.** Topology that is not manifold. Examples include polygonal meshes, where an edge is used by more than two polygons, or polygons connected to each other at their vertices (i.e., do not share an edge). Contrast with *manifold topology* .

**Normal.** A unit vector that indicates perpendicular direction to a surface. Normals are a common type of data attribute.

**Object.** An abstraction that models the state and behavior of entities in a system. Instances and classes are both objects.

**Object Model.** The description of a system in terms of the components that make up the system, including the relationship of the components one to another.

**Object-Order Techniques.** Rendering techniques that project object data (e.g., polygons or voxels) onto the image plane. Example techniques include ordered compositing and splatting.

**Object-Oriented.** A software development technique that uses objects to represent the state and behavior of entities in a system.

**Octree Decomposition.** A technique to decompose a cubical region of three-dimensional space into smaller cubes. The cubes, or octants, are related in tree fashion. The root octant is the cubical region. Each octant may have eight children created by dividing the parent in half in the x, y, and z directions.

**Object Factory.** An object used to construct or instantiate other objects. In VTK, object factories are implemented using the class method New().

**OMT.** *Object Modelling Technique* . An object-oriented design technique that models software systems with object, dynamic, and functional diagrams.

**Operation.** A function or transformation that can be applied to an object. Operations define the behavior of an object. Methods and member functions implement operations.

**Overloading.** Having multiple methods with the same name. Some methods are overloaded because there are different versions of the same method. These differences are based on argument types, while the underlying algorithm remains the same. Contrast with *polymorphic* .

**Painter's Algorithm.** An object-order rendering technique that sorts rendering primitives from back to front and then draws them.

**Parametric Coordinates.** A coordinate system natural to the geometry of a geometric object. For example, a line may be described by the single coordinate *s* even though the line may lie in three or higher dimensions.

**Parallel Projection.** A mapping of world coordinates into view coordinates that preserves all parallel lines. In a parallel projection an object will appear the same size regardless of how far away it is from the viewer. This is equivalent to having a center of projection that is infinitely far away. Contrast with *perspective projection* .

**Particle Trace.** The trajectory that particles trace over time in fluid flow. Particle traces are everywhere tangent to the velocity field. Unlike streamlines, particle lines are time-dependent.

**Pathline.** The trajectory that a particle follows in fluid flow.

**Perspective Projection.** A mapping of world coordinates into view coordinates that roughly approximates a camera lens. Specifically, the center of projection must be a finite distance from the

view plane. As a result closer, objects will appear larger than distant objects. Contrast with *parallel* *projection* .

**Phong Shading.** A shading technique that applies the lighting equations for a geometric primitive at each pixel. See also *flat shading* and *Gouraud shading* .

**Pitch.** A rotation of a camera's position about the horizontal axis, centered at its viewpoint. See also *yaw* and *roll*. Contrast with *elevation* .

**Pixel.** Short for picture element. Constant valued elements in an image. In VTK, a two-dimensional cell defined by an ordered list of four points.

**Point.** A geometric specification of position in 3D space.

**Point Attributes.** Data attributes associates with the points of a dataset.

**Polygon.** A cell consisting of three or more co-planar points defining a polygon. The polygon can be concave but without imbedded loops.

**Polygonal Data.** A dataset type consisting of arbitrary combinations of vertices, polyvertices, lines, polylines, polygons, and triangle strips. Polygonal data is an intermediate data form that can be easily rendered by graphics libraries, and yet can represent many types of visualization data.

**Polygon Reduction.** A family of techniques to reduce the size of large polygonal meshes. The goal is to reduce the number of polygons, while preserving a "good" approximation to the original geometry. In most techniques topology is preserved as well.

**Polyline.**

A composite cell consisting of one or more lines.

**Polymorphic.** Having many forms. Some methods are polymorphic because the same method in

different classes may implement a different algorithm. The semantics of the method are typically

the same, even though the implementation may differ. Contrast with *overloading* .

**Polyvertex.**

A composite cell consisting of one or more vertices.

**Primary Cell.**

A cell that is not defined in terms of other cells.

**Probing.** Also known as sampling or resampling. A data selection technique that selects data at a

set of points.

**Process Object.** A visualization object that is an abstraction of a process or algorithm. For example, the isosurfacing algorithm marching cubes is implemented as a process object. See also *data object*.

**Progressive Mesh.** A representation of a triangle mesh that enables incremental refinement and

derefinement. The data representation is compact and is useful for transmission of 3D triangle

meshes across a network. See also *polygon reduction* .

**Properties.** A general term used to describe the rendered properties of an actor. This includes lighting terms such as ambient, diffuse, and specular coefficients; color and opacity; shading techniques such as flat and Gouraud; and the actor's geometric representation (wireframe, points, or surface).

**Pyramid.** A type of primary 3D cell. The pyramid has a quadrilateral base connected to a single apex point. It has five faces, eight edges, and five vertices. The base face of the pyramid is not necessarily planar.

**Quadric.** A function of the form

The quadric equation can represent many useful 3D objects such as spheres, ellipsoids, cylinders, and cones.

**Quadratic Edge.** A type of primary 1D cell with a quadratic interpolation function. The quadratic edge is defined by three points: two end points and a mid-edge node.

**Quadratic Triangle.** A type of primary 2D cell with quadratic interpolation functions. The quadratic triangle is defined by six points: three corner points and three mid-edge nodes.

**Quadratic Quadrilateral.** A type of primary 2D cell with quadratic interpolation functions. The quadratic quadrilateral is defined by eight points: four corner points and four mid-edge nodes.

**Quadratic Tetrahedron.** A type of primary 3D cell with quadratic interpolation functions. The quadratic tetrahedron is defined by ten points: four corner points and six mid-edge nodes.

**Quadratic Hexahedron.** A type of primary 3D cell with quadratic interpolation functions. The quadratic edge is defined by twenty points: eight corner points and twelve mid-edge nodes.

**Quadrilateral (Quad).** A type of primary 2D cell. The quadrilateral is four sided with four vertices. The quadrilateral must be convex.

**Reader.** A source object that reads a file or files and produces a data object.

**Reference Counting.** A memory management technique used to reduce memory requirements. Portions of memory (in this case objects) may be referenced by more than one other object. The referenced object keeps a count of references to it. If the count returns to zero, the object deletes itself, returning memory back to the system. This technique avoids making copies of memory.

**Region of Interest.** A portion of a dataset that the user is interested in visualizing. Sometimes abbreviated ROI.

**Regular Data.** Data in which one data item is related (either geometrically or topologically) to other data items. Also referred to as structured data.

**Rendering.** The process of converting object geometry (i.e., geometric primitives), object properties, and a specification of lights and camera into an image. The primitives may take many forms including surface primitives (points, lines, polygons, splines), implicit functions, or volumes.

**Resonant Frequency.** A frequency at which an object vibrates.

**Roll.** A rotation of a camera about its direction of projection. See also *azimuth* , *elevation* , *pitch*, and *yaw*.

**Sampling.** Selective acquisition or sampling of data, usually at a regular interval. See also *probing* .

**Scalar.** A single value or function value. May also be used to represent a field of such values.

**Scalar Range.** The minimum and maximum scalar values of a scalar field.

**Scalar Generation.** Creating scalar values from other data such as vectors or tensors. One example is computing vector norm.

**Scene.** A complete representation of the components required to generate an image or animation including lights, cameras, actors. properties, transformations, geometry, texture, and other pertinent information.

**Scene Graph.** A hierarchical, acyclic, directed tree representation of a scene. The graph order (depth first) controls when objects are processed by the graphics system.

**Scientific Visualization.** The process of transforming data into sensory stimuli, usually visual images. Generally used to denote the application of visualization to the sciences and engineering. Contrast with *data visualization* and *information visualization* .

**Searching.** The process of locating data. Usually the search is based on spatial criteria such as position or being inside a cell.

**Segmentation.** Identification and demarcation of tissue types. Segmentation is generally applied to CT and MRI data to associate soft tissue with a particular body organ or anatomical structure.

**Simplex.** The convex combination of *n* independent vectors in *n*-space forms an *n*-dimensional simplex. Points, lines, triangles, and tetrahedra are examples of simplices in 0D, 1D, 2D, and 3D.

**Source.** A process object that produces at least one output. Contrast with *filter* .

**Specialization.** The creation of subclasses that are more refined or specialized than their super-class. See also *generalization* and *inheritance* .

**Specular Lighting.** Reflected lighting from a shiny surface. Specular lighting is a function of the relative angle between the incoming light, the surface normal of the object, and the view angle of the observer.

**Splatting.** A method to distribute data values across a region. The distribution functions are often based on Gaussian functions.

**State Diagram.** A diagram that relates states and events. Used to describe behavior in a software system.

**Static Memory Model.** A data flow network that retains intermediate results as it executes. A static memory model minimizes computational requirements, but places greater demands on memory requirements.

**Strain.** A nondimensional quantity expressed as the ratio of the displacement of an object to its length (normal strain), or angular displacement (shear strain). Strain is a tensor quantity. See also *stress* .

**Stress.** A measure of force per unit area. Normal stress is stress normal to a given surface, and is either compressive (a negative value) or tensile (a positive value). Shear stress acts tangentially to a given surface. Stress is related to strain through the linear proportionality constants (theE modulus of elasticity), (Poisson's ratio), and (modulusG of elasticity in shear). Stress is a tensor quantity. See also *strain* .

**Streakline.** The set of particles that have previously passed through a particular point.

**Streamline.** Curves that are everywhere tangent to the velocity field. A streamline satisfies the integral curve \frac{\text{d}\overrightarrow{x}}{\text{d}s} = \overrightarrow{v}(x,t') at sonme time t'.

**Streampolygon.** A vector and tensor visualization technique that represents flow with tubes that have polygonal cross sections. The method is based on integrating through the vector field and then sweeping a regular polygon along the streamline. The radius, number of sides, shape, and rotation of the polygon are allowed to change in response to data values. See also *hyperstreamline* .

**Streamribbon.** A vector visualization technique that represents vectors with ribbons that are everywhere tangent to the vector field

**Streamsurface** . A surface that is everywhere tangent to a vector field. Can be approximated by generating a series of streamlines along a curve and connecting the lines with a surface.

**Streamwise Vorticity.** A measure of the rotation of flow around a streamline.

**Structured Data.** Data in which one data item is related (either geometrically or topologically) to other data items. Also referred to as regular data.

**Structured Grid.** A dataset whose structure is topologically regular but whose geometry is irregular. Geometry is explicit and topology is implicit. Typically, structured grids consist of hexahedral cells.

**Structured Points.** *Preferred term is* Image Data *.* A dataset whose structure is both geometrically and topologically regular. Both geometry and topology are implicit. A 3D structured point dataset is known as a volume. A 2D structured point dataset is known as a pixmap.

**Subclass.** A class that is more specific or complete than its superclass. The subclass, which is also known as the derived class, inherits all the members of its superclass. Usually a subclass will add some new functionality or fill in what was defined by its superclass. See also *derived class* .

**Sub-parametric.** A form of interpolation in which interpolation for data values is of higher order than that for the local geometry. Compare with *iso-parametric* and *super-parametric* .

**Subsampling.** Sampling data at a resolution at less than final display resolution.

**Superclass.** A class from which other classes are derived. See also *base class* .

**Super-parametric.** A form of interpolation in which interpolation for data values is of lower order than that for the local geometry. Compare with *iso-parametric* and *sub-parametric* .

**Surface Rendering.** Rendering techniques based on geometric surface primitives such as points, lines, polygons, and splines. Contrast with *volume rendering* .

**Swept Surface.**

The surface that an object creates as it is swept through space.

**Swept Volume.**

The volume enclosed by a swept surface.

**Tcl.**

An interpreted language developed by John Ousterhout in the early 1980s.

**Tk.**

A graphical user-interface toolkit based on Tcl.

**Tensor.** A mathematical generalization of vectors and matrices. A tensor of rank *k* can be considered a *k*-dimensional table. Tensor visualization algorithms treat 3 x 3 real symmetric matrix tensors (rank 2 tensors).

**Tensor Ellipsoid.** A type of glyph used to visualize tensors. The major, medium, and minor eigenvalues of a tensor define an ellipsoid. The eigenvalues are used to scale along the axes.

**Tetrahedron.** A 3D primary cell that is a simplex with four triangular faces, six edges, and four vertices.

**Texture Animation.** Rapid application of texture maps to visualize data. A useful example maps a 1D texture map of varying intensity along a set of lines to simulate particle flow.

**Texture Coordinate.** Specification of position within texture map. Texture coordinates are used to map data from Cartesian system into 2D or 3D texture map.

**Texture Map.** A specification of object properties in a canonical region. These properties are most often intensity, color, and alpha, or combinations of these. The region is typically a structured array of data in a pixmap (2D) or in a volume (3D).

**Texture Mapping.** A rendering technique to add detail to objects without requiring extensive geometric modelling. One common example is to paste a picture on the surface of an object.

**Texture Thresholding.** Using texture mapping to display selected data. Often makes use of alpha opacity to conceal regions of minimal interest.

**Thresholding.** A data selection technique that selects data that lies within a range of data. Typically scalar thresholding selects data whose scalar values meet a scalar criterion.

**Topology.** A subset of the information about the structure of a dataset. Topology is a set of properties invariant under certain geometric transformation such as scaling, rotation, and translation.

**Topological Dimension.** The dimension or number of parametric coordinates required to address the domain of an object. For example, a line in 3D space is of topological dimension one because the line can be parametrized with a single parameter.

**Transformation Matrix.** A matrix of values used to control the position, orientation, and scale of objects.

**Triangle Strip.** A composite 2D cell consisting of triangles. The triangle strip is an efficient representation scheme for triangles where points n + 2 can represent n triangles.

**Triangle.** A primary 2D cell. The triangle is a simplex with three edges and three vertices.

**Triangular Irregular Network (TIN).** An unstructured triangulation consisting of triangles. Often used to represent terrain data.

**Triangulation.** A set of nonintersecting simplices sharing common vertices, edges, and/or faces.

**Type Converter** . A type of filter used to convert from one dataset type to another.

**Type Checking.** The process of enforcing compatibility between objects.

**Uniform Grid.** A synonym for image data.

**Unstructured Data.** Data in which one data item is unrelated (either geometrically or topologically) to other data items. Also referred to as irregular data.

**Unstructured Grid.** A general dataset form consisting of arbitrary combinations of cells and points. Both the geometry and topology are explicitly defined.

**Unstructured Points.** A dataset consisting of vertex cells that are positioned irregularly in space, with no implicit or explicit topology.

**Visualization.** The process of converting data to images (or other sensory stimuli). Alternatively, the end result of the visualization process.

**Vector.** A specification of direction and magnitude. Vectors can be used to describe fluid velocity, structural displacement, or object motion.

**Vector Field Topology.** Vector fields are characterized by regions flow diverges, converges, and/or rotates. The relationship of these regions one to another is the topology of the flow.

**Vertex.** A primary 0D cell. Is sometimes used synonymously with point or node.

**View Coordinate System.** The projection of the world coordinate system into the camera's viewing frustrum.

**View Frustrum.** The viewing region of a camera defined by six planes: the front and back clipping planes, and the four sides of a pyramid defined by the camera position, focal point, and view angle (or image viewport if viewing in parallel projection).

**Visual Programming.** A programming model that enables the construction and manipulation of visualization applications. A typical implementation is the construction of a visualization pipeline by connecting execution modules into a network.

**Visualization Network.** A series of process objects and data objects joined together into a dataflow network.

**Volume.** A regular array of points in 3D space. Volumes are often defined as a series of 2D images arranged along the *z*-axis.

**Volume Rendering.** The process of directly viewing volume data without converting the data to intermediate surface primitives. Contrast with *surface rendering* .

**Vorticity.** A measure of the rotation of fluid flow.

**Voxel.** Short for volume element. In VTK, a primary three-dimensional cell with six faces. Each face is perpendicular to one of the coordinate axes.

**Warping.** A scalar and vector visualization technique that distorts an object to magnify the effects of data value. Warping may be used on vector data to display displacement or velocity, or on scalar data to show relative scalar values.

**Wedge.** A type of primary 3D cell. The wedge has two triangular faces connected with three quadrilateral faces. It has five faces, nine edges, and six vertices. The quadrilateral faces of the wedge are not necessarily planar.

**World Coordinate System.** A three-dimensional Cartesian coordinate system in which the main elements of a rendering scene are positioned.

**Writer.** A type of mapper object that writes data to disk or other I/O device.

**Yaw.** A rotation of a camera's position about the vertical axis, centered at its viewpoint. See also *pitch* and *roll*. Contrast with *azimuth* .

**Z-Buffer.** Memory that contains the depth (along the view plane normal) of a corresponding element in a frame buffer.

**Z-Buffering.** A technique for performing hidden line (point, surface) removal by keeping track of the current depth, or *z* value for each pixel. These values are stored in the *z*-buffer.

**Zoom.** A camera operation that changes the field of view of the camera. Contrast with *dolly*.