Upload
amy-shepherd
View
213
Download
0
Embed Size (px)
Citation preview
CS 526: Computer Graphics II University of Illinois at Chicago
An Introduction to Glyphs
Allan SpaleSpring 2004
CS 526: Computer Graphics II University of Illinois at Chicago
Description
• Visual object that represents data– Geometry or image
• Changes its appearance based on current data values– Size, orientation, color, location, etc.
• Almost like an “icon” but not a “symbol”– Icon: “A sign whose form represents its
meaning.”– Symbol: “Something that stands for or suggests
something else…”
CS 526: Computer Graphics II University of Illinois at Chicago
Simple Example
• Instead of using letter grades, try using faces
• The glyph is actually the “mouth” of the “smiley face” and not all the parts of the face
A B C D E
CS 526: Computer Graphics II University of Illinois at Chicago
Classification by Delmarcelle and Hesselink
• Based on a framework for flow visualization
• Elementary icons– Glyph type used to represent information
• Local icons– Glyph type with additional local information
• Global icons– Glyph type that encompasses structure of an
entire dataset
CS 526: Computer Graphics II University of Illinois at Chicago
Examples of Elementary Icons
• Only one property of the glyph is variable– Orientation, size, stretch/shrink, etc.
• Examples– N-dimensional geometry (line, triangle, cone,
etc.)
CS 526: Computer Graphics II University of Illinois at Chicago
Examples of Local Icons
• Multiple glyph properties are variable– Color and orientation; size and color; etc.
• Examples– Colored hedgehogs; colored, scaled, and
orientated tensors
CS 526: Computer Graphics II University of Illinois at Chicago
Examples of Global Icons
• Dataset represented by one glyph– Isosurfaces, non-traditional complex glyphs
• Examples– Medical tissues; facial expression for financial
data
CS 526: Computer Graphics II University of Illinois at Chicago
Problems
• Using 3-D– Viewing a 3-D glyph on a 2-D surface can make
glyph orientation and position difficult to determine
• Frequency– Clutter can obstruct individual glyphs
• Scaling– Creates “nonlinear differences in appearance”– Consult Tufte’s Visual Display of Quantitative
Information
CS 526: Computer Graphics II University of Illinois at Chicago
Applications
• Seismoglyphs– Originated from his
thesis on Wiggleview• Atul Nayak
– Displays 3-D earthquake data over time
– Glyph retains a compact form
CS 526: Computer Graphics II University of Illinois at Chicago
Applications
• Uncertainty visualization– “Procedural Annotation of Uncertain Information”
• Andrej Cedilnik and Penny Rheingans
– How to visualize data that is missing or uncertain
• Use glyphs that have a distortion/noise attribute• Must be careful that the glyph retains its structure and
does not hinder understanding
CS 526: Computer Graphics II University of Illinois at Chicago
Using Glyphs in VTK:Example from Text
vtkDataSet vtkPolyData
vtkGlyph3D
vtkPolyData
Input
Source
• vtkDataSet (input)– Abstract class for
dataset objects• Considers
geometry, topology, and attributes
• Attribute data is either point or cell
– Data used as input to the glyph
CS 526: Computer Graphics II University of Illinois at Chicago
Using Glyphs in VTK:Example from Text
• vtkPolyData (source)– Concrete class of
vtkDataSet– Supports cell types
including vtkVertex, and vtkPolygon
– Has some data manipulation and traversal methods
– Delivers geometry of the glyph to the class vtkGlyph3D
vtkDataSet vtkPolyData
vtkGlyph3D
vtkPolyData
Input
Source
CS 526: Computer Graphics II University of Illinois at Chicago
Using Glyphs in VTK:Example from Text
• vtkGlyph3D– Inputs to class
• vtkDataSet = data to visualize
• vtkPolyData = glyph geometry
– Decisions to make• Scaling, orientation,
etc.• Recall glyph problems
– Note the warnings in the API
vtkDataSet vtkPolyData
vtkGlyph3D
vtkPolyData
Input
Source
CS 526: Computer Graphics II University of Illinois at Chicago
Using Glyphs in VTK:Example from Text
• vtkPolyData (output)– Glyph
characteristics in vtkGlyph3D and vtkPolyData (input)
– Glyph characteristics influenced by input data of vtkDataSet
vtkDataSet vtkPolyData
vtkGlyph3D
vtkPolyData
Input
Source
CS 526: Computer Graphics II University of Illinois at Chicago
Demo Using Glyphs in VTK:thrshldV.py
• Adapted from Tcl script in VTK text on page 193 to Python.– (Figure 6-43) “Visualizing blood flow in human carotid
arteries. Cone glyphs indicate the flow direction and magnitude.”
vtkStructuredPointReader
vtkThresholdPoints
vtkMaskPoints
vtkGlyph3D
vtkPolyDataMapper
vtkConeSource
CS 526: Computer Graphics II University of Illinois at Chicago
Bibliography
• Internet– Definitions of “symbol” and “icon” are from Merriam-Webster Online
at: http://www.m-w.com– Wiggleview by Atul Nayak
• http://www.evl.uic.edu/cavern/agave/wiggleview/; includes link to seismoglyphs
– Journal article: “Procedural Annotation of Uncertain Information” by Andrej Cedilnik and Penny Rheingans; proceedings of IEEE Visualization 2000.
– Image (cone swirl) from Andy Johnson’s CS 526 Lecture Notes– VTK API Documentation
• Book– VTK Text: OO Approach to 3-D Graphics
• Most images were from the text• Most content was taken from chapter 6 and glossary