Peter Stein - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Peter Stein

Description:

But, dynamic 3D expression is generally limited to science fiction. ... category gateway /category link type=1 2 /link link type=1 3 /link link type=1 4 /link ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 19
Provided by: pet7184
Category:
Tags: peter | stein

less

Transcript and Presenter's Notes

Title: Peter Stein


1
Peter Stein Clark University Advisor Professor
Jerry Breecher April 25th, 2007
Unleashing Dynamic Data in 3D and Beyond
2
Motivation
  • The real world has complicated structures and
    relationships that are not easy to
  • represent in a generated space because of the
    difficulty in logically packing
  • things in multiple directions and dimensions.
  • Simple examples
  • Networks
  • Computers
  • Social
  • Trees/Hierarchies
  • Clades
  • File directories

A portion of a clade tree
3
The Problem
Technology is fairly capable in terms of
expressing the 2D realm charts, simple maps,
timelines, etc. But, dynamic 3D expression is
generally limited to science fiction. Virtual
reality interfaces are easier said than done,
and where there are such interfaces, they are
generally pre-designed rather than
on-the-fly. The general question how do we
simplify that which, for the human mind, is
fairly easy to visualize, but for a computer, is
a complicated task?
Inside a computer in Disneys Tron (1982)
4
Research Question
The research question, then, goes something like
this Is there a programming interface that
could be made that would simplify and
generalize the arrangement of arbitrary related
data in a 2D and/or 3D space?
?
5
Whats Out There Now
There are some existing software packages which
address data representation
Gajer and Kobourov (2002) GRIP Intelligent
placement of nodes in a graph in a
multi-dimensional environment.
Sanderson (2006) Paloverde, a 3D phylogeny
visualization tool.
Figures from GRIP (Gajer and Kobourov, 2002)
Paloverde radial graph (Sanderson, 2006)
6
A Solution?
  • While promising graph drawing techniques seem to
    be available, are they the end solution to the
    question of simplifying the arrangement of data?
  • Things to consider
  • Interfacing a set of data with generic nodes
    in an algorithm
  • Different kinds of graph arrangements (3D,
    planar, stacked-planar)
  • Nodes with multiple connectionscircuits

7
My Project
  • Achieving synergy between existing graph drawing
    algorithms and real-world applications of 2D/3D
    expression.
  • The Project Itself
  • A library for automating the generation of plot
    points for a set of data, and sample client(s)
    that use that library.
  • Components
  • An XML format for expressing nodes and
    relationships
  • Translation scripts for converting raw data to
    the XML format
  • A loader module for reading in the XML-formatted
    data
  • A generator module for filling in the
    geometrical data for the nodes (the
  • graph-generating algorithm)
  • A group-parser module for assembling information
    about node groups
  • Unifier module(s) for collating and
    consolidating data into one set
  • Viewer module(s) for displaying the data.

