COMP4048 3D Visualisation, Interaction and Navigation

67
COMP4048 3D Visualisation, Interaction and Navigation Richard Webber National ICT Australia

description

COMP4048 3D Visualisation, Interaction and Navigation. Richard Webber National ICT Australia. Lecture Overview. 3D – What, How and Why 3D Graph Drawing 2D  3D Genus > 0 The extra dimension Viewpoint selection. 3D Computer Graphics. (Foley et al. 1990, Szirmay-Kalos et al. 1995) - PowerPoint PPT Presentation

Transcript of COMP4048 3D Visualisation, Interaction and Navigation

Page 1: COMP4048 3D Visualisation, Interaction and Navigation

COMP40483D Visualisation, Interaction and

Navigation

Richard WebberNational ICT Australia

Page 2: COMP4048 3D Visualisation, Interaction and Navigation

Lecture Overview

• 3D – What, How and Why• 3D Graph Drawing

– 2D 3D– Genus > 0– The extra dimension

• Viewpoint selection

Page 3: COMP4048 3D Visualisation, Interaction and Navigation

3D Computer Graphics

• (Foley et al. 1990, Szirmay-Kalos et al. 1995)

• Vertices have 3 coordinate – x, y, z• Edges are routes through 3d points• 3d model 2d image = projection

– Orthographic parallel – architectural plans

– Perspective – 3d computer games– Fisheye-lens – context+focus

Page 4: COMP4048 3D Visualisation, Interaction and Navigation

3D Computer Graphics

• Orthographic Parallel Projection– Less realistic, but simplifies the math

Page 5: COMP4048 3D Visualisation, Interaction and Navigation

3D Computer Graphics

• Perspective Projection– Standard in modern hardware

Page 6: COMP4048 3D Visualisation, Interaction and Navigation

3D Computer Graphics

• Fisheye-lens Projection– Provides focus+context

Page 7: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• The Necker Cube Illusion (Foley et al. 1990)

– Is the wireframe cube facing down and left or up and right?

= or

Page 8: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Adding extra information removes ambiguities

• Depth cueing(fog)

Page 9: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Shadows(projections)

Page 10: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

Page 11: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Perspective cues (Ware 2000)

Page 12: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Perspective cues (Ware 2000)

Page 13: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Stereoscopic Displays– Stereo image pairs

• Stereoscopic Displays– Random-dot stereograms

Page 14: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

Page 15: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

Page 16: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Stereoscopic Displays– Head-mounted displays (immersive

VR)

Page 17: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Stereoscopic Displays– “Filtering” glasses (fishtank VR)

Page 18: COMP4048 3D Visualisation, Interaction and Navigation

The Illusion of 3D

• Kinetic Depth Effect (Wallach, O’Connell 1953)

• Produces the illusion of 3d in a 2d projection by rotating/rocking the graph

– Direction of rotation can be ambiguous

Page 19: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D? (Ware, Franck 1996)

• Intuition– More natural – we live in a 3d world– Greater “volume” for information

Page 20: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

• Anecdotal evidence (applications)– SemNet (Fairchild et al. 1988)– Lyberworld (Hemmje et al. 1994)– Information Visualizer (Mackinlay

1992)

Page 21: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

Page 22: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

Page 23: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

Page 24: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

• Sollenberger and Milgram 1993– Finding paths in a 3d graph drawing– stereoscopic glasses > static

projection– continuous rotation > static projection– unidirectional user rotation =

continuous rotation– rotation + stereoscopic >> static

projection

Page 25: COMP4048 3D Visualisation, Interaction and Navigation

Why 3D?

• Ware and Franck 1996– bidirectional user rotation >

unidirectional user rotation– head-controlled parallax =

bidirectional user rotation “the size of graph that can be traced with

the same accuracy increases three-fold with the use of stereoscopic display

and rotation”

Page 26: COMP4048 3D Visualisation, Interaction and Navigation

3D by Physical Analogy

• Springs adapt very easily– E.g., Bruß and Frick 1995– Distance and direction work in any

dimension

• Other energy-based systems also adapt

– Equations can get harder

• Simulated annealing can do anything– The state space may get larger

Page 27: COMP4048 3D Visualisation, Interaction and Navigation
Page 28: COMP4048 3D Visualisation, Interaction and Navigation
Page 29: COMP4048 3D Visualisation, Interaction and Navigation

3D DAG Drawings

• Place layers in parallel planes– Barycentering now in 2d– What is an edge “crossing”?

• Restrict to surface of genus 0 solids– Edge crossing problem circular

• Both of these approaches are sometimes referred to as 2½d

Page 30: COMP4048 3D Visualisation, Interaction and Navigation
Page 31: COMP4048 3D Visualisation, Interaction and Navigation
Page 32: COMP4048 3D Visualisation, Interaction and Navigation

