18
CS 526: Computer Graphics II University of Illinois at Chicago An Introduction to Glyphs Allan Spale Spring 2004

CS 526: Computer Graphics II University of Illinois at Chicago An Introduction to Glyphs Allan Spale Spring 2004

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

Thanks for listening

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

CS 526: Computer Graphics II University of Illinois at Chicago

Questions and Comments