Abstract:
A touch system includes a touch panel having a touch surface and a projector presenting images onto the touch surface. A computer executing an applications program is coupled to the touch panel and the projector. The computer is responsive to contact output generated by the touch panel in response to proximity of a pointer to the touch surface and updates image data conveyed to the projector so that images presented on the touch surface reflect pointer activity. The computer executes a gesture connector recognition routine. The gesture connector recognition routine performs recognition to convert a freehand connector on the touch surface into a computer-generated connector approximating the freehand connector.

Description:
FIELD OF THE INVENTION 
   The present invention relates generally to touch systems and in particular to a system and method for recognizing connector gestures. 
   BACKGROUND OF THE INVENTION 
   Touch systems are well known in the art and many variations exist. In all cases, touch systems include a touch panel having a touch surface on which contacts are made using a pointer. Pointer contacts with the touch surface are detected and are used to generate corresponding output that represent the positions on the touch surface where contacts are made. The contact position output is typically fed to a computer that executes one or more applications programs. The computer generates image data that is used to present images on the touch surface. The computer uses the contact position output to update the image data and thus, the images presented on the touch surface. In this manner, the images presented on the touch surface are updated to reflect the activity of the pointer on the touch surface. 
   For example, U.S. Pat. No. 5,448,263 to Martin, assigned to the assignee of the present invention, discloses a passive analog resistive touch panel coupled to a computer. The computer provides image data to a projector that projects images onto the touch surface of the touch panel. The touch panel includes a tool tray that supports a plurality of differently coloured pens. When a user contacts the touch surface either with a finger, other pointer or a pen, the touch panel outputs signals representing the contact position on the touch surface. The contact position data is conveyed to the computer and is mapped to the computer display. If a finger or other pointer is used to contact the touch surface, the touch system operates in a pointer mode and the contact position data is treated as a mouse event. This allows the user to operate the computer in a manner similar to using a computer mouse i.e. select menus, manipulate objects etc. simply by contacting the touch surface. If a pen is lifted from the tool tray and is used to contact the touch surface, the touch system operates in an ink mode and the contact position data is recorded as writing or drawing. 
   When the computer is running an applications program in a Windows environment, a computer desktop image is presented on the touch surface that includes icons representing the various applications programs available for selection. When an icon is selected, a window for the selected applications program is opened. The window typically includes a frame, one or more tool bars, optional scroll bars and an active area surrounded by the frame, tool bars and scroll bars. As mentioned above, in the pointer mode, contacts on the touch surface are treated as mouse event input to the computer desktop. The computer in response to the mouse event input controls the computer desktop or selected applications program according to the touch panel output and updates the image data conveyed to the projector for display to reflect the pointer activity. 
   In the ink mode, an acetate image identical to the computer desktop image overlies the computer desktop image to provide a surface on which ink can be drawn. When a pen contacts the touch surface, the contact position data is treated as writing or drawing (herein referred to as “writing”). In this case, the computer updates the image data conveyed to the projector for display so that the writing is displayed on the acetate image. 
   In the ink mode, users often draw two-dimensional diagrams on the touch surface such as flowcharts, schematics, process maps etc. in addition to writing text. These two-dimensional diagrams typically include a plurality of graphical objects such as rectangles, squares, diamonds, ovals and circles interconnected by straight, curved or serpentine lines. Generally, two-dimensional diagrams drawn by freehand are unclear. As a result software has been developed to assist users in the creation of two-dimensional diagrams. 
   For example, computer-aided design (CAD) software programs are available to assist users in the creation of two-dimensional diagrams. One common CAD software program is sold by Autodesk Inc. under the name “AutoCAD”. During use of this CAD software, a user creates a two-dimensional diagram either by placing an existing graphical object on a pallet that is taken from a collection or library of such graphical objects, or by creating a new graphical object. Interconnecting lines or connections, are then manually drawn from a point on or near the graphical object to the appropriate destinations. Every point along the path of the connection must be specified by the user. This is a very tedious process, and must be repeated every time the position, rotational orientation, size or other parameter of any graphical object is changed. 
   Software is also widely available that automates the manipulation and interconnection of graphical objects so that when a user changes the position or other parameter of a graphical object, all connections and/or graphical objects associated with that graphical object reconfigure themselves to maintain that association. Such software is available from Visio Corp. under the name “Visio Technical”. Complex connections of this nature can be created between graphical objects by simply picking start and end points for the connections. 
   Complex connections allow a user to edit a diagram more easily. However, the creation of complex connections requires several steps. Typically, the user must first select the graphical object where the complex connection is to originate and then select the graphical object where the complex connection is to terminate. Often, the user is required to specify the shape of the complex connection path between the two graphical objects. It is also common for the user to be required to specify the exact locations of the start and end points of the complex connection. As will be appreciated, alternative systems to enhance interpretation of connectors are desired. 
   It is therefore an object of the present invention to provide a novel system and method for recognizing connector gestures. 
   SUMMARY OF THE INVENTION 
   According to one aspect of the present invention there is provided a method of recognizing a freehand connector input into a computer comprising the steps of: 
   examining points along said freehand connector to determine the shape thereof, and 
   replacing said freehand connector with a computer-generated connector approximating said freehand connector. 
   Preferably, the method further comprises the step of determining whether the start and end points of the freehand connector are proximate to graphical objects and if so, extending the computer-generated connector between the graphical objects. It is also preferred that the method further comprises the step of generating new graphical objects at the start and end points of the computer-generated connector if the start and end points of the freehand connector are not proximate to graphical objects. 
   According to another aspect of the present invention there is provided a system for recognizing a freehand connector input into a computer comprising: 
   means for examining points along said freehand connector to determine the shape thereof; and 
   means for replacing said freehand connector with a computer-generated connector approximating said freehand connector. 
   According to yet another aspect of the present invention there is provided a touch system comprising: 
   a touch panel having a touch surface; 
   a projector presenting images onto said touch surface; and 
   a computer executing an applications program and being coupled to said touch panel and said projector, said computer being responsive to contact output generated by said touch panel in response to proximity of a pointer to said touch surface and updating image data conveyed to said projector so that images presented on said touch surface reflect pointer activity, said computer executing a connector gesture recognition routine, said connector gesture recognition routine performing recognition to convert a freehand connector on said touch surface into a computer-generated connector approximating said freehand connector. 
   According to still yet another aspect of the present invention there is provided a computer program product including a computer readable medium having a computer program for recognizing a freehand connector input into a computer embodied thereon, said computer program including: 
   computer program code for examining points along said freehand connector to determine the shape thereof; and 
   computer program code for replacing said freehand connector with a computer generated connector approximating said freehand connector. 
   The present invention provides advantages in that freehand connectors are automatically recognized and replaced with computer-generated connectors. As a result user input during creation of diagrams is reduced. The freehand connector simply needs to be drawn by the user. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Embodiments of the present invention will now be described more fully with reference to the accompanying drawings in which: 
       FIG. 1  is a schematic diagram of an interactive display system including a touch panel having a touch surface; 
       FIG. 2  is a view of a computer desktop image together with an acetate image on the touch surface of the touch panel; 
       FIGS. 3   a  to  3   c  are flowcharts showing the steps performed by a connector gesture recognition routine; and 
       FIGS. 4 to 10  are views showing freehand connectors drawn on the touch surface and the connectors as recognized by the connector gesture recognition routine. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
   Turning now to  FIG. 1 , an interactive touch system similar to that disclosed in U.S. Pat. No. 5,448,263 to Martin is shown and is generally identified by reference numeral  10 . As can be seen, touch system  10  includes a touch panel  12  having a touch surface  14 . The touch panel  12  in this embodiment is of the analog resistive type and includes a tool tray  15  that supports a plurality of differently coloured pens (not shown). Touch panel  12  is responsive to contacts on the touch surface  14  made using either a finger, other pointer or pen and generates output representative of the locations on the touch surface  14  where contacts are made. The contact position output of the touch panel  12  is fed to a computer  16  executing one or more applications programs and is treated either as mouse events or writing depending on the object used to contact the touch surface  14 . Specifically, the contact position output of the touch panel  12  is treated as mouse events if a finger or other pointer is used to contact the touch surface  14 . The contact position is however treated as writing when a pen is lifted from the tool tray  15  and is used to contact the touch surface  14 . In this manner the touch system either operates in a pointer mode or ink mode depending on the object used to contact the touch surface  14 . The computer  16  is also coupled to a front or rear projector  18  and provides image data to the projector. The projector  18  in turn presents images on the touch surface  14  of the touch panel. The touch panel  12 , computer  16  and projector  18  form a closed-loop so that user contacts with the touch panel  12  can be recorded as writing or used to control execution of an applications program executed by the computer  16 . 
   In the present embodiment, the computer  16  runs in a Windows environment and provides image data to the projector  18  so that a computer desktop image is presented on the touch surface  14 . The computer desktop image presents one or more icons that can be selected to open associated applications programs. When an applications program is selected, a window for the applications program is opened. 
     FIG. 2  shows an applications program window  30  including an active area  32  bordered by a frame and one or more tool bars  34  is shown presented on the touch surface  14 . When a pen is used to contact the touch surface  14  and the touch system is conditioned to the ink mode, an acetate image  40  identical to the computer desktop image is displayed over the computer desktop image as shown  FIG. 2 . The acetate image  40  provides a surface for writing (commonly referred to as “ink”) so that the ink is not used by the computer  16  to update the underlying computer desktop image  30 . Contact position data returned to the computer  16  by the touch panel  12  in response to pen contacts with the touch surface  14  are used by the computer to update the image data conveyed to the projector  18  so that the ink appears on the acetate image  40 . 
   When the touch system  10  is conditioned to the ink mode, the computer  16  can be conditioned to execute a connector gesture recognition routine to interpret freehand connectors drawn between graphical objects, if the user is using the pen to draw a two-dimensional diagram, by selecting an icon presented on the touch surface  14 . Specifics of the connector gesture recognition routine will now be described with reference to  FIGS. 3   a  to  3   c.    
   With the computer  16  is executing the gesture connector recognition routine, when a user draws a freehand line on the touch surface  14  (step  100 ) and the touch panel output is conveyed to the computer  16 , the connector gesture recognition routine examines the start point and end point of the freehand line to determine if the start point and end point of the freehand line touch graphical objects displayed on the touch surface that can be connected (step  102 ). If the start point and end point of the freehand line do not touch graphical objects that can be connected, the freehand line is maintained in its original form (step  104 ). If the start point and end point of the freehand line touch graphical objects that can be connected, a connector gesture determination is made to determine the manner by which the freehand line is to be represented (step  106 ). The freehand line is then replaced by the determined computer-generated connector and the image data conveyed to the projector  18  is updated accordingly so that the computer-generated connector approximating the freehand line is presented on the touch surface  14  (step  108 ). 
   During step  102  when the start point and end point of the freehand line are examined, initially the start point is examined to determine if it touches a graphical object (step  120 ). If the start point of the freehand line does not touch a graphical object, the user is presented with a prompt to determine if a new graphical object is to be created at the start point of the freehand line (step  122 ). If the user does not wish a new graphical object to be created, the connector gesture recognition routine proceeds to step  104 . 
   If the start point of the freehand line touches a graphical object or if the user conditions the connector gesture recognition routine to create a new graphical object at the start of the freehand line, the connector gesture recognition routine examines the end point of the freehand line to determine if it touches a graphical object (step  124 ). If not, the connector gesture recognition routine proceeds to step  122  to determine if the user wishes to create a new graphical object at the end of the freehand line. If the end point of the freehand line touches a graphical object or if the user conditions the connector gesture recognition routine to create a new graphical object at the end of the freehand line, the connector gesture recognition routine proceeds to step  106  to determine how to represent the freehand line. Otherwise, the connector gesture recognition routine proceeds to step  104 . 
   During step  106 , the connector gesture recognition routine sets the start and end points of the freehand line (step  130 ) and analyzes points along the freehand line in order to select an appropriate representation (step  132 ). Based on the analysis, if the freehand line is not a straight line and is determined to have an elbow along its length (step  134 ), the connector gesture recognition routine recognizes the freehand line as a right-angled line (step  136 ). If the line has a winding path (step  138 ), the connector gesture recognition routine recognizes the freehand line either as a polygonal, splined or circular line depending on the shape of the freehand line (step  140 ). If the freehand line is not straight nor winding (step  142 ), the connector gesture recognition routine recognizes the freehand line as a curved line (step  146 ). The curve is fitted using an apogee as the control knot (i.e. the furthest point out away from the graphical objects). If the freehand line is straight (step  148 ), the connector gesture recognition routine recognizes the freehand line as a straight line (step  150 ). Once the freehand line has been recognized, the connector gesture recognition routine replaces the freehand line with a computer-generated equivalent and updates the image data conveyed to the projector  18  so that the appropriate computer-generated connector is displayed on the touch surface  14 . 
   Turning now to  FIGS. 4 to 10 , examples of connector gesture recognitions are shown. As can be seen in  FIG. 4 , a freehand line  200  interconnecting two graphical objects  202  and  204  is recognized as a straight line  206 . In  FIG. 5 , a freehand line  210  that is not straight and that has elbows is recognized as a right-angled line  216 . In  FIG. 6 , a non-straight freehand line  220  is recognized as a curved line  226  and in  FIG. 7 , a winding line  230  is recognized as a circular line  236 .  FIG. 8  shows a freehand straight line  240  having a start point adjacent a graphical object  242 . The end point of the freehand line  240  does not touch a graphical object. In this case, the user at step  122  has requested the connector gesture recognition routine to create a new graphical object  244  at the end of the freehand line and the freehand line is recognized as a straight line  246 . 
     FIG. 9  shows relationships between graphical objects  252  and  254  in an object oriented program. As shown, three separate curved computer-generated connectors  256   a  to  256   c  extend between the graphical objects. The computer-generated connectors are created in manner that has been described above. It will be appreciated that any number of connectors may extend between pairs of graphical objects.  FIG. 10  shows a computer-generated winding line  266  extending between a pair of graphical objects  262  and  264 . 
   It will also be appreciated that the computer-generated connectors can be created without arrow heads, with single arrow heads or with double arrow heads. In addition, the various computer-generated connectors can be displayed in different colours using a software color tool. 
   Although the touch system has been described as switching between the pointer mode and the ink mode depending on the type of pointer used to contact the touch surface, this is for illustrative purposes only. For example, transitions between the pointer mode and ink mode can be achieved by selecting appropriate buttons on a small window that remains visible on the touch surface  14 . In this manner, the same pointer can be used to generate mouse events or ink. The gesture responsive ink injection routine can be used in any touch system that includes a touch panel on which a computer image is presented. Such touch systems include active touch systems that make use of special pointers that emit signals such as infrared light, visible light, ultrasonic frequencies and electromagnetic frequencies in order to activate the touch surfaces. These touch systems also include passive surface acoustic wave or capacitive-type touch systems as well as camera-based touch systems such as that disclosed in International PCT Application No. WO 02/03316 to Smart Technologies Inc. et al., the assignee of the present invention. 
   It will also be appreciated that the gesture connector recognition routine may be run on basically any computing device where freehand connectors joining graphical objects are entered. A mouse, trackball, touch pad, or other pointing device may be used to create the freehand connectors. 
   During analysis of the freehand connectors, the freehand connectors need not touch graphical objects in order for the connector gesture recognition routine to extend computer-generated connectors from them. Rather, the freehand connectors simply need to be within a threshold distance of graphical objects. In addition, prompting the user to determine whether new graphical objects are to be created at the start and end points of freehand lines is optional. This feature may be disabled or designated as a default. When designated as a default, the connector gesture recognition routine creates new graphical objects at the start and end points of freehand lines automatically without requiring user input. 
   Although a preferred embodiment of the present invention has been described, those of skill in the art will appreciate that variations and modifications may be made without departing from the spirit and scope thereof as defined by the appended claims.