8
Sample Runthrough Raw Data
We start off with some raw data describing a
network
IP 192.168.0.1 Type gateway Link
192.168.0.3 Link 192.168.0.7 Link
192.168.0.11
IP 192.168.0.3 Type workstation Gateway
192.168.0.1 Link 192.168.0.7 Link
192.168.0.11
IP 192.168.0.7 Type workstation Gateway
192.168.0.1 Link 192.168.0.3 Link
192.168.0.11
IP 192.168.0.11 Type workstation Gateway
192.168.0.1 Link 192.168.0.3 Link
192.168.0.7
raw
XML
plotted
displayed
9
Sample Runthrough - XML
Then, the translator routine written for the
application converts the raw data into uniform
XML data
ltnodegt ltidgt1lt/idgt ltnamegt192.168.0.1lt/namegt ltcat
egorygtgatewaylt/categorygt ltlink
type1gt2lt/linkgt ltlink type1gt3lt/linkgt ltlink
type1gt4lt/linkgt lt/nodegt ltnodegt ltidgt2lt/idgt ltname
gt192.168.0.3lt/namegt ltcategorygtdesktoplt/categorygt
ltlink type2gt1lt/linkgt ltlink type1gt3lt/linkgt ltli
nk type1gt4lt/linkgt lt/nodegt
ltnodegt ltidgt3lt/idgt ltnamegt192.168.0.7lt/namegt ltcat
egorygtdesktoplt/categorygt ltlink
type2gt1lt/linkgt ltlink type1gt2lt/linkgt ltlink
type1gt4lt/linkgt lt/nodegt ltnodegt ltidgt4lt/idgt ltname
gt192.168.0.11lt/namegt ltcategorygtdesktoplt/categorygt
ltlink type2gt1lt/linkgt ltlink type1gt2lt/linkgt ltl
ink type1gt3lt/linkgt lt/nodegt
raw
XML
plotted
displayed
10
Sample Runthrough Graph Generation
Next, the XML data is fed to the graph drawing
routine, which uses an algorithm to generate
geometric data for each node.
ltnodegt ltidgt1lt/idgt ltnamegt192.168.0.1lt/namegt ltcat
egorygtgatewaylt/categorygt ltlink
type1gt2lt/linkgt ltlink type1gt3lt/linkgt ltlink
type1gt4lt/linkgt ltxgtlt/xgtltygtlt/ygtltzgtlt/zgt lt/nodegt
ltnodegt ltidgt2lt/idgt ltnamegt192.168.0.3lt/namegt ltca
tegorygtdesktoplt/categorygt ltlink
type2gt1lt/linkgt ltlink type1gt3lt/linkgt ltlink
type1gt4lt/linkgt ltxgtlt/xgtltygtlt/ygtltzgtlt/zgt lt/nodegt
ltnodegt ltidgt3lt/idgt ltnamegt192.168.0.7lt/namegt ltcat
egorygtdesktoplt/categorygt ltlink
type2gt1lt/linkgt ltlink type1gt2lt/linkgt ltlink
type1gt4lt/linkgt ltxgtlt/xgtltygtlt/ygtltzgtlt/zgt lt/nodegt
ltnodegt ltidgt4lt/idgt ltnamegt192.168.0.11lt/namegt ltc
ategorygtdesktoplt/categorygt ltlink
type2gt1lt/linkgt ltlink type1gt2lt/linkgt ltlink
type1gt3lt/linkgt ltxgtlt/xgtltygtlt/ygtltzgtlt/zgt lt/nodegt
raw
XML
plotted
displayed
raw
XML
plotted
displayed
11
Sample Runthrough Final Display
Finally, the completed XML data is fed to the
viewing module, which uses simple graphic
routines to place nodes in the graphical
environment.
raw
XML
plotted
displayed
12
Project Flowchart
13
Process Timeline
Timeline illustrating the broad state changes
that occur
Data state
XML (GraphML)
XML
graphical
raw
Program state
importer
translator
generator
viewer
start
finish
14
Visualization Enhancements
Label Display Clarity Control the size and
fading distances of nodes Group
Highlighting Computation of convex hull
enveloping group nodes. Miscellaneous
Effects E.g., textured and shaded 3D models
representing different classes of nodes.
15
Demonstration
The project has been implemented under Linux
(Fedora Core 6), but there is nothing platform
specific that would prevent it from running under
Windows or MacOS.
16
Applications of this Project
  • The program framework could be used for/test
    programs may include
  • Phylogenetic tree viewers
  • Virtual reality systems
  • Star system explorers
  • Social network viewers

17
Acknowledgements
Thanks goes first and foremost to Professor
Breecher, for advice and guidance with this
project. The work presented today relies on
several software applications and algorithms
without which the project would not be entirely
possible GRIP node placement algorithm
(original) Pawel Gajer, Michael T. Goodrich, and
Stephen G. Kobourov Johns Hopkins University and
University of Arizona http//www.cs.arizona.edu/k
obourov/GRIP/ GRiP with GraphML Weighted Nodes
Thomas Willhalm University of Konstanz http//www
.inf.uni-konstanz.de/willhalm Convex Hull
Algorithm Joseph O'Rourke From Computational
Geometry in C, 2nd ed., 1998. Expat XML
Parser http//expat.sourceforge.net/
18
Questions
Questions from the audience?!
Write a Comment
User Comments (0)
About PowerShow.com