Hypersliceplorer

Thomas Torsney-Weir, Torsten Möller, Michael Sedlmair, and R. Mike Kirby

Issues

Viewing these things is hard!

4D

3D

2D

5D+

https://en.wikipedia.org/wiki/Hypercube#/media/File:8-cell.gif

Slicing is a nice approach

  • General view of shapes
  • Common metaphor

van Wijk and van Liere, 1993

Cube

3D

4D

5D

Orthoplex/Octahedron

https://en.wikipedia.org/wiki/Octahedron#/media/File:Octahedron.jpg

3D

4D

Sommerville, 1929

Orthoplex/Octahedron

https://en.wikipedia.org/wiki/Octahedron#/media/File:Octahedron.jpg

3D

4D

Orthoplex

3D

4D

5D

  • How to take slices of multi-D polytopes?
  • How do we view these slices? - slicing needs a “focus point”
  • Focus point navigation - easy to get lost

What is the problem?

  • How to take slices of multi-D polytopes?
  • How do we view these slices? - slicing needs a “focus point”
  • Focus point navigation - easy to get lost

What is the problem?

Algorithm

  • How to take slices of multi-D polytopes?
  • How do we view these slices? - slicing needs a “focus point”
  • Focus point navigation - easy to get lost

What is the problem?

Algorithm

Interface

Algorithm

?

Algorithm

?

Algorithm

Algorithm

f_p = \begin{bmatrix} p_1 \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
f p = [ p 1 p 2 p 3 p d ] f_p = \begin{bmatrix} p_1 \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
f_p
f p f_p

Algorithm

f_p = \begin{bmatrix} \color{red}{x} \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
f p = [ x p 2 p 3 p d ] f_p = \begin{bmatrix} \color{red}{x} \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
(0.5,0,0.5)
( 0 . 5 , 0 , 0 . 5 ) (0.5,0,0.5)
(0,0.5,0.5)
( 0 , 0 . 5 , 0 . 5 ) (0,0.5,0.5)
f_p
f p f_p

Algorithm

f'_p = \begin{bmatrix} 0.24 \color{red}{x} + 0.27 \\ -0.43 \color{red}{x} + 0.12 \\ 0.78 \color{red}{x} - 0.2 \end{bmatrix}
f p = [ 0 . 2 4 x + 0 . 2 7 0 . 4 3 x + 0 . 1 2 0 . 7 8 x 0 . 2 ] f'_p = \begin{bmatrix} 0.24 \color{red}{x} + 0.27 \\ -0.43 \color{red}{x} + 0.12 \\ 0.78 \color{red}{x} - 0.2 \end{bmatrix}
f'_p
f p f'_p

Algorithm

\begin{aligned} 0.24 \color{red}{x} + 0.27 & = 0 \\ -0.43 \color{red}{x} + 0.12 & < 1 \\ 0.78 \color{red}{x} - 0.2 & < 1 \end{aligned}
0 . 2 4 x + 0 . 2 7 = 0 0 . 4 3 x + 0 . 1 2 < 1 0 . 7 8 x 0 . 2 < 1 \begin{aligned} 0.24 \color{red}{x} + 0.27 & = 0 \\ -0.43 \color{red}{x} + 0.12 & < 1 \\ 0.78 \color{red}{x} - 0.2 & < 1 \end{aligned}
f'_p
f p f'_p

There will be a solution

Algorithm

\begin{aligned} 0.24 \color{red}{x} + 0.27 & = 0 \\ -0.43 \color{red}{x} + 0.12 & < 1 \\ 0.78 \color{red}{x} - 0.2 & < 1 \end{aligned}
0 . 2 4 x + 0 . 2 7 = 0 0 . 4 3 x + 0 . 1 2 < 1 0 . 7 8 x 0 . 2 < 1 \begin{aligned} 0.24 \color{red}{x} + 0.27 & = 0 \\ -0.43 \color{red}{x} + 0.12 & < 1 \\ 0.78 \color{red}{x} - 0.2 & < 1 \end{aligned}
f'_p
f p f'_p

There is no solution

Algorithm

Algorithm

Algorithm

Algorithm

Interactive viewer

Global view Local view
Overview Single slice
Sample over focus points User-selectable focus
Distribution of shapes Examine neighborhood

Global view

Local view

Examples

  • proof of concept - regular polytopes / spheres
  • Exploring function spaces
  • Pareto fronts

Spheres

3D

4D

5D

Function spaces

Non-positive polynomial

Positive polynomial

Function spaces

a_1 x + a_0
a 1 x + a 0 a_1 x + a_0
a_0
a 0 a_0
a_1
a 1 a_1
a_0
a 0 a_0
a_1
a 1 a_1

Postive

Positive and Bernstein

Function spaces

a_1 x + a_0
a 1 x + a 0 a_1 x + a_0
a_0
a 0 a_0
a_1
a 1 a_1
a_0
a 0 a_0
a_1
a 1 a_1

Postive

Positive and Bernstein

Function spaces

a_1 x + a_0
a 1 x + a 0 a_1 x + a_0

Postive

Positive and Bernstein

Difference

Function spaces

a_0 + a_1 x + 1 x^2 + a_3 x^3 + a_4 x^4
a 0 + a 1 x + 1 x 2 + a 3 x 3 + a 4 x 4 a_0 + a_1 x + 1 x^2 + a_3 x^3 + a_4 x^4

Function spaces

a_0 + a_1 x + 1 x^2 + a_3 x^3 + a_4 x^4
a 0 + a 1 x + 1 x 2 + a 3 x 3 + a 4 x 4 a_0 + a_1 x + 1 x^2 + a_3 x^3 + a_4 x^4

Pareto fronts

2 objectives: trade-off curve

3 objectives: Interactive decision maps [Lotov:2014]

Pareto fronts

4+ objectives: SPLOM

Pareto fronts

All other objectives held constant

Pareto fronts

Need to lower other objective values

Conclusion

  • Projections of 2D slices
  • Algorithm for slicing polytopes
  • Examples

Acknowledgements

Torsten Möller

Michael Sedlmair

Mike Kirby

Thankyou!

Questions?

thomas.torsney-weir@univie.ac.at

What are we looking for in these objects?

Overall shape

Polytopes

Multiple objectives

Cube

Octagon

What are we looking for in these objects?

Changes in gradient

Multiple objectives

What are we looking for in these objects?

Symmetries

Polytopes

3D

4D

Pareto fronts

4+ objectives: SPLOM

?

?

Pareto fronts

4+ objectives: SPLOM

?

?