A Projective Drawing System
Total Page:16
File Type:pdf, Size:1020Kb
A Projective Drawing System Osama Tolba Julie Dorsey Leonard McMillan Laboratory for Computer Science Massachusetts Institute of Technology, Cambridge, MA 02139 E-mail: tolba,dorsey,mcmillan @graphics.lcs.mit.edu f g Abstract Traditional perspective drawings are difficult to construct [3]. Only a skilled illustrator can make a drawing with correct propor- We present a novel drawing system for composing and rendering tions. Furthermore, many construction lines are required to achieve perspective scenes. Our approach uses a projective 2D representa- this proportionality, making the process laborious. In addition, the tion for primitives rather than a conventional 3D description. This views they depict are static, which reduces their 3D impression. allows drawings to be composed with the same ease as traditional il- Proper shadow construction and shading are also time-consuming. lustrations, while providing many of the advantages of a 3D model. Finally, like all drawings on paper, they are difficult to edit or reuse. We describe a range of user-interface tools and interaction tech- Our goal is to provide interactive techniques to support perspec- niques that give our system its 3D-like capabilities. We provide tive drawing. This problem has been largely neglected in 2D com- vanishing point guides and perspective grids to aid in drawing free- puter graphics. Almost all current 2D graphics systems use drawing hand strokes and composing perspective scenes. Our system also primitives that are represented with Euclidean 2D points. The pro- has tools for intuitive navigation of a virtual camera, as well as cess of constructing a perspective drawing with these systems is methods for manipulating drawn primitives so that they appear to nearly as tedious as with traditional media. undergo 3D translations and rotations. We also support automatic We have developed a perspective drawing system that overcomes shading of primitives using either realistic or non-photorealistic many of the limitations of traditional perspective drawing and cur- styles. Our system supports drawing and shading of extrusion sur- rent 2D computer graphics systems. Our system retains the ease- faces with automatic hidden surface removal and highlighted sil- of-use of a 2D drawing systems, but its projective representation houettes. Casting shadows from an infinite light source is also pos- provides additional 3D-like functionality. We intend this tool for sible with minimal user intervention. applications that often do not require actual 3D modeling, such as conceptual design, technical illustration, graphic design, and archi- CR Categories: I.3.3 [Computer Graphics]: Graphics Utilities— tectural rendering. In many cases, these applications strive to gen- Graphics Editors; I.3.6 [Computer Graphics]: Methodologies and erate a single perspective view, or a set of views sharing a common Techniques—Interaction Techniques viewpoint. Keywords: Image-based Modeling and Rendering, Misc. 2D We use projective 2D points to compose various renderings of a graphics, Non-Euclidean Spaces, Non-Photorealistic Rendering scene and provide capabilities that are generally thought to require 3D models. For example, our system supports perspective drawing guides, dynamic 3D-like viewing and object manipulation, scene illumination and shading, and automatic shadow construction. In 1 Introduction addition, shape modeling operations, such as the simulation of 3D extrusion, can also be performed using projective 2D points. The advent of computer graphics has greatly influenced many as- Our 2D representation does not allow us to simulate walk- pects of architectural drafting. Construction drawings, in the form throughs. While we are able to simulate single-object motion, it is of plans, sections, elevations, and details, are seldom drawn by not possible to correctly simulate the motion of a group of objects hand today. In addition, hand-crafted physical models, tradition- (or the viewer). We use transformations of the image of a planar ally used for client presentations, have been largely replaced with object that are independent of its actual distance from the viewer. three-dimensional computer models and walk-throughs. Perspec- In order to transform images of multiple objects, however, we need tive drawing, which was once an important technique for exploring relative depth information, which our system does not support. and presenting designs, is virtually obsolete due to the speed and flexibility of today’s CAD systems. However, 3D modeling sys- tems are generally cumbersome to use, and ill-suited for the early 1.1 Related Work stages of design where freehand sketching is often more appealing. In [12] we introduced a projective 2D point representation and demonstrated that perspective scenes, drawn with freehand strokes, can be properly re-projected into new viewing directions with a Permission to make digital or hard copies of part or all of this variable field of view, thereby giving the drawing an immersive 3D- work or personal or classroom use is granted without fee like effect. In this work, we extend the projective 2D point repre- provided that copies are not made or distributed for profit or sentation to provide sophisticated tools for constructing perspective commercial advantage and that copies bear this notice and the geometric shapes. The shapes can be shaded and made to cast shad- full citation on the first page. To copy otherwise, to republish, ows. We also provide tools to simulate the apparent 3D motion of to post on servers, or to redistribute to lists, requires prior these shapes within a scene. specific permission and/or a fee. Projective representations underly all panoramic image-based rendering (IBR) systems. For example, “QuickTime VR” rep- I3D '2001, Research Triangle Park, NC USA resents environments with cylindrical panoramas and synthesizes © ACM 2001 1-58113-292-1/01/01 ...$5.00 novel perspective views by providing an interface for panning, tilt- 25 Viewing Plane Implied Geometry (x, y, w) Unit Sphere Figure 1: Two-dimensional drawing points are stored on the surface of the unit sphere centered about the viewer. They are displayed by projecting them onto a user-specified viewing plane. ing, and zooming [1]. IBR systems typically facilitate navigation and visualization of a static scene. In our approach, we provide controls for composing and editing illustrations. An active area of research is the development of sketching inter- faces for 3D modeling [2, 6, 13]. These approaches acknowledge the difficulty of using standard interfaces to build 3D models. Their main premise is that 3D shape can be inferred from freehand strokes that follow a certain syntax, thereby allowing models to be gener- ated very quickly. In our work, we do not infer 3D geometry, rather Figure 2: A drawing of an outdoor plaza design shown as points we make 2D drawings that are 3D-like. on the unit sphere centered about the viewer, and an array of views Non-photorealistic rendering (NPR) techniques apply a “hand- generated with our system from the same drawing. The bottom row drawn” look to photographs and 3D renderings by simulating many views look in the same directions as the top row but tilt up. conventional artistic methods. For example, when mimicking pen- and-ink styles, NPR uses hatching or stippling (a collection of short strokes) as a means to convey tonal variation [8, 10]. Another NPR technique is the use of silhouettes to emphasize shape [9]. Our work adopts silhouetting and selected pen-and-ink styles for render- ing them to be composed with other matrix products, such as scal- ing shaded perspective drawings automatically, although the actual ing and rotation. Projective points also permit re-projection to be rendering style is not the focus of our work. described as a simple matrix product. Another advantage is that points at infinity are treated as regular points. For example, in a Eu- clidean system the intersection of two parallel lines must be treated 2 Projective 2D points as a special case, while using projective points it is treated as a regular vanishing point. These properties of projective point repre- In traditional drawing programs, primitives are specified via a col- sentations give unique capabilities to our two-dimensional drawing lection of 2D points. Generally, these points are described by two system. coordinates, which can be imagined to lie on a plane. The coordi- Each stroke (or shape) in our system is stored as a list of such nates specify the position of a point relative to a specified origin and projective points obtained by back-projecting drawn image points two perpendicular basis vectors. In mathematical parlance, such to lie on the surface of a unit sphere centered about a viewpoint, points are considered Euclidean 2D points. while assuming that the drawing window subtends some solid an- This Euclidean representation of points is practically universal gle viewing port. The stroke also supports auxiliary attributes such to all 2D drawing systems. There are, however, alternative rep- as pen color and thickness. A drawing is a collection of strokes resentations of 2D points, which are not only more powerful than and shape primitives. Our projective representation allows us to Euclidean points, but also contain them as a subset. In particular, generate novel re-projections of the drawing (see Figure 1). These the set of projective 2D points can be represented using three co- re-projections can be interpreted as rotating and zooming a camera ordinates in conjunction with the following rules: the origin is ex- about a single point in a three-dimensional space. However, re- cluded, and all points of the form (a; b; c) and λ(a; b; c),whereλis projections of projective 2D points do not exhibit parallax changes non-zero, are equivalent. The subset of projective points for which resulting from changes in viewing position. a value of λ can be chosen, such that λ(a; b; c)=(λa, λb; 1),is We also use projective points to represent directions such as van- the Euclidean subset.