Genus > 0 Surfaces (Garvan 1997)

• Genus = “number of holes/handles”– Genus 0: plane, sphere, cylinder, cone,

cube– Genus 1: torus (doughnut), teacup– Genus 2: two-handed teacup– Genus 3: ABC logo, pretzel– Genus g: Swiss cheese

• Genus g graph can be drawn on a genus g surface without edge crossings

Page 33: COMP4048 3D Visualisation, Interaction and Navigation

Genus > 0 Surfaces

Page 34: COMP4048 3D Visualisation, Interaction and Navigation

The Extra Dimension

• Draw a 2d graph then use 3rd (and more) dimensions for extra information

– Dimensions = x, y, z, size, shape, colour, …

• Draw multiple 2d graphs (abstractions) using the 3rd dimension

– Cluster graphs (Feng 1997)– Look “through” to lower layers

Page 35: COMP4048 3D Visualisation, Interaction and Navigation
Page 36: COMP4048 3D Visualisation, Interaction and Navigation

The Extra Dimension

Page 37: COMP4048 3D Visualisation, Interaction and Navigation

3d Input Techniques

• Using a traditional (WIMP) interface places stress on the user

Page 38: COMP4048 3D Visualisation, Interaction and Navigation

3d Input Techniques

Page 39: COMP4048 3D Visualisation, Interaction and Navigation

3d Input Techniques

• 3D-specific input devices– Spaceball/Spacemouse– “Flying” mice

Page 40: COMP4048 3D Visualisation, Interaction and Navigation

3d Input Techniques

• 3D-specific input devices– Dataglove

Page 41: COMP4048 3D Visualisation, Interaction and Navigation

3d Input Techniques

• First-person-shooter computer games provide a good grounding in using traditional devices for 3d navigation

Page 42: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoint Selection

• Wouldn’t it be nice if you could tell the computer

1. roughly where you want to be2. what you want to look at

and the computer responded by moving you smoothly to a suitable position and orientation?

• Where and what could be spatial or semantic

Page 43: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoint Selection

• Avoiding viewpoints that are “bad”• Aspect Graphs (Plantinga, Dyer

1990)– Bad = can’t see many faces of a 3d

solid

• Kamada and Kawai 1988– Bad = non-general “shape”

information of the drawing is lost

Page 44: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoint Selection

• Bose et al. 1995– Bad = degenerate with respect to

some computational geometry problem– Regular and Wirtinger projections

• Webber 1998– Bad = “the apparent abstract graph of

the 2d drawing differs from the abstract graph of the 3d model” there is an occlusion

Page 45: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoints and Occlusions

• Vertex-Vertex Occlusions

– Also vertex-edge, edge-vertex and (coplanar) edge-edge occlusions

Page 46: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoints and Occlusions

• Can characterise all bad viewpoints– Note symmetry: (a, b) = (b, a)

Page 47: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoints and Occlusions

• Can check a single viewpoint in O(|V0|2+|V||E|) time

• Can preprocess to check many viewpoints against the same drawing

– O(|S| log |S|) preprocessing time

– |S| is O(|V0|2+|V||E|+kbva); kbva is O(|V0|

2+|V|2|E|2)

– Check viewpoints in logarithmic time

Page 48: COMP4048 3D Visualisation, Interaction and Navigation

Viewpoints and Occlusions

Page 49: COMP4048 3D Visualisation, Interaction and Navigation

Best Viewpoints

• Finding viewpoints that are “best”• Kamada and Kawai 1988

– Most general viewpoints

• Bose et al. 1995– Viewpoints with least edge crossings– Their models can yield best viewpoints

using our techniques

Page 50: COMP4048 3D Visualisation, Interaction and Navigation

Best Viewpoints

• Goodness of a viewpoint = how far it is from the nearest bad viewpoint (Webber 1998)

• Rotational Separation Diagram (RSD)– Goodness = great-circle distance– O(|S| log |S|) preprocessing time– Good for interacting with drawings

• Observed Separation Diagram (OSD)– Goodness = apparent distance between

elements in 2d image– Good for static presentation (journals)

Page 51: COMP4048 3D Visualisation, Interaction and Navigation

Best Viewpoints

• Worst-case size of restricted OSD (E = ) is an open problem

(|S|2)– O(|S|22(|S|))

• Unrestricted OSD contains degree-6 surfaces

– no know closed-form solutions > degree-4

Page 52: COMP4048 3D Visualisation, Interaction and Navigation

Approximating Viewpoints

• On an nn display, two viewpoints are equivalent if angle is < arcsin(2/n)

– Near enough is good enough

• User is often happy if the viewpoint becomes “good” quickly, even if it converges on “best” slowly

• User doesn’t like viewpoint to jump too much – prefers smooth animation

Page 53: COMP4048 3D Visualisation, Interaction and Navigation

