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.
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.