Graphics Reference
In-Depth Information
If you are interested in making interfaces for video games, the best source we
know is Swink's Game Feel [Swi08]. It discusses the problem of how to make
an interface that “feels good,” both analyzing successes and failures, and giving
prescriptive guidelines for design.
For inspiration about user interfaces and how humans approach them, read
Norman's The Design of Everyday Things, which takes Gibson's notion of affor-
dances [Gib77] and applies it in the context of human-machine interaction.
For 3D spatial interaction techniques that go beyond those described in this
chapter, Bowman et al. [BKLP04] give good coverage. Olsen [Ols09] discusses
interactive system design that's not restricted to games, and is firmly hands-on,
with good algorithmic and mathematical details. The classic text for those who
want some grounding in user-interface design without making a career of it is by
Schneiderman et al. [SPCJ09].
21.9 Exercises
Exercise 21.1: A variant of the trackball interaction works like this: The initial
click is at some point P of the image plane; the mouse is currently at some point Q .
The center of the object is at C , which is assumed to not be on the image plane.
The vector ( Q
C ) serves as an axis for the rotation, with the amount
of rotation made proportional to
C )
( P
×
. It's nice if the proportionality constant
is chosen so that for small drags, at least those that start on the line between the
eyepoint and C , the rotation resembles the rotation provided by the virtual sphere
interaction. The advantage is that there's no special-case handling needed if the
drag goes off the transparent sphere. Implement it to see if there are any obvious
disadvantages. Can you easily spin the object around the eye-to-object axis?
Exercise 21.2: The arcball has the property that a sequence of drags from
A 1 to A 2 to A 3 to
Q
P
A n has the same net effect as a drag from A 1 to A n .We
could therefore treat each mouse-drag step as its own operation and update the
controlled object's transformation at each instant, with no need to remember the
initialTransform . Can you think of any disadvantages of this approach?
Exercise 21.3: Think about your favorite map-viewing software. Imagine that
you have a route between your home and that of a friend who lives 500 miles
away. You want to follow that route. Near your home, the route may involve sev-
eral small streets, but soon you'll get on a major highway and remain there for
some time, eventually doing some small-scale navigation again at the end as you
approach your friend's home.
(a) Design an interface that lets you follow the route conveniently from end to end.
(b) Suppose that you've located your home on the map, and have marked it, and
now you want to locate your friend's home and mark that so that the route-finding
software can find a good route. You could enter your friend's address, but navigat-
ing visually could be faster, especially on a mobile device. You'll probably want
to zoom out, find your friend's city, focus on it, zoom in, etc. Can you design a
cursor-based interface to achieve this without separate steps (i.e., zoom out, then
translate, then zoom in)? Hint: Consider adapting the scale of the view depending
on the magnitude of the current motion.
Exercise 21.4: Adapt the photo manipulator so that if the two contacts are
moved sufficiently, the photo is rotated clockwise or counterclockwise by 90
about the midpoint of the contacts. You might, for instance, check whether the
...
 
 
Search WWH ::




Custom Search