I began with one mock-up to get out some ideas. I wanted to show the
top X most checked out items from each year (where x is 10, 20, ...
100). But let's just start with the Top 10 from each year. That's a
total of about 100 items (less if there is any overlap).
Taking this data, I wanted to represent each item as a sphere
colored according to its Dewey category and grouped near one of the
corners of the large cube.
However, the issue arose that there are 10 main Dewey categories and
only 8 corners in a cube. Thus, I ended up designing a different
shape, which I called a "penta-cube" that would have 10 corners.
(I later discovered this shape is actually called a
pentagonal prism).
Eventually, I had the shape working and was able to color and group
the items into their appropriate corners:
Next, I needed to focus on interaction. Over the course of the
project, this changed a bit from my initial mockups. I am very much
a keyboard over mouse type of person, it being perhaps a residual
effect of my days of gaming.
Instead of having a scroll-bar style of interaction I decided to use
the mouse for movement and the keyboard for node/item selection.
Actually, after implementing the mouse interaction for movement and
rotations, etc. I remembered our discussion of
PeasyCam
from class and implemented it instead. I'm not perfectly happy with
its interface because of the sort of spin velocity it gives to
objects when you rotate them, but I do like how it allows you to
control rotation in the x, y, AND z directions simply by clicking
and dragging.