261 |
Buoy placement |
Buoy placement |
262 |
-------------- |
-------------- |
263 |
|
|
264 |
Usually everything is either in the coordinate system of the |
In most current systems, |
265 |
|
all graphical objects are placed |
266 |
|
in either the coordinate system of the |
267 |
virtual paper (e.g., the margins of the web page being scrolled) |
virtual paper (e.g., the margins of the web page being scrolled) |
268 |
or in the outside coordinate system, independent of the page. |
or the external coordinate system, independent of the page. |
269 |
This is originally because of performance: it is most efficient to update |
This is originally because of performance: it is most efficient to update |
270 |
a single, rectangular (or rectangular, rectangularly obscured) area |
a single, rectangular (or rectangular, rectangularly obscured) area |
271 |
of screen. |
of screen. |
272 |
With fast hardware, there is no need to be limited to rectangular sections |
For the same reason, smooth scaling is only seldom used. |
|
because the whole screen can always be drawn. |
|
|
Thus, it is possible to place objects in different, interconnected |
|
|
coordinate systems. |
|
273 |
|
|
274 |
What we call *buoy* is a common idea from technical diagrams: |
With modern graphics hardware, there is no need to be limited to rectangular sections |
275 |
draw a line to the relevant point and place the label in the margin |
and discrete scales |
276 |
(see Fig. [ref-fignasa]_). |
because the whole screen can be redrawn at interactive frame rates. |
277 |
The scale and location of the buoy and the document can be |
Thus, it is possible to place objects in different |
278 |
smoothly adjusted, independent of each other, with the connection |
coordinate systems whose motion depends on the others in complex ways. |
|
line cross-cutting the view. |
|
279 |
|
|
280 |
We use buoys as link targets floating around the focus. |
We use buoys as link targets floating around the focus. |
281 |
For the layout of the buoys, several desirable layout constraints |
What we call *buoy* is a commonly used tool in technical diagrams: |
282 |
can be enumerated: |
placing a label at the edge of the image and connecting the label |
283 |
|
to the relevant location (anchor) by a line |
284 |
|
(see Fig. [ref-fignasa]_). |
285 |
|
|
286 |
- buoys should not be placed directly on the focus |
For the layout of the buoys we give the following criteria |
287 |
- buoys should be placed close to their anchors |
(in order of importance): |
288 |
- buoys anchored closer to the focus should be larger |
|
289 |
|
- buoys should not be placed directly on the focus (center of screen) |
290 |
|
- buoys whose anchors are close to the focus should be large |
291 |
- the view should animate continuously when the focus moves |
- the view should animate continuously when the focus moves |
292 |
- the user should be able to understand and predict the motion |
- the user should be able to understand and predict the motion |
293 |
of the buoys. |
of the buoys. |
294 |
|
- buoys should be placed close to their anchors |
295 |
|
|
296 |
Furthermore, |
Furthermore, |
297 |
it is important to maintain orientation locally, |
it is important to maintain orientation locally, |