Approximating Viewpoints

• Iterative Improvement– Keep searching for better viewpoints– Sample space altered dynamically:

speed versus goodness of result– Stop when you don’t find anything

better for a time (or just never stop)– Effective for small graphs (|G| 20)– “Pruning” and “clipping” allow larger

graphs (|G| 100)

Page 54: COMP4048 3D Visualisation, Interaction and Navigation

Approximating Viewpoints

• Force-Directed– Based on the Spring algorithm!– Repeatedly move away from the

nearest 1 or 2 sites from S– Use random sampling from S and

cache the nearest w– Effective for larger graphs still (|G| >

100)

Page 55: COMP4048 3D Visualisation, Interaction and Navigation
Page 56: COMP4048 3D Visualisation, Interaction and Navigation
Page 57: COMP4048 3D Visualisation, Interaction and Navigation
Page 58: COMP4048 3D Visualisation, Interaction and Navigation
Page 59: COMP4048 3D Visualisation, Interaction and Navigation
Page 60: COMP4048 3D Visualisation, Interaction and Navigation
Page 61: COMP4048 3D Visualisation, Interaction and Navigation
Page 62: COMP4048 3D Visualisation, Interaction and Navigation
Page 63: COMP4048 3D Visualisation, Interaction and Navigation
Page 64: COMP4048 3D Visualisation, Interaction and Navigation

References

• J. D. Foley, A. van Dam, S. Feiner, J. Hughes (1990): Computer Graphics: Principles and Practice, 2nd ed., Addison-Wesley

• L. Szirmay-Kalos, G. Márton, B. Dobos, T. Horváth, P. Risztics, E. Kovács (1995): Theory of Three-Dimensional Computer Graphics, Akadémiai Kiadó (Budapest, Hungary)

• C. Ware (2000): Information Visualization: Perception for Design, Morgan Kaufmann

• H. Wallach, D. H. O’Connell (1953): “The Kinetic Depth Effect”, J. Experimental Psychology, 45(4):205-217

• C. Ware, G. Franck (1996): “Evaluating Stereo and Motion Cues for Visualizing Information Nets in Three Dimensions”, ACM Trans. Graphics, 15(2):121-140

Page 65: COMP4048 3D Visualisation, Interaction and Navigation

References

• K. M. Fairchild, S. E. Poltrock, G. W. Furnas (1988): “SemNet: Three-Dimensional Graphic Representation of Large Knowledge Bases”, Cognitive Science and its Applications for Human-Computer Interaction, Lawrence Erlbaum Associates, pp. 201-233

• M. Hemmje, C. Kunkel, A. Willett (1994): “LyberWorld – A Visualization User Interface Supporting Fulltext Retrieval”, Proc. 17th ACM SIGIR Conf. Research and Development in Information Retrieval, pp. 249-259

• J. D. Mackinlay, G. G. Robertson, S. K. Card (1992): “The Information Visualizer: A 3D User Interface for Information Retrieval”, Proc. Advanced Visual Interfaces, World Scientific, Series in Computer Science, 36:173-179

Page 66: COMP4048 3D Visualisation, Interaction and Navigation

References

• R. L. Sollenberger, P. Milgram (1993): “Effects of Stereoscopic and Rotational Displays in a Three-Dimensional Path-Tracing Task”, Human Factors, 35(3):483-499

• I. Bruß, A. K. Frick (1995): “Fast Interactive 3-D Graph Visualization”, Proc. 3rd Int. Symp. Graph Drawing, Springer-Verlag, LNCS, 1027:99-110

• P. L. Garvan (1997): “Low Genus Drawings of Graphs in Three Dimensions”, Dept. Computer Science and Software Engineering, University of Newcastle, Ph.D. Thesis

• Q. Feng (1997): “Algorithms for Drawing Clustered Graphs”, Dept. Computer Science and Software Engineering, University of Newcastle, Ph.D. Thesis

Page 67: COMP4048 3D Visualisation, Interaction and Navigation

References

• H. Plantinga, C. R. Dyer (1990): "Visibility, Occlusion, and the Aspect Graph“, Int. J. Computer Vision, 5(2):137-160

• T. Kamada, S. Kawai (1988): “A Simple Method for Computing General Position in Displaying Three-Dimensional Objects”, Computer Vision, Graphics and Image Processing, 41(1):43-56

• P. Bose, F. Gómez, P. A. Ramos, G. T. Toussaint (1995): “Drawing Nice Projections of Objects in Space”, Proc. 3rd Int. Symp. Graph Drawing, Springer-Verlag, LNCS 1027, pp. 52-63

• R. J. Webber (1998): “Finding the Best Viewpoint forThree-Dimensional Graph Drawings”, Dept. Computer Science and Software Engineering, University of Newcastle, Ph.D. Thesis