摘要 |
A method and system for placing annotations of various sizes on a display without overlapping the annotations is described. Each annotation is represented by its rectangular bounding box along with an identifying line or arrow that joins the rectangle with the display object that is to be annotated. These rectangles and lines are stored in a list. When a additional annotation is to be placed on the display, it is tested at various positions to determine if there is overlap with the annotations that are already on the display. The tested positions are chosen by varying the length of the identifying line and the angle it forms with the horizontal. When a position is found that yields no overlap, the annotation is placed on the display and added to the list of positioned annotations. This approach is very fast due to the simplicity of the overlap tests, which consist of simple geometric operations. The approach is also fast because it can do a quick search first followed by a more exhaustive search if no suitable position is found. It also can be modified easily to place the annotations without crowding them too closely together. <IMAGE> |