Does anyone know a research / programming literature that explores computer-graphics visualisation of 4-dimensional geometry? Here is a simple method that I was considering to implement by myself. I suspect that this was tried before, so I wanted to know if anyone saw this implemented or explored before.
Given a compact set $M \subset \mathbb{R}^{d+1}$ and a pair of vectors $v = (v_{\text{pos}}, v_{\text{view}}) \in \mathbb{R}^{d+1} \times \mathbb{S}^d$, let $\pi_v \subset \mathbb{R}^{d+1}$ be the affine $d$-dimensional plane that passes through $v_{\text{pos}}$ and is orthogonal to $v_{\text{view}}$. Then we may define $M_v \subseteq \mathbb{R}^d$ to be the orthogonal projection of $M$ onto $\pi_v \simeq \mathbb{R}^d$. For $d=2$, this is the familiar way in which 2-dimensional shadows are produced. For $d=3$, we get 3-dimensional objects $M_v \subseteq \mathbb{R}^3$ that are shadows of the 4-dimensional object $M$.
My goal is to design a computer graphical interface that allows intuitive exploration of these objects $M_v$. In the methods described above, this means designing a computer interface that allows users to easily explore the viewing parameter space $v = (v_{\text{pos}}, v_{\text{view}}) \in \mathbb{R}^{4} \times \mathbb{S}^3$. Ignoring $\mathbb{R}^4$ for the moment, there is a rich variety of choices to make a user interface to move on the 3-sphere $\mathbb{S}^3$.
- $\mathbb{S}^3$ is the quotient space obtained by identifying all boundary points of the solid 3-dimensional ball. This way, the 4-dimensional viewing angles can be visualised by exploring a 3-dimensional ball, which is intuitive to humans.
- $\mathbb{S}^3$ is the double cover of the $SO(3)$, so that an interface for exploring the 3-dimensional rotations can be used to explore $\mathbb{S}^3$. Doing this would require lifting a path on $SO(3)$ to a path on $\mathbb{S}^3$.
- $\mathbb{S}^3$ is a $\mathbb{S}^1$-bundle over $\mathbb{S}^2$; this is the Hopf fibration $\mathbb{S}^1 \rightarrow \mathbb{S}^3 \rightarrow \mathbb{S}^2$. Equipped with a way to lift a path in $\mathbb{S}^2$ to a path in $\mathbb{S}^3$, a user would be able to separately control the $\mathbb{S}^2$-part and the $\mathbb{S}^1$-part of the $\mathbb{S}^3$.