Druid

Sections:

Introduction

Druid is my Ph.D. dissertation, or more specifically, it is the program I developed for my Ph.D. research. Druid is a vector drawing program, like Adobe Illustrator, CorelDraw, x-fig, ivtools idraw, or MacPowerUser's iDraw. Druid stands out from the crowd in that is uses a completely novel representation for surfaces in a 2½D scene, a scene of surfaces which is fundamentally two-dimensional but which represents relative depths of surfaces in the third dimension.

About Druid

Conventional drawing programs maintain the surfaces within distinct layers in order to readily resolve which surfaces lie above other surfaces. This assumption of layers imposes a DAG, or directed acyclic graph, on the relative surface depth relation. In other words, for any given pair of surfaces in the drawing, one must be above the other at all locations in the drawing. The constraint of relying on layers, and subsequently on DAGs, prevents the natural representation of scenes of interwoven surfaces, such as the Star of David, the Olympic rings, and Celtic knots. In addition to drawings consisting of cords, like those just listed (knots), there are also many scenes of interwoven surfaces that do not conform to knots, but which are nevertheless interwoven and cannot be naturally represented in a layered representation.

Druid handles interwoven surfaces with ease because it uses a representation which does not have layers at all. In fact, Druid's representation is proven to span the full space of 2½D scenes of oriented surfaces.

In addition to having a more general representation, Druid provides a very efficient user interface. We have attempted to design a user interface which would offer affordances (the way in which an object suggests that it may be used) that are isomorphic to the affordances of idealized surfaces. In other words, actions performed through the user interface should correspond to actions that could be performed on idealized surfaces. One user interaction we focused a lot of attention on is the flip interaction, in which the relative depth of two surfaces that overlap in a particular region is inverted for that region, so that the surface that was previously above moves below the other surface. Accomplishing this task in conventional drawing programs can be extremely tedious. Doing so in Druid, on the other hand, requires a single mouse-click, the simplest conceivable user interaction a user interface can provide.

Movies

The following movies are in quicktime format:

  • Movie 1: Constructing an interwoven figure eight (34.6 MBs)
  • Movie 2: Quickly interlocking a set of initially layered rings (4.1 MBs)
  • Movie 3: Demonstration of how Druid automatically maintains a consist drawing when interlocked rings are dragged apart (6.6 MBs)

Samples

The following images illustrate some of Druid's capabilities. Note that while Druid is an excellent tool for constructing images of knots, it is not limited to knots. It can be used to construct scenes of interwoven surfaces which are merely interwoven, not necessarily knots.

Publications

Primary publications from this work

Wiley, K. B., Druid: Representation of Interwoven Surfaces in 2½D Drawing, Ph.D. Dissertation, University of New Mexico, 2006.

Wiley, K. B., and L. R. Williams, Representation of Interwoven Surfaces in 2½D Drawing, IEEE Computer Graphics and Applications, Vol. 27, No. 4, pp70-83, 2006.

Wiley, K. B., and L. R. Williams, Representation of Interwoven Surfaces in 2½D Drawing, Proc. of CHI, Conference on Human Factors in Computing Systems, Montreal, Canada, pp65-74, 2006.

Tech Reports & UNM CSGSA Conference

Wiley, K. B., and L. R. Williams, Use of Crossing-State Equivalence Classes for Rapid Relabeling of Knot-Diagrams Representing 2½D Scenes, Technical Report, Computer Science Dept, University of New Mexico, TR-CS-2006-08, Mar 2006.

Wiley, K. B., and L. R. Williams, Use of Crossing-State Equivalence Classes for Rapid Relabeling of Knot-Diagrams Representing 2½D Scenes, Proceedings of the Computer Science at UNM Student Conference, Computer Science Dept, University of New Mexico, Mar 2006.

Wiley, K. B., and L. R. Williams, Representation of Interwoven Surfaces in 2½D Drawing, Technical Report, Computer Science Dept, University of New Mexico, TR-CS-2005-33, Sep 2005. This technical report is derived from my Ph.D. proposal.

Wiley, K. B., and L. R. Williams, Drawing Interwoven Surfaces, Proceedings of the Computer Science at UNM Student Conference, Computer Science Dept, University of New Mexico, Mar 2005.

Presentation Slides

Wiley, K. B., and L. R. Williams, Druid: Representation of Interwoven Surfaces in 2½D Drawing, dissertation defense slides, Computer Science Dept, University of New Mexico, Mar 2006. Note that the Apple Keynote slides contained some "builds" and animations which did not carry over to the PDF export.

Wiley, K. B., and L. R. Williams, Druid: Representation of Interwoven Surfaces in 2½D Drawing, general presentation (job talk) slides. These slides might be slightly more accessible than the dissertation slides but for the most part they hardly differ. Note that the Apple Keynote slides contained some "builds" and animations which did not carry over to the PDF export.

Posters

Wiley, K. B., and L. R. Williams, Druid: Use of Crossing-State Equivalence Classes for Rapid Relabeling of Knot-Diagrams Representing 2½D Scenes, Computer Science at UNM Student Conference, Computer Science Dept, University of New Mexico, Mar 2006.

Wiley, K. B., and L. R. Williams, Representation of Interwoven Surfaces in 2½D Drawing, Computer Science at UNM Student Conference, Computer Science Dept, University of New Mexico, Mar 2005.