stateView :: State -> IO ()
stateView state = do
  translate3 0 0 (-1)
  rotate3 (phi state)   1 0 0
  rotate3 (theta state) 0 1 0
  rotate3 (-pi / 2) 1 0 0
  rotate3 (-pi / 2) 0 0 1
  scale3  (scale' state) (scale' state) (scale' state)
stateView :: State -> IO ()
stateView state = do
  translate3 0 0 (-1)
  rotate3 (phi state)   1 0 0
  rotate3 (theta state) 0 1 0
  rotate3 (-pi / 2) 1 0 0
  rotate3 (-pi / 2) 0 0 1
  scale3  (scale' state) (scale' state) (scale' state)
stateView state = do
  translate3 0 0 (-1)
  rotate3 (phi state)   1 0 0
  rotate3 (theta state) 0 1 0
  rotate3 (-pi / 2) 1 0 0
  rotate3 (-pi / 2) 0 0 1
  scale3  (scale' state) (scale' state) (scale' state)