# Hypersliceplorer

## 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

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

Algorithm

Interface

?

?

## Algorithm

f_p = \begin{bmatrix} p_1 \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
$f_p = \begin{bmatrix} p_1 \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}$
f_p
$f_p$

## Algorithm

f_p = \begin{bmatrix} \color{red}{x} \\ p_2 \\ p_3 \\ \vdots \\ p_d \end{bmatrix}
$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,0.5,0.5)
$(0,0.5,0.5)$
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 = \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$

## 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}
\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$

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}
\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$

There is no solution

## Interactive viewer

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

## Examples

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

3D

4D

5D

## Function spaces

Non-positive polynomial

Positive polynomial

## Function spaces

a_1 x + a_0
$a_1 x + a_0$
a_0
$a_0$
a_1
$a_1$
a_0
$a_0$
a_1
$a_1$

Postive

Positive and Bernstein

## Function spaces

a_1 x + a_0
$a_1 x + a_0$
a_0
$a_0$
a_1
$a_1$
a_0
$a_0$
a_1
$a_1$

Postive

Positive and Bernstein

## Function spaces

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$

## 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$

## Pareto fronts

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

Torsten Möller

Michael Sedlmair

Mike Kirby

## Thankyou!

Questions?

thomas.torsney-weir@univie.ac.at

Overall shape

Cube

Octagon

Symmetries

3D

4D

## Pareto fronts

4+ objectives: SPLOM

?

?

## Pareto fronts

4+ objectives: SPLOM

?

?