PEN-BASED DRAWING SYSTEM
A pen-based system allows users, such as artists, graphic designers and illustrators, and the like, to create accurate curve models by sketching. A tool set implemented in software that runs on a computer system combines paper sketch metaphors and a minimalist gesture set. This tool set provides an environment where the artists can focus on the creative task at hand rather than the details of operating software. A pen-based drawing method and system allows users to create and edit three dimensional (“3D”) objects by sketching.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/775,225 for “Pen-Based Drawing Software” filed on Feb. 21, 2006 and U.S. Provisional Patent Application Ser. No. 60/853,839 filed on Oct. 24, 2006 for “Pen-Based 3D Drawing Software.” The disclosures of the above applications are incorporated herein by reference.
BACKGROUND OF THE INVENTIONCurrent drawing, photo editing and industrial design software requires manipulation with curve editing tools, which forces artists to work in terms of mathematical objects such as splines. Current 3D modeling software typically requires artists to understand, at least to some degree, the underlying mathematics and follow relatively complex technical procedures to create and manipulate 3D objects (e.g., 3D surface models).
Even for trained designers, it is a difficult task to draw a satisfactory freeform curve by applying only one pen stroke. Baudel, T., 1994, “A Mark-Based Interaction Paradigm for Free-Hand Drawing,” Proceedings of UIST 1994, ACM Press, 185-192) showed a method to partially modify an existing curve by oversketching on it. Bae, S.-H., Kim, W.-S., and Kwon, E.-S., 2003. Digital Styling for Designers: Sketch Emulation in Computer Environment,” Lecture Notes in Computer Science (Proceedings of International Conference on Computational Science and its Applications 2003), 2669, 690-700 extracted a few simple element curves that automotive designers use generally, and suggested a method to get those curves as the weighted average of repetitive strokes.
To create a 3D curve from a 2D curve that the user draws, some assumptions or interface tricks are needed to infer the curve's depth information. The system of Cohen, J. M., Markosian, L., Zeleznik, R. C., Hughes, J. F., and Barzel, R., 1999, “An Interface for Sketching 3D Curves,” Proceedings of I3D 1999, ACM Press, 17-22, creates 3D curves by having the user draw a curve first and then its shadow. In some systems the drawing order is flipped, (Grossman, T., Balakrishnan, R., Kurtenbach, G., Fitzmaurice, G., Khan, A., and Buxton, B., 2002, “Creating Principal 3D Curves with Digital Tape Drawing,” Proceedings of CHI 2002, ACM Press, 121-128; Tsang, S., Balakrishnan, R., Singh, K., and Ranjan, A., 2004, “A Suggestive Interface for Image Guided 3D Sketching,” Proceedings of CHI 2004, ACM Press, 591-598) The user draws a curve on an orthographic plane, and then draws a second curve on the ruled surface that is extruded in the normal direction to the orthographic plane. Bae, S.-H., Kijima, R., and Kim, W. S., 2003, “Digital Styling for Designers: 3D Plane-Symmetric Freeform Curve Creation Using Sketch Interface,” Lecture Notes in Computer Science (Proceedings of International Conference on Computational Science and its Applications 2003), 2669, 701-710, described a system to create symmetric 3D curves. If a user skilled in perspective drawing sketches a symmetric curve pair, the system samples 2D point pairs considering the vanishing point, and converts them into 3D point pairs to reform a 3D point curve. Because most calculations are performed in 2D image space and the conversion from 2D to 3D is point-wise, the accuracy is not high and the resulting 3D point curve can be jagged. Karpenko, O., Hughes, J. F., and Raskar, R., 2004, “Epipolar Methods for Multi-View Sketching,” Proceedings of the 2004 EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling, 167-173, attempted a multi-view curve sketch. It is conceptually obvious, but not easy to use because an intermediate planar curve created from a curve sketched on a first view is difficult for the user to correlate to the second view.
Geometric modeling is a highly interactive task that requires the user to perform frequent navigation and operations on geometric and graphical objects. Current commercial 3D modeling software provides complicated user interfaces having menus and tool pallets. The user needs to have a good understanding of underlying mathematics and has to follow technical operational procedure. Zeleznik, R. C., Herndon, K. P., and Hughes, J. F. 1996, “SKETCH: An Interface for Sketching 3D Scenes,” Proceedings SIGGRAPH 96, ACM Press, 163-170 and Igarashi, T., Matsuoka, S., and Tanaka, H., 1999, “Teddy: A Sketching Interface for 3D Freeform Design,” Proceedings of ACM SIGGRAPH 99, ACM Press, 409-416, showed a new possibility of simple and intuitive user interfaces for geometric modeling by introducing pen gestures.
The most basic problem in gesture-based user interfaces is to distinguish command strokes from draw strokes. In the many publications, the command and draw modes are separated to avoid ambiguities of stroke interpretation. A common way is to use pen barrel buttons, keyboard buttons, and specialized mode switches. Some studies employed pen gestures such as the double tap (Moran, T. P., Chiu, P., and Van Melle, W., 1997, “Pen-Based Interaction Techniques for Organizing Material on an Electronic Whiteboard,” Proceedings of UIST 1997, ACM Press, 45-54); flick (Zeleznik, R. and Miller, T. 2006, “Fluid Inking: Augmenting the Medium of Free-Form Inking with Gestures,” Proceedings of the 2006 Conference on Graphics Interface, ACM Press, 155-162); and press and hold (Buxton, W., 1990, “A Three-State Model of Graphical Input,” Proceedings of IFIP Tc13 International Conference on Human-Computer Interaction, North-Holland, 449-456) Saund, E. and Lank, E., 2003, “Stylus Input and Editing Without Prior Selection of Mode,” Proceedings of UIST 2003, ACM Press, 213-216, suggested inference and user mediation. Ramos, G., Boulos, M., and Balakrishnan, R., 2004, “Pressure Widgets,” Proceedings of CHI 2004, ACM Press, 487-494, and Tsang, S., Balakrishnan, R., Singh, K., and Ranjan, A., 2004, “A Suggestive Interface for Image Guided 3D Sketching,” Proceedings of CHI 2004, ACM Press, 591-598, explored using pressure sensing to distinguish between gesture strokes and draw strokes.
Considering the complexity of geometric modeling, it is not possible to operate every function of a modeling system using only pen gestures. Too many gestures and complicated gesture grammar may confuse the user without providing hints about how to interact with the computer. Gesture-based interfaces are inherently not self-disclosed unlike conventional graphical user interfaces known as WIMP GUIs. On-screen menus such as the marking menus (Kurtenbach, G. and Buxton, W., 1993, “The Limits of Expert Performance Using Hierarchic Marking Menus,” Proceedings of CHI 1993, ACM Press, 482-487), FlowMenu (Guimbretiére, F. and Winograd, T., 2000, “FlowMenu: Combining Command, Text, and Data Entry,” Proceedings of UIST 2000, ACM Press, 213-216), tracking menus (Fitzmaurice, G., Khan, A., Pieké, R., Buxton, B., and Kurtenbach, G., 2003, “Tracking Menus,” Proceedings of UIST 2003, ACM Press, 71-79) can be a complement to gesture-based interfaces.
Rather than “chicken scratch” style sketches, professional automotive designers express shapes with simple controllable, curves having a good flow by “drawing from the shoulder.” Those curves generally have no inflection point or at most one. (Bae, S.-H., Kim, W.-S., and Kwon, E.-S., 2003, “Digital Styling for Designers: Sketch Emulation in Computer Environment,” Lecture Notes in Computer Science (Proceedings of International Conference on Computational Science and its Applications 2003), 2669, 690-700) They draw these lines very light at first, and then darken them up when the lines form a satisfactory shape. (Taylor, T., and Hallett, L., 1996, “How to Draw Cars Like a Pro.,” Motorbooks International) Curves having complicated convexity changes are created by connecting simple curves with smooth transitions. While sketching, they rotate paper from time to time to stay within an articulation comfort range. Drawing and paper rotation are subconsciously integrated. (Fitzmaurice, G. W., Balakrishnan, R., Kurtenbach, G., and Buxton, B., 1999, “An Exploration into Supporting Artwork Orientation in the User Interface,” Proceedings of CHI 1999, ACM Press, 167-174)
Automotive designers take considerable care in setting up an initial perspective frame and continuously try to keep their sketches in correct perspective and proportion. Vanishing points, horizon lines, ground plane, center plane, box representing the outside dimensions of the car, ellipses with axle lines are used to establish a perspective view. (Robertson, S., With The Hot Wheels™ Designers, 2004, “How to Draw Cars the Hot Wheels™ Way,” MBI). Flipping paper and drawing on the back of the paper is a common technique to detect distortion and inaccuracy with a “fresh eye.” Some designers work with an underlay of a computer-generated perspective grid with wheels, 3D rendered image of existing cars, or package drawings where key dimensions and engineering hard points are indicated. On the other hand, they sometimes exaggerate and distort perspective and proportion intentionally to increase the appeal of particular aspects of a design (they called it “cheating”).
Raster-type painting software allows designers to make the best use of their drawing skills. Furthermore, it provides many advantages that are not found in using traditional media including undoing actions, easy storing and retrieving results, working with unlimited layers and special digital effects. But, imperfect eye-hand coordination is a problem to some when using the standard graphics tablet devices that are not integrated with the display device physically. With no expense for undo, it increases the designer's tendency of expecting a “happy accident” of getting a satisfactory curve by just repeating a stroke and undo. Some software provides the canvas rotation mode that is invoked by pressing a button on the keyboard. However, most designers do not use the function and draw curves by twisting their head and body. As a result some designers feel they can not duplicate the quality of their paper strokes using a tablet.
In using painting programs, vector-type curves like NURBS curves are used as a supporting geometry that define snapping sweeps to control brushing or masks for brushing and gradation in a specified area. Creation of the snapping sweeps and masks require time-consuming, tedious manipulation of control points as in using vector illustration tools.
SUMMARY OF THE INVENTIONIn an aspect, the present invention provides a pen-based drawing system to allow users, such as artists, graphic designers and illustrators, and the like, to create accurate curve models by sketching. A tool set implemented in software that runs on a computer system combines paper sketch metaphors and a minimalist gesture set. This tool set provides an environment where the artists can focus on the creative task at hand rather than the details of operating software.
In an aspect, a pen-based drawing system is provided that allows users to create and edit three dimensional (“3D”) models by sketching.
In an aspect, a pen-based drawing system is provided that recognizes pen gestures for editing and navigation.
In an aspect, a pen-based drawing system is provided that recognizes pen gestures for commands having highest frequency without switching from a drawing mode and recognizes pen gestures for commands having higher frequency in a quasi-mode where a key on a keyboard or a button on a pen is held while the pen gesture is made. In an aspect, the commands having higher frequency that are recognized in the quasi-mode are canvas and camera control commands.
In an aspect, a pen-based drawing system is provided that recognizes pen gestures for commands having mid frequency with a check menu.
Referring to
Pen-based drawing system 100 includes a computer system 102 having a computer 104 with a display (such as a monitor or screen) 106 and an pen input device 108 coupled to computer 104. Computer system 102 may also illustratively have a keyboard 110 and a mouse 112 coupled thereto. Computer 104 may illustratively be a general purpose computer having components typically included in a general purpose computer, such as a CPU, memory, a hard drive, and the like. Computer 104 may illustratively be a personal computer, a notebook computer, a tablet PC, or a work station.
Pen input device 108 may illustratively have a pen stylus 114 (sometimes referred to herein as pen 114) and a sketch tablet 116 on which a user can “draw” using pen 114. Pen input device 108 captures the strokes drawn by a user on sketch tablet 116 using pen 114 and inputs them into computer 104. In an illustrative aspect, the curve model generation software is a Java application (J2SE™ 5.0, Java 3D™ 1.3.2, JOGL API), computer 104 is illustratively a desktop computer (Pentium® 4, 3.20 GHz, 3.00 GB RAM), and pen input device 108 is a WACOM Intuos® 3 graphics tablet (9″×12″) and/or a WACOM Intuos® 2 graphics tablet (12″×19″). It should be understood that pen input device 108 can be any device that captures strokes drawn by a user and inputs them into a computer.
Pen-based drawing system 100 includes curve model generation software that runs on computer 104 that allows a user to create curves (both 2D and 3D) by sketching using pen input device 108. It also allows the user to edit the curves and navigate using pen gestures, as described in more detail below. For example, in an aspect, a user creates a curve using multi-stroke vector curve creation, as described in more detail below, by repetitively sketching curve strokes on sketch tablet 116 using pen 114 that are input into computer system 102 by pen input device 108, and then instructing the computer system 102 to settle the plurality of curve strokes into a single curve.
The curve model generation software operating on computer system 102 takes the plurality of curve strokes input into computer system 102 and generates a curve model therefrom. It also recognizes pen gestures as commands. As used herein, the term “gesture” or “pen gesture” means a pen stroke or a pen motion that is recognized by the curve model generation software running on computer 104 as a command, such as an edit command or navigation command, as discussed in more detail below.
In an aspect, a sketch-based vector curve creation method is provided by combining the multi-stroke method (described below) with gesture-based curve editing. In an aspect, easy-to-use navigation techniques are provided so that designers can quickly search a 2D area to draw comfortably and a 3D view to model shape easily. In an aspect, a new algorithm for mirror symmetric 3D curve sketching is provided and a set of 3D curve sketch methods are implemented to give designers a chance to choose the best method depending on what they want to create. In an aspect, various perspective hints and engineering constraints are provided to help designers sketch easily. All the commands are classified in terms of frequency (Table 1). For the most frequent commands related to drawing, a small number of pen gestures are used to execute the commands without a mode change from the drawings mode in order to allow designers to stay focused on their creative work. In some cases the user's intention is clear, and the curve model generation software executes commands automatically to accelerate the work flow. For navigation that is also a frequent operation, a few motion gestures are used in the controlled quasi-modes invoked by pressing pen barrel buttons. For less frequent commands, such as changing 2D/3D and selecting a 3D curve creation method, the user pops up an on-screen menu and chooses a command. For infrequent commands, conventional menus are used.
The user then sketches a curve stroke on sketch tablet 116 with pen 114 (
In an aspect, the stroke vector curves are weighted when they are displayed at 206 with the last drawn stroke vector curve, such as stroke vector curve 402 in
In an aspect, the estimated settle curve is determined by using a weighted average of the stroke vector curves, with the last drawn stroke vector curve having the highest weight and the first drawn stroke vector curve having the lowest weight. The older stroke vector curves thus have less effect on the settle curve as the number of stroke vector curves increase. With reference to the example of
In an aspect, the estimated settle curve, such as estimated settle curve 404, is displayed in a different color than the stroke vector curves 400, 402 drawn by the user. This visual feedback distinguishes the estimated settle vector curve from the stroke vector curves the user has drawn to help the user to determine when to stop sketching and settle the stroke vector curves.
When the user commits to settle the stroke vector curves at 208, the user may do so by a keystroke on keyboard 110, such as by pressing the “S” key. With reference to
In an aspect, the user may settle the stroke vector curves by starting a distinct curve, such as distinct curve 700 shown in
In an aspect, the trajectory of pen 114 may be analyzed by the curve model generation software running on computer 104 to select the curve type, as illustrated in
With reference to
In an aspect, by giving variation to the shape of the scratch-out gestures, the user can perform different curve deleting operations with one pen gesture while still keeping a common metaphor for erasing.
In an aspect, a curve can be trimmed or partially deleted through the use of a partial curve “scratch-out gesture,” which is a “scratch out” pen stroke as shown in
In an aspect, a curve can be completely deleted or erased through the use of a whole curve “scratch-out” gesture, as shown in
In an aspect, a model scratch out gesture is provided. When the model scratch out gesture is applied, all the objects on the canvas, which is displayed on display 106, are erased. The model scratch out gesture may illustratively be a whole curve scratch out gesture whose bounding box is bigger than a specified size, such as seventy-five percent of the size of the canvas displayed on display 106. The model scratch out gesture may also or alternatively be a whole curve scratch out gesture applied to an empty portion of the canvas.
In an aspect, a “dot” gesture is provided in an exemplary aspect for a plurality of functions such as for a model having a plurality of vector curves, including tying curves, creating common intersections, creating a corner fillet, or end-point snapping two or more curves. As described above, the dot gesture is a small and (almost) solid mark whose outer shape is circular.
In an aspect, the dot center gives reference to decide the connecting point. Thus, the user has control of the position and tangent condition when connecting two curves. For tangential concatenation of two curves, there exist several options about the position and slope of the resulting curve at the connecting point. According to an aspect, the earlier created curve (“C1”) has a higher priority. The later created curve (“C2”) is moved to C1 so that the resulting connection point (“P”) of the two curves C1, C2 is the point on C1 (“P1“) that is closest to the dot center, and the common slope at P is the tangent vector at P1 on C1. Conversely, in another aspect, the later created curve (“C2”) is given the higher priority so that the resulting connection point P of the two curves C1, C2 is the point on C2 (“P2”) closest to the dot center, and the common slope at P is the tangent vector at P2 on C2. In another aspect, both curves C1 and C2 get equal priority, thus setting P somewhere between C1 and C2.
With reference to
In an aspect, gesture based canvas and camera control, also referred to herein as navigation, is provided. As used herein, “navigation quasi-mode” means that the selected navigation is active while a key on the keyboard or button on the pen is held down by the user, but drawing mode is reverted to when the key or button is released by the user. As commonly understood, canvas control means rotating/panning or zooming (in or out) the image, but keeping the perspective from which the viewer views with the same view frustum, and camera control means changing the perspective from which the viewer views, that is, changing the view frustum. In an aspect, canvas control quasi-mode is selected prior to applying pen gestures, such as by holding down a key (e.g., the “shift” key) on keyboard 110, or holding down a button on pen 114. While holding down the key or button, the user applies a circular pen motion gesture 1801 to select rotation quasi-mode and a linear pen motion gesture 1803 to select zoom/pan/control rectangle quasi-mode. Once rotation quasi-mode is on, the user can continuously control rotation of the image clockwise or counterclockwise with movement of the pen 114. Similarly, once zoom/pan/control rectangle mode is on, the user can create a control rectangle, zoom the image in and out, and pan or drag image with movement of the pen 114.
To create a control rectangle, sometimes referred to as a “zoom box,” the user applies the appropriate pen motion gesture to the desired portion of the image. In the illustrative example of
In the illustrative embodiment of
With reference to
Because the user defines the shape of a vector curve not by dragging its control points but by sketching it, how easily the user can find viewing conditions (including 2D) affects not only work efficiency but also curve quality. Thus, it is important to provide the user with intuitive and easy-to-use navigation techniques driven by a pen, such as pen 114. In general, the total number of parameters related to viewing is 11 (6 for camera position and rotation, 5 for projection) (Michener, J. C., and Carlbom, I. B., 1980, Natural and Efficient Viewing Parameters In Computer Graphics,” Proceedings of ACM SIGGRAPH 80, 14, 3, 238-245). Existing 3D modeling software lets the user control them with multi-button mouse and hotkey combinations. One prior art approach devised a special widget for viewing control. (Singh, K., Grimm, C., and Sudarsanam, N., “The IBar: A Perspective-Based Camera Widget,” Proceedings of UIST 2004, ACM Press, 95-98. Singh et al.) If helps the user change perspective distortion of a 3D scene by directly modifying the angle of the receding lines in two-point perspective. In an aspect of the present disclosure, a natural viewing control interface for pen input is provided, which uses pen motion gestures in quasi-modes invoked with pen barrel buttons. It does not use complicated hotkey combinations or require knowledge of complicated viewing or camera parameters.
With reference to
The vertical linear pen motion gesture invokes the canvas zoom function (
The operations performed in the canvas control quasi-mode do not cause perspective change in the displayed image. They bring results similar to moving and rotating paper on the table, or enlarging or reducing the image size on paper using a copy machine. On the other hand, the operations defined in the camera control quasi-mode, illustratively activated when the user holds down, for example, an upper pen barrel button (not shown) of pen 114 change the perspective and/or viewing direction—that is, it changes what is often referred to as the view frustum. They are based on the object-centric paradigm (Barrileaux, J., 2001, “3D User Interfaces with Java 3D,” Manning) where the camera is centered on an object and the viewpoint is rotated relative to the object. In accordance with an aspect of the present disclosure, the camera control gestures are interactionally consistent with the canvas control gestures. The vertical linear motion pen gesture is used for camera perspective distortion (
Returning to canvas control and referring to
Some designers use the graphics tablet rotated to some degree, and may have difficulty applying vertical, horizontal, and diagonal linear motions. In an aspect of the present disclosure, transparent vertical and horizontal linear strips and a circular strip around the cross hair are displayed to orient the user lead them to apply correct motion gestures (
On-screen menus help the user to focus on the current task and enhance work flow by avoiding frequent round-trips between application data and GUIs. (Kurtenbach, G. and Buxton, W., 1993, “The Limits of Expert Performance Using Hierarchic Marking Menus,” Proceedings of CHI 1993, ACM Press, 482-487; Igarashi, T., Matsuoka, S., and Tanaka, H., 1999, “Teddy: A Sketching Interface for 3D Freeform Design,” Proceedings of ACM SIGGRAPH 99, ACM Press, 409-416 (1999); Guimbretiére, F. and Winograd, T., 2000, “FlowMenu: Combining Command, Text, and Data Entry,” Proceedings of UIST 2000, ACM Press, 213-216 (2000); Fitzmaurice, G., Khan, A., Pieké, R., Buxton, B., and Kurtenbach, G., 2003, “Tracking Menus,” Proceedings of UIST 2003, ACM Press, 71-79) In an aspect, an on-screen menu, called a check menu, is provided to execute commands which are used with moderate frequency in 2D/3D sketching. The check menu does not need the help of the non-preferred hand nor special buttons. It appears immediately where the user applies the check gesture, and allows the user to execute a command comfortably.
At any moment when there are no intermediate stroke curves to settle, the user can invoke the check menu by applying the check gesture (
The shape and location of the check menu consider the ergonomics of the user's wrist motion. The items of the check menu are arranged in an arc so that the user can reach each item with little movement. In an aspect, a different setting of the check menu is given to each user based on the handedness and the individual range in which the tip of pen 114 moves comfortably with the wrist anchored. The check menu appears near the invoking check gesture so that the middle choice is located where the check stroke ends. When selecting a menu item, the choice closest to the cusp of the check is executed.
In an aspect, the check menu is used in hierarchical menu structures and natural selection-action phrases. Hierarchical menu structures are described in Kurtenbach, G. and Buxton, W., 1993, “The Limits of Expert Performance Using Hierarchic Marking Menus,” Proceedings of CHI 1993, ACM Press, 482-487; and natural selection-action phrases are described in Buxton, W., 1986, “Chunking and Phrasing and the Design of Human-Computer Dialogues,” Proceedings of IFIP World Computer Congress on Information Processing, North-Holland, 475-480.
In an aspect, the curve modeling generation software provides an integrated interface for creating 3D concept models. Various 3D curve sketch scenarios described below can be utilized with the basic interaction aspect described above.
With reference to
Referring generally to
In general, it is not possible to obtain a 3D curve from a single 2D curve sketch due to lack of depth information. One technique that has been used to create a 3D curve from a 2D curve is a technique known as “mirror symmetry.” Bae, S. H.; Kijima, R.; and Kim, W. S.; 2003, “Digital Styling for Designers: 3D Plane-Symmetric Freeform Curve Creation Using Sketch Interface,” Lecture Notes in Computer Science, Vol. 2669 (Proceedings of ICCSA 2003) (pp. 701-710) describes the basic concepts of the mirror-symmetric 3D curve creation method, and is incorporated by reference herein in its entirety. In an aspect, the principle of the symmetric 3D curve sketch is reinterpreted with epipolar geometry (Faugeras, O., and Luong, Q. T., 2001, “The Geometry of Multiple Images,” The MIT Press) to provide a new robust mirror symmetry algorithm (described below) based on the foregoing along with an easy-to-use interaction scenario, illustratively implemented in the curve model generation software.
With reference to
The mirror-symmetric 3D curve sketch is a kind of view dependent sketch method. Therefore, if a first 2D curve is settled, the current perspective view freezes until a second 2D curve is determined and the resulting 3D curves are created (with canvas control (zoom, pan, rotate) still available).
With reference to
-
- The user sketches the first 2D curve 2200 as described above.
- (1) The program then calculates 3D curve C1 on the computer monitor screen from the first 2D curve sketch 2200 under the current viewing condition.
- (2) Next, the program creates the ray surface R starting from the eye position e and containing c1.
- (3) The program next creates the mirrored ray surface RM of R (RM starts from the mirrored eye position eM).
- (4) The program displays RM on the monitor screen. (The displayed RM, which is the same screen image of the ruled surface on which two 3D curves to be created reside, converges to the vanishing point on the monitor screen and gives the user a guide for sketching the second 2D curve.)
- The user then sketches the second 2D curve 2400 as described above on the screen image of RM.
- (5) The program calculates second 3D curve c2 on the screen from the second 2D curve input on the screen image of RM.
- (6) The program next creates 3D curve C2 (curve 2502) by projecting c2 onto RM.
- (7) The program then creates the other 3D curve C1 (curve 2500) by mirroring C2.
With reference to
This mirror symmetric 3D sketch algorithm can be thought of a special type of the epipolar method of multi-view sketch. (Karpenko, O., Hughes, J. F., and Raskar, R., 2004, “Epipolar Methods for Multi-View Sketching,” Proceedings of the 2004 EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling, pp. 167-173). With reference to
In every 3D curve sketch method based on epipolar geometry, the inference ambiguity and noise sensitivity increase as the two view vectors become parallel. Thus, in using the above discussed method, a user should avoid putting eye position near mirror plane or looking at the mirror plane perpendicularly to get good results.
It is important that designers or users of drawing or sketching systems be able to use their perspective drawing skill. (Taylor, T., and Hallett, L., 1996, “How to Draw Cars Like a Pro,” Motorbooks International;, Robertson, S., With The Hot Wheels™ Designers, 2004, “How to Draw Cars the Hot Wheels™ Way, MBI; Chelsea, D., 1997, “Perspective! For Comic Book Artist,” Watson-Guptill). In an aspect, the 3D sketching technique provided by the curve model generation software allows designers, such as automotive designers, not only to utilize their perspective drawing skill, but also to continue to create several 3D curves from a single view (
In an aspect of the present invention, creation of 3D curves on orthographic planes is provided. A prior art system of creates a 3D planar curve by projecting the user's 2D sketch onto a movable 3D orthographic plane. (Tsang, S., Balakrishnan, R., Singh, K., and Ranjan, A., 2004, “A Suggestive Interface for Image Guided 3D Sketching,” Proceedings of CHI 2004, ACM Press, 591-598.) In an aspect of the present invention, the user defines an orthographic sketch plane by using pen gestures, and sketches 3D vector curves (illustratively, 3D NURBS curves) on it as 2D sketch strokes as described above. With reference to
It is known to use ruled surfaces as a construction aids on which 2D curve input is projected for creating non-planar 3D curves. (Grossman, T., Balakrishnan, R., Kurtenbach, G., Fitzmaurice, G., Khan, A., and Buxton, B., 2002, “Creating Principal 3D Curves with Digital Tape Drawing,” Proceedings of CHI 2002, ACM Press, 121-128; Tsang, S., Balakrishnan, R., Singh, K., and Ranjan, A., 2004, “A Suggestive Interface for Image Guided 3D Sketching,” Proceedings of CHI 2004, ACM Press, 591-598) The underlying principle is the same as the shadow sketch described in Cohen, J. M., Markosian, L., Zeleznik, R. C., Hughes, J. F., and Barzel, R., 1999, “An Interface for Sketching 3D Curves,” Proceedings of I3D 1999, ACM Press, 17-22, but if has some benefits. The user can create many 3D curves on ruled surfaces, and change a view appropriate for different curves.
With reference to
With reference to
In an aspect, the curve editing techniques described above are used for 3D curve editing, 3D curve intersection tightening and end-point snapping by using the dot gesture. 3D curve trimming and deleting using the scratch-out gesture are shown in
For 3D curve editing, 3D distance and 3D angle should be employed. The fog effect (described above) is used that helps the user estimate the 3D gap between the 3D curves that are displayed overlapped. The navigation interface described above also plays an important role in 3D curve editing. When the user's curve editing gesture is applied, among the curves displayed under the gesture strokes, only those closest to the viewpoint within the specified 3D distance tolerance are considered for the corresponding editing operation. In 3D, the application of the dot gesture (for curve tightening) on even only two curves is meaningful because they may be apart even if they appear intersected with each other from a certain viewpoint.
In general, it is not easy to create a complicated 3D curve by using 3D curve sketch methods. To match two 2D curves sketched from different viewpoints is difficult or sometimes impossible. (Cohen, J. M., Markosian, L., Zeleznik, R. C., Hughes, J. F., and Barzel, R., 1999, “An Interface for Sketching 3D Curves,” Proceedings of I3D 1999, ACM Press, 17-22; Karpenko, O., Hughes, J. F., and Raskar, R., 2004, “Epipolar Methods for Multi-View Sketching,” Proceedings of the 2004 EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling, 167-173) However in accordance with above described aspects of the present invention, curve matching is relatively easy because the user sketches only simple 3D curves to be used for building a complex 3D form later.
In the ideation stage of the early design process, such as the design of automotive vehicles, the designer creates a lot of thumbnail sketches to conceive new design ideas and study their 3D forms (e.g., how a sketch from a view can be seen from different views, how many sketches from multiple views can be combined, etc.) In an aspect of the 3D modeling workflow, the user creates temporary thumbnail sketches in the middle of a 3D curve sketch while using existing 3D curves as a 2D sketch underlay, and in turn creates 3D curves by using the thumbnail sketches as references. This allows the user to not only eliminate unnecessary thumbnail sketches to explore design ideas in 3D, but also obtain inspiration from the intermediate 3D curves and 2D sketches. Further, the 3D digital models can be used for other design activities such as engineering studies, bench marking, and component packaging from very early stages of the design process. This digitally organized design process allows simplification of the design iteration process and reduction of the design life cycle (the length of time required for the design process).
The 3D aspect may illustratively use a unified pen gesture-based interface for both canvas and camera control, similar to that described above. With reference to
The gesture based canvas/camera control in accordance with the above provides an intuitive and consistent gesture convention so that users need not remember complex hot-key/button combinations. This enhances the drawing and design ability as it reduces (if not eliminates) the interference with the drawing process caused by drawing program user interfaces that use hot-key/button combinations. The mode change among drawing, canvas control, and camera control is done by holding down appropriate buttons on the drawing pen stylus 114 and/or keys on the computer keyboard 110 when changing from drawing mode to either canvas control quasi-mode or camera control quasi-mode. Releasing the button or key results in return to the drawing mode. Quasi-mode indicators are illustratively shown on the screen 106 to give visual feedback of the current quasi-mode. For example, as illustratively shown in
The 3D aspect illustratively also uses gesture based curve editing similar to that described above.
The description of the invention is merely exemplary in nature and, thus, variations that do not depart from the gist of the invention are intended to be within the scope of the invention. Such variations are not to be regarded as a departure from the spirit and scope of the invention.
Claims
1. A drawing system, comprising:
- a computer system having a display and a pen input device having a pen stylus;
- the computer system having curve model generation software running thereon;
- the curve model generation software responsive, when in a drawing mode, to a drawing stroke made with the pen stylus and generating a vector curve for the drawing stroke;
- the curve model generation software responsive in the drawing mode to at least one edit gesture made with the pen stylus to edit the vector curve.
2. The system of claim 1 wherein the curve model generation software is responsive in a quasi-mode to a navigation control pen gesture for controlling navigation.
3. The system of claim 2 wherein the curve model generation software is responsive in a quasi-mode to canvas and camera control pen gestures for controlling canvas and camera navigation.
4. The system of claim 1 wherein the vector curve is a 2D vector curve or a 3D vector curve.
5. The system of claim 1 wherein the vector curves includes a plurality of vector curves, the plurality of vector curves including a 2D vector curve and a 3D vector curve, the curve model generation software responsive in the drawing mode to pen gestures for editing the 2D and 3D vector curves.
6. The system of claim 5 wherein the drawing mode includes a 2D drawing mode and a 3D drawing mode.
7. The system of claim 6 wherein the curve model generation software is responsive in a quasi-mode to a navigation control pen gesture for controlling navigation.
8. The system of claim 7 wherein the curve model generation software is responsive in a quasi-mode to canvas and camera control pen gestures for controlling canvas and camera navigation and includes unified canvas and camera navigation when switching to the navigation quasi-mode from either the 2D or 3D drawing modes.
9. The system of claim 8 wherein the pen gestures for controlling canvas and camera navigation when the curve model generation software has switched to the navigation quasi-mode from the 2D drawing mode are the same as the pen gestures for controlling canvas and camera navigation when the curve model generation software has switched to the navigation quasi-mode from the 3D drawing mode.
10. The system of claim 1 wherein in response to a check gesture the curve model generation software displays on the canvas a check menu.
11. The system of claim 10 wherein the check menu includes selections for commands used with moderate frequency.
12. They system of claim 11 wherein the selections on the check menu are arranged in an arc so that a user can reach each selection with little hand movement
13. The system of claim 10 wherein the check menu is displayed on the canvas where the check gesture is applied.
14. The system of claim 1 wherein the curve model generation software is responsive to a plurality of different edit gestures made with the pen stylus and editing a different aspect of the vector curve based on each different edit gesture.
15. The system of claim 14 wherein the edit gestures include a partial curve scratch out gesture, the curve model generation software deleting a portion of the vector curve based on where the partial curve scratch out gesture is applied to the vector curve.
16. The system of claim 15 wherein the edit gestures further include a whole curve scratch out gesture, the curve model generation software deleting the entire vector curve to which the whole curve scratch out gesture is applied.
17. The system of claim 16 wherein the edit gestures include a model scratch out gesture and the curve model generation software deletes all the vector curves of a model in response to the application of the model scratch out gesture with the pen stylus.
18. The system of claim 14 wherein the edit gestures include a dot gesture, the curve model generation software editing a plurality of different aspects of a model having a plurality of vector curves depending on where the dot gesture is applied with respect to the vector curves of the model.
19. The system of claim 18 wherein the plurality of different aspects of the model edited by the curve model generation software in response to where the dot gesture is applied include two or more of tying two vector curves of the model, creating common intersections of three or more vector curves of the model, creating a corner fillet of two vector curves of the model, and end-point snapping of two or more vector curves of the model.
20. The system of claim 19 wherein tying two vector curves of the model includes tangential concatenation of the two vector curves.
21. The system of claim 14 wherein the edit gestures include an undo gesture and a redo gesture.
22. The system of claim 3 wherein the canvas control gestures include canvas rotation, continuous canvas zoom, canvas pan and canvas control rectangle gestures and the camera control gestures include camera rotation, camera in/out, and camera pan gestures.
23. The system of claim 8 wherein the camera control gestures include camera orbit, camera in/out, and camera pan gestures.
24. The system of claim 1, wherein the curve model generation software is responsive to repetitive strokes made by the pen stylus and generating a stroke vector curve for each stroke and the curve model generation software responsive to a settle command and settling the stroke vector curves for the repetitive strokes to generate a settled vector curve.
25. The system of claim 24 wherein the curve model generation software generates an estimated settle curve after each stroke vector curve is generated and displays on the display the estimated settle curve.
26. The system of claim 25 wherein the curve model generation software displays on the display the estimated settle curve in a different color than the stroke vector curves.
27. The system of claim 25 wherein the curve model generation software weights the stroke vector curves with different weights ranging from highest to lowest with a last drawn stroke vector curve having the highest weight and a first drawn stroke vector curve having the lowest weight, and displaying the stroke vector curves on the display with each stroke vector curve having a different line darkness ranging from darkest to lightest with the last drawn vector curve having the darkest line and the first drawn vector curve having the lightest line.
28. The system of claim 24 wherein the curve model generation software generates the estimated settle curve using a weighted average of the stroke vector curves.
29. The system of claim 24 wherein the curve model generation software is responsive to the start of a distinct curve as the settle command.
30. The system of claim 24 wherein the curve model generation software is responsive to a check gesture as the settle command.
31. The system of claim 1 wherein the curve model generation software is responsive to trajectory of the pen stylus to determine a curve type that is being sketched.
32. The system of claim 31 wherein the curve model generation software is responsive to a modifier key and to trajectory of the pen stylus to determine a curve type that is being sketched.
33. The system of claim 32 wherein the curve model generation software is responsive to trajectory of the pen stylus when the modifier key is in a first state to determine whether a smooth curve or an ellipse is being sketched and responsive to trajectory of the pen stylus when the modifier key is in a second state to determine whether a straight line or a circle is being sketched.
34. The system of claim 1 wherein the curve model generation software applies a fog effect to a 3D vector curve of a model to provide depth information.
Type: Application
Filed: Feb 20, 2007
Publication Date: Feb 14, 2008
Inventor: Seok-Hyung Bae (Ann Arbor, MI)
Application Number: 11/676,628