You are on page 1of 39

AN INTERACTIVE SYSTEM FOR KNOT DESIGN

インタラクティブな結び目デザインシステム

by

Puripant Ruchikachorn
ルジカジォーン プーリパン

A Master Thesis
修士論文

Submitted to
the Graduate School of the University of Tokyo
on July 30, 2008
in Partial Fulfillment of the Requirements
for the Degree of Master of Information Science and
Technology
in Computer Science

Thesis Supervisor: Takeo Igarashi 五十嵐 健夫


Associate Professor of Computer Science
ABSTRACT

We present an interactive system for designing knots that combines sketch-based interface
and physical simulation together. Knots or self-occluded three-dimensional (3-D) configura-
tions of one-dimensional (1-D) deformable objects such as rope are difficult to model using
existing 3-D modeling applications, in which many geometrical view changes and operations
are required. In our system, a knot can be created the same way it is drawn on paper by
two main gestures, “pulling over” and “pulling under”, which extend a selected 1-D structure
along the user’s drawn line over or under all other parts in a 3-D scene. With a simple
depth inference algorithm, this system allows user to tie a rope or other 1-D objects into
basic yet topologically correct 3-D knots. The integrated physical simulation provides di-
rection manipulation interface, so the user can interactively pull, tighten, and loosen a knot
while maintaining the rope’s physical properties. This allows the creation of a variety of
knots and their tightened forms by two-dimensional (2-D) input device. The combination
of a sketch-based interface for construction and physical simulation for direct manipulation
technique enhances the design process to create more satisfying results faster and easier than
using traditional geometric modeling systems or traditional physical simulation systems with
3-D input devices. Furthermore this interaction technique is shown to be applicable to 2-D
objects like cloth or ones of other domains.

論文要旨

結び目などといった、紐状のオブジェクトの3次元構造のデザインのため、我々はスケッチに
よるインタラクティブなシステムを提案する。既存の 3 次元モデリングシステムでは、結び目な
どの作成には、様々な幾何学的操作や視点操作が必要とされた。一方、本システムでは、2次元
にスケッチを描くことで、自己遮蔽の多い結び目のモデルが生成できる。重要なジェスチャーは、
「pulling over」と「pulling under」で、それぞれ、pulling over は既存のオブジェクトに上から
重なるように、pulling under は下に潜り込むように、スケッチに沿って紐を伸ばす。本システム
では単純な奥行き予測アルゴリズムを利用し、2次元スケッチと同じトポロジーを持ったモデル
の生成を実現している。また、我々は、物理シミュレーションを利用し、紐を直接ドラッグアン
ドドロップする操作を提案する。この直接操作により、2 次元スケッチだけでは表現できない様々
な結び目のモデリングや、結び目を固く縛る事などが可能になる。2次元スケッチによる初期生
成と直接操作による変形により、3次元空間で視点操作数が減り、結び目のデザインが簡単にな
る。また、提案手法は布などの2次元オブジェクトにも応用可能である。
Acknowledgements

I would like to thank Igarashi-sensei for guiding this research into the right direc-
tion. His fascinating volume of work on interactive computer graphics have been a
great inspiration to me and sparked the idea of this work. My thanks are extended to
other members of Igarashi laboratory for their helpful comments and encouragement.
I have owed too much to the Japanese Government (Monbukagakusho) Scholarship
program which has provided me not only financial support but also a chance to come to
Japan of where I had dreamed for a long time. Special thanks to Tokyo for hosting me
for two years and a half. It has provided not only accommodation, but also experiences
I had never got in my home country; Tokyo has become my second home.
However I could not have been able to stand some lonely time here without all
friendly people I have met in Japan (not necessarily Japanese). It is a great pleasure
to meet everybody. I would like to list them all here but the space does not allow me
to. Please know that I sincerely appreciate your time with me.
Also, thanks to technology, it is possible to constantly keep in touch with people
in Thailand like I had been close to them. I reserve the last but definitely not the
least gratitude to my friends and family who have patiently supported my study and
tolerated practically many years of “unemployment”. Thank you very much indeed.
Contents

1 Introduction 1

2 Related Work 5
2.1 Celtic Knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Mathematical Knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Medical-related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 2-D Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Sketch-based Modeling Systems . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Other Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 User Interface 9
3.1 Sketch-based Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1 Pulling Over. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2 Pulling Under. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Direct Manipulation Operations . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Other Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Fixing and Unfixing. . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Cutting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.3 Loosening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.4 Tightening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Implementation 15
4.1 Sketch-based Operations . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Direct Manipulation Operation. . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Other Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.1 Fixing and Unfixing. . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3.2 Cutting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.3 Loosening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

i
4.3.4 Tightening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4 Physical Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Results and User Feedback 19


5.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 User Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Conclusion 24
6.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

References 27

ii
List of Figures

1.1 Knots in loose and tightened forms. . . . . . . . . . . . . . . . . . . . 3


(a) Reef knot before and after (dangerous) capsizing. . . . . . . . . . 3
(b) Carrick bend before and after (stable) capsizing. . . . . . . . . . 3
1.2 Slipped overhand knot being created and tightened. . . . . . . . . . . 4

2.1 2-D trick to create the illusion that two rings are interlocked. . . . . . 7
(a) Two independent ropes. . . . . . . . . . . . . . . . . . . . . . . . 7
(b) Rope segment at the intersection is copied. . . . . . . . . . . . . 7
(c) The copied segment is pasted over the intersection. . . . . . . . . 7
(d) Broken illusion when one rope is moved out. . . . . . . . . . . . 7

3.1 Slipped overhand knot being created using another series of operations. 10
(a) Pulling over. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
(b) Pulling under. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
(c) Cutting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
(d) Pulling over from the middle of rope. . . . . . . . . . . . . . . . 10
(e) Loosening. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
(f) Fixing and direct manipulation. . . . . . . . . . . . . . . . . . . 10
(g) Tightening and unfixing. . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Pull-over and pull-under operations illustrated. . . . . . . . . . . . . . 12

4.1 Varied representations of a simple overhand knot. . . . . . . . . . . . . 15


(a) Connected spheres. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
(b) Mesh model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
(c) A piece of ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5.1 Many models of practical knots created by the author. . . . . . . . . . 20


(a) Double overhand knot . . . . . . . . . . . . . . . . . . . . . . . . 20
(b) Slipped overhand knot . . . . . . . . . . . . . . . . . . . . . . . . 20

iii
(c) Water knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
(d) Jam hitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
(e) Bowline knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 Loosened and tightened forms of many knots. . . . . . . . . . . . . . . 21
(a) Figure eight knot . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
(b) Threefold overhand knot . . . . . . . . . . . . . . . . . . . . . . 21
(c) Intermediate knot . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.3 Plane-filling results with self-occluded substructures. . . . . . . . . . . 21
(a) Small knots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
(b) Generated chain link fence patterns . . . . . . . . . . . . . . . . 21
5.4 Four knots in user study. . . . . . . . . . . . . . . . . . . . . . . . . . . 22
(a) Threefold overhand knot . . . . . . . . . . . . . . . . . . . . . . 22
(b) Slipped overhand knot . . . . . . . . . . . . . . . . . . . . . . . . 22
(c) Jam hitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
(d) Bowline knot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

iv
List of Tables

5.1 Average time and the number of operations used to model four target
knots in the user study. . . . . . . . . . . . . . . . . . . . . . . . . . . 23

v
Chapter 1

Introduction

Knot is a term normally defined as a product of tying or interweaving one or many


segments of linear deformable material such as rope, while mathematical definition
is stricter and includes only closed curve in 3-D space (excluding a simple circle)
whose properties are officially studies in a branch of topology called knot theory. In
fact, what we call knot is usually referred as braid in Mathematics. Knot theory
plays an important role in many applied mathematics fields to understand behaviors
of molecules and enzymes and is getting more interest in the community because of
many recent breakthroughs like Jones polynomial.
Many archaeological samples suggest that knot tying was done before historic times.
In Qing Dynasty, knot became an art form with its 3-D look, intricate pattern, and
color. This so-called Chinese knot has spread to Korea and Japan too. On the other
side of the world, Celtic knot is a certain form of stylized knot for graphical purpose
and decoration. It was firstly adopted by the ancient Celts, and later becomes a
identity of Irish, Scottish, or Welsh. Also some other stylized elements like animals or
plants are often added especially in early book decoration. Although the art of knot
tying has almost lost in the past century, it has gained popularity and many have
attempted to bring back the lost art in past twenty years.
In everyday life, knot has many practical uses that are usually overlooked such as
shoelacing. In sports and activities like sailing and rock climbing, a knot can mean
life or death. In addition to its widely recognized practicality and aesthetic, knot now
plays an important role in modern surgery too.
A logical extension to the digital world is to model these objects in virtual space.
To the computer graphics community, the more easily a complex model is created,
the richer its visual content becomes. Interwoven models such as knitwear, lace, chain

1
link fence, or a part of armor suit are commonly seen in games and movies. With
more computational power, adding such models can provide more realistic credibility
or even more correct physical interaction to graphical scene.
By its nature of self-occlusion and complicated topology, 3-D model is a suitable
medium to represent knot. Currently most knot-related books and websites provide
a series of still diagrams or photos to describe how to tie a knot. Although the mean
is easy to interpret, creating such diagrams or photos requires much preparation and
time. 3-D model is rarely used as learning material.
In traditional 3-D modeling programs, knots can be modeled by first creating a
spline in a 2-D view and then editing the depths of the necessary parts. These steps
can be confusing and counterintuitive because the depth or the relationship between
parts is usually determined during the creative process, not afterwards. In addition,
the lack of physical properties such as collision and friction does not allow the knot to
be tightened or modified as it could in reality. The knots that are created by traditional
3D modeling software packages are usually in their loosened forms as modeling a tight
knot from the start is very hard. Those knots are not of many uses because knot
is useful and found in everyday life only in its tightened form which can be totally
different from its loosened form in terms of both appearance and physical properties
as shown in Figure 1.1.
There are two main reasons why faithful models of interwoven objects have not
been widely used. One is due to technical limitation which will be overcome by faster
and more advanced technology. The other is that current modeling tools are not
designed for such objects. Existing modeling paradigm doesn ’t allow easy creation
and artists cannot freely add creative process into their work routine. Also designing
interface for knot tying is challenging as it is claimed to be difficult for normal users
because manipulating interweaving model requires a lot of creativity and practice to
give exact and economical commands [32] especially for deformable model.
The main goal of our research is to make design of 3-D knots easier by introducing
specialized user interface tailored to physical knot tying. With sketching gestures and
automatic depth inference, we can eliminate the necessity of manually setting each
control point in a traditional approach. Even in the most sophisticated 3-D modeling
systems, several geometric view changes are required to rotate working model into
proper orientation in order to set correct depth. In our system, user can create a knot
model as if drawing a knot diagram on paper from only one perspective. This system
also adds interactive physical simulation into the design process, which supports the
user’s experiments and helps in the overall visual quality of the design result.

2
(a) Reef knot before and after (dangerous) capsizing.

(b) Carrick bend before and after (stable) capsizing.

Figure 1.1: Knots in loose and tightened forms. Some postures may lead to dangerous
and slippery results.

Geometric modeling and physical simulation are usually separate processes. Typ-
ical geometric modeling systems require the user to specify each element’s position
explicitly in 3-D space and completely ignore the physical properties. Although sketch-
based modeling systems simplify the process by automatically computing various pa-
rameters from user-drawn sketches, most heuristics are geometrically motivated and
do not consider dynamic physical behaviors. In contrast, most physical simulation sys-
tems are designed to predict what will happen in a given environment by mimicking
the natural laws of physics, and are not intended to create original geometry reflecting
the user’s intention. The use of physical simulation in our system is unique in that it
is not aimed at simulating the real knot tying as in surgical simulations [8] but to help
in designing arbitrary knot configurations as in geometric modeling systems.
The combination of sketch-based interface and physical simulation is a nontrivial
contribution. Sketching is proved to be easy to learn and good at communicating
coarse information, but it is not good at specifying details. In contrast, physical
simulation can automatically compute details and guide working design into plausible
model, but overall configuration must be set manually. They fill complement each
other’s missing gap and the combination of both is natural and powerful, but not yet

3
Figure 1.2: Slipped overhand knot being created by sketch-based operations and tight-
ened by the integrated physical simulation in this system.

fully explored in previous literature.


In addition, because the resulting knot in a tightened form can be vastly different
from its clear knot diagram that shows the rope in a loosened form (Figure 1.1),
displaying the immediate result of the simulation can also indicate errors in knot tying
steps whose small mistake can lead to a different or ineffective knot, or even an unknot.
For interwoven models, knots are the most basic type, configurations of 1-D objects
embedded in 3-D space. Our system is a proof of concept that a combination of
sketch-based interface and physical simulation works well with these kinds of objects.
Modeling knot is a logical starting point for broader problem of how to interweave
objects of higher dimension. We believe that our result will be a valuable resource
for those who will work on more general problem such as configuration design for 2-D
cloth in the future. Also our interface could be directly applicable to other already
flourishing application domains of rope simulation whose rope needs to be put at
relative depth regarding other objects in its scene such as microsurgery [8] and cable
routing in car assembly simulation [15].
The rest of the thesis is organized as follows. Chapter 2 provides a brief summary
of previous literatures on various related topics. Chapter 3 and chapter 4 describe our
system’s user interface design and implementation details respectively. In chapter 5
shown are the results and user study, and chapter 6 concludes this master thesis with
discussions and future work.

4
Chapter 2

Related Work

This chapter provides a review of previous research and computer programs on related
topics. With their brief description and difference from our work, listed are work on
Celtic knot, mathematical knot, simulation in medical field, 2-D and 3-D modeling
approaches, and other related work.

2.1 Celtic Knot

The Celtic knot has been extensively studied by many enthusiasts and computer sci-
entists. Following Christian Mercat’s method, several computer programs such as
Knots3D, KnotsBag, KnotScape, and Celtic Knot Thingy for knot construction have
been released. Most of them are designed for aesthetically pleasing purposes, and
not for other interactions which require physical simulation e.g. tightening or loosen-
ing. Recently nostalgic interest in ancient maximalist art has led to a research on 2-D
computer-generated celtic design [22] which is later updated to correctly fill 3-D-model
surface with such design [23].

2.2 Mathematical Knot

Another application of knot modeling is accurate visualization and simulation of math-


ematical knots. One of the applications widely used by Mathematicians is Knotplot
[31]. Although it provides a graphical user interface for inserting links as a part of a
knot, the resulting knot is still an abstract model showing no properties of the physi-
cal object such as collision or friction and user must specify the depth of each control
point explicitly.
However there is a sketch feature in KnotPlot. Admittedly it shares a similar

5
function to our system’s, but the experience is different. KnotPlot’s sketch feature is
based on placing vertices onto 2D canvas and the user has to explicitly specify depth
by either left- or right-clicking, while our system’s modeling process resembles drawing
on paper. Our user study confirms that users can model many knots in less than a
minute by following strokes (implicitly specifying depth) in static knot diagram, which
is a common learning material for knot tying.
The main difference between KnotPlot and our system is the focus. Though Knot-
Plot is an excellent tool to study mathematical knots, it lacks many crucial features
for creating knots found in everyday life. KnotPlot cannot tighten knots. Because
knots in everyday life are commonly found (and can be of practical use only) in their
tightened forms, tightening is essential to create knot models for graphical applica-
tions mentioned in chapter 1. Firstly, there are no tightening-related operations such
as fixing or unfixing which is a metaphor of a missing hand in an intrinsically two-
hand operation like knot tying. Secondly, KnotPlot has no visual simulation of local
friction which will hold parts of a rope together. Hence, because of the different
focus, our system can create forms of knots that KnotPlot cannot. For example, with-
out painstaking manipulation, it is impossible to tie bowline knot (Figure 5.1(e) and
5.4(d)) in KnotPlot; we would get a topologically equivalent knot which looks totally
different and has other different uses.

2.3 Medical-related Work

One of the most active applications of deformable linear object simulation is in medical
field. Knot tying is an important part of suture simulation in microsurgery practice.
Several related works have studied on sophisticated deformable models [28, 33, 19, 6],
knot tying systems [29, 7], and surgery simulation systems [8]. Although these works
provide satisfyingly realistic results, they require special input devices to manipulate
deformable strings in 3-D space, while we provide solutions for commonly used 2-D
pointing devices such as mouse or trackpad. In addition, because of their specific
applications, rope or sutures in surgical simulation can be manipulated only at the
working end, while we provide manipulation of other parts for more common appli-
cations. In the other word, their tying process must be realistic; in our case, final
appearance of knot is more important and the process can be artificial. Though Real-
time Knot-tying Simulation [7] provides the fundamental base for our rope simulation,
its focus is different from ours as it doesn’t concentrate on user interface design.

6
2.4 2-D Techniques

Usually a knot is drawn on a two-dimensional (2-D) plane as a planar graph called


a knot diagram. Most are drawn by hand or by a generic drawing program that
supports layers. As all objects in a layer must have the same depth, the diagram
cannot contain self-interweaving objects without using labour-intensive tricks such as
cutting an object into many parts and assigning different layers to them in order to
set different depths as shown in Figure 2.1. To overcome this drawback, many systems
were built specifically for creating easy illusions using various stroke outlines, color
fills, and particular interaction techniques [5, 4, 14, 35, 3]. These work well in many
simple applications, but no real physical connection exists between separate parts, so
when the viewpoint is changed, all objects must again be cut and rearranged.

(a) Two independent ropes. (b) Rope segment at the intersection is copied.

(c) The copied segment is pasted over the inter- (d) Broken illusion when one rope is moved out.
section.

Figure 2.1: 2-D trick to create the illusion that two rings are interlocked. (Images
adapted from [35])

2.5 Sketch-based Modeling Systems

Most modeling systems for 3-D free-form design [18, 2] do not support self-occluded ob-
jects. Although several attempts have been made to reconstruct smooth solid shapes
from static occluding contours [36, 24, 12], because of no integrated physical sim-
ulation, no further interaction is allowed after topological inference and hence they

7
produce only non-deformable objects and limited forms of interwoven models (e.g.
loosened knots.) Although most sketch-based design systems allow the user to correct
the results by deleting parts, redrawing, or oversketching, physical objects like rope or
cloth are unlike drawings in that they require direct manipulation that follows a fast
and relatively correct physical simulation.
We are not the first to include physical simulation in the creative cycle though.
MathPad2 [20] combines 2-D mathematical sketching and basic physical simulation for
mathematics problem solving and visualization. Other works [17, 27] have integrated
cloth simulations into the interactive design process, but to our knowledge, exists
no application that incorporates self-collision of our target result, linear deformable
model.
Note here that our sketch-based gestures are similar to Drive [25], an existing
sketch-based track modeling system. Though it involves with physical object design,
it does not provide any tight coupling with physical simulation system. Anyway path
design is intrinsically different from knot design because its form and function do not
change with external force.

2.6 Other Related Work

Geometric substitution [13], which recursively replaces simple shapes with more com-
plex geometry, can be used to create intricate knot models. However, the resulting
models look good only with appropriate input geometry, and are often unpredictable.
Also geometric texture synthesis [38] and knitwear rendering [37, 10] and simulation
systems [21] can generate interwoven 3-D objects like net or cloth. Despite the beauty
of their results and their ability to show different physical properties from subtly
different details at yarn level [21], these systems lack an interactive user interface to
control and add artistic value to the modeling process. Our system allows the user to
create such models freely and can generate plane-filling structures as well (Figure 5.3).
Furthermore there are many research indirectly involved in interactive configu-
ration of 1-D flexible model as in cat’s cradle game [9] and cable and hose routing
simulation in automotive product design [15]. In these systems, usually model con-
struction is vaguely mentioned or just follows traditional modeling paradigm. Also
knot models with proper representation can be used as an input for sophisticated
robotic arm to tie real knot [26, 34, 30].

8
Chapter 3

User Interface

Our system initially has one main blank area on which the user can draw 2-D strokes,
and the corresponding result will be displayed under the same view. The user’s input
will be discarded when the mouse button is released, and the rope simulation will be
applied, gradually changing its 3-D appearance according to physical constraints (see
section 4.4 for more detail). After that, the interaction mode changes to the direct
manipulation mode, which allows users to drag or untie selected parts of any rope
on the screen, with physical simulation applied in real time. To add new rope, users
can simply deselect all parts and start drawing again as the interaction mode switches
back to the sketch-based interface.
This implicit switching between two modes is intentional in order to allow smooth
transition between two different operations which require different mindsets and pro-
vide both advantages of both world; intuitive gestures from sketch-based interface and
realistic manipulation from direct manipulation technique.
Note here that knot tying process in our system does not need to follow the laws
of physics, but the resulting knot configuration represents some physically plausible
configuration. For example, although the rope does not penetrate itself and the knot
topology is conserved, unlike knot tying in the reality, our system allows the rope to
be cut or joined freely, or its length to be extended.
Although we could have designed the system to preserve the length of the drawn
rope, we observed in early experiments that initially user often draws a short rope that
is long enough for a tightened knot, but too short for its working form. In addition, as
most knot tying diagrams display a rope with one or no working ends which implies
a rope of infinite length, we decided to extend the rope length whenever needed or
whenever possible. The main focus is at the knot itself, not the rope length, and user

9
can always use cut operation to get rid of unnecessary parts if desired.

3.1 Sketch-based Operations

While special hardware is usually used in other knot tying systems [29, 7], we stick
with universal 2-D pointing devices such as mouse and trackpad since most users are
well familiar with the apparatuses and their metaphors. The target user of our system
is a normal user who wants to create a 3-D model of self-occluded objects found in
everyday life.

(a) Pulling over. (b) Pulling under. (c) Cutting. (d) Pulling over from the
middle of rope.

(e) Loosening. (f) Fixing and direct manip- (g) Tightening and un-
ulation. fixing.

Figure 3.1: The same slipped overhand knot as shown in Figure 1.2 being created
using another series of various operations supported in our system.

10
A question in knot tying interface design is how easy and intuitive tying operations
in computer could be, compared to the same common real-world tasks which are
often in 3-D space. The fact that any knot manipulation operations can be done in a
projection plane by Reidemeister moves suggests a possibility to create and interact
with a knot by using only 2-D devices. A user interface of a system for modeling
interweaving linear deformable object can be in a form of traditional mathematical
expression (as a list of vertices and edges), but sketch-based interface with well-defined
gestures can be more intuitive, support more flexibility and artistry, and suit our target
user well.
With some distinct gestures specifically designed for self-occluded linear objects,
the depth of each part can be correctly specified. These sketch-based gestures are
inspired by the natural gestures that a human performs when tying a knot, like “pulling
under” and “pulling over”. Also similar symbols are often found in illustrated knot
diagrams and knot tying instruction as they can be clearly visualized and defined. A
user of our system who wants to tie knot from an instruction can rotate and match
a working knot with one in the diagram and use these two gestures to strictly follow
tying steps easily.
Noteworthy here that although these gestures are definitely not complete, they
reflect the most common sketching behaviors normal people do when drawing self-
overlapped figures. Although we agree that a more exhaustive set of operations could
be useful, we stick to our current two main gestures not only because they are simple
and easy to understand but also because they are sufficient. Technically, a knot con-
figuration can be represented by its (infinitely thin) central axis and even the most
complicated knot can always be projected onto 2-D plane whose all crossings are of
only two ropes, so all knot diagrams can be created by drawing a continuous line and
going over or under parts of itself.
Our modeling operations are similar to those of other 3-D sketch-based modeling
systems [18, 2]. The corresponding result is displayed directly in the same space as
the input, but in the case of our system, a linear object along a user’s sketch is created
instead of a solid model.
Sketching mode is activated when part of a rope is selected, with a big blue sphere
as indicator. When the selected part is either end of the rope, sketching extends
the model out in one direction by connecting the new stroke’s start point with the
selected point or the end of selected rope (Figure 3.1(b)). If the selected part is in the
middle of the rope, the rope is extended as if it were cut in the middle at the selected
point, with both new ends extended along an input stroke, and joined together again

11
(Figure 3.1(d)). This extension is very useful for creating a knot that can be tied by
forming a bight into a loop. Although all knots can be tied from working ends only,
some knots such as a bow tie are easier to work on a bight and loop.

Figure 3.2: Pull-over and pull-under operations illustrated.

3.1.1 Pulling Over.

When the input stroke crosses itself or other existing elements on the screen, the
new segment is pulled over the preexisting segments. In the other words, its z-depth
is increased in the direction perpendicular to and out of the screen, as shown in
Figure 3.1(a) and 3.1(d). This gesture is similar to sketching such objects on paper
when a person would usually erase any existing lines along a path and then draw a
new line on top of that path to show that this line should be over all other lines in the
drawing.

3.1.2 Pulling Under.

When part of a rope is selected and the user starts sketching, the newly generated rope
between the selected area and input stroke’s start point is extended and pulled under
all other existing elements on the screen. In the other words, its z-depth is increased
in the direction perpendicular to and into the screen as shown in Figure 3.1(b). This
gesture is similar to sketching such objects on paper when a person would usually draw
and stop drawing just before any lines meant to be over the drawn part and continue
drawing right after those lines to show that these broken paths are indeed connected.

12
3.2 Direct Manipulation Operations

When a user clicks on any part of a rope, a blue solid sphere indicates the selected
part and functions as a handle for dragging. As being dragged (Figure 3.1(f)), the
selected part is moved in the plane parallel to display screen, and other parts follow
under realistic rope constraints.

3.3 Other Operations

Since fixing, unfixing, and cutting are defined by the same interaction, we use the
place of interaction and a separate interface element (drop-down list) to select only
one of them at a time.
Undo is present in the system and reverses both the action and all simulation steps
in between.

3.3.1 Fixing and Unfixing.

Knot tying requires relatively complex maneuvers and it not only is in 3-D, but also
uses both hands. However, in contrast to two-hand text input device like keyboard,
a standard graphical input in most personal computer (PC) system has only one 2-D
pointing peripheral such as mouse or trackpad. Although the system can imply 3-D
depth from gestures, as a replacement for the missing hand, we introduce fixing as a
metaphor for the static hand holding a portion of the rope.
When the fixing mode is selected, double-clicking on any part of the rope toggles
fixing constraint. As shown in Figure 3.1(f), a red solid sphere is displayed to indicate
a fixed part. Although the fixed part is not included in the physical simulation cycle,
it can still be dragged around by direct manipulation.

3.3.2 Cutting.

This operation can cut a rope short or break a knot apart. When the cutting mode
is selected, double-clicking on any part of the rope cuts the rope at that point (Fig-
ure 3.1(c)). After cutting, either end at the cut result is selected.

3.3.3 Loosening.

Sometimes a tightened knot or loop has too small space to insert a new input stroke
easily. To open some space, an area containing no knot strand is radially expanded

13
when double-clicked as if an acute cone point is wedged into the area until the mouse
button is released (Figure 3.1(e)).

3.3.4 Tightening.

With the help of the fixing function, the user can grab a knot’s end and drag it to
tighten the knot. Otherwise the user can command “tightening” which automatically
pulls the two ends of a rope away from each other and, hence, tighten the knot.

14
Chapter 4

Implementation

Like other interactive systems with realistic physical constraints [17, 27], the result
model generated by the system does not follow the user’s input sketch directly but
instead makes adjusted strokes that are controlled by a mass-spring model.
We use standard mesh models for visualizing a knot on the screen. Internal repre-
sentation of a rope is a series of spheres connected together with forces according to
the mass-spring model. The advantage of using two representations for a model is that
working on spheres is computationally inexpensive compared to the more attractive
mesh model (Figure 4.1). Since it is straightforward and relatively fast to display the
internal structure, connected spheres, as one triangular mesh, living in both world is
not really a pain, but actually a plus.

(a) Connected spheres. (b) Mesh model. (c) A piece of ribbon.

Figure 4.1: Varied representations of a simple overhand knot.

Any operations or physical simulation updates the internal spheres by adding,


deleting, fixing, or adjusting their positions, and a new mesh model is created to be
displayed on the screen. Details of how each operation is implemented are given in
the following sections.

15
4.1 Sketch-based Operations

The user’s input stroke is projected onto a plane parallel to the screen, and each sphere
is added to the same rope if the stroke does not cross any existing ropes or objects
on screen. The case of extending a rope from either end is the same. If a part of
rope is extended from the middle, the system literally cuts the rope at that point and
repeatedly extend both cut ends along the same input stroke to join them together
again when the input stroke ends.
In the pulling-over operation, when a newly added sphere encounters other spheres
or objects in the viewing direction, the sphere and its neighbors are moved in the
direction toward the user at a predefined distance from the closest object.
In the pulling-under operation, when no other sphere or object exists in the direct
path between the selected sphere and the input stroke start point, new spheres are
placed uniformly on the sampled path and linked with other spheres generated along
the input stroke. Otherwise, newly added spheres are pushed into the screen away
from the user at a predefined distance from the farthest object.
Then the extension path is resampled to ensure that all spheres are equally spaced
and the physical simulation takes place and govern the integrity of the rope structure.
Note here that the length of rope is not conserved so the result of the 3-D rope model
length can be equal or longer than the input stroke length.

4.2 Direct Manipulation Operation.

When a sphere is grabbed and dragged, it is moved along the mouse trajectory a
maximum distance of one sphere radius per simulation cycle to prevent penetration
and topological inconsistency. After target position of the handle is set, the positions
of other spheres are adjusted to maintain the rope’s internal constraint. Our rope
motion is calculated in a follow-the-leader manner [8, 7] which helps the rope converge
to a stable configuration more quickly and act reasonably realistic, similar to a stiff
rope in an environment with no gravity.

4.3 Other Operations

4.3.1 Fixing and Unfixing.

When a sphere or more is fixed, it is moved in simulation cycle. Unfixing releases


this positional constraint. However, like a normal sphere, fixed sphere can be directly

16
grabbed and dragged around via direct manipulation interface and affect other spheres.

4.3.2 Cutting.

In current implementation, selected sphere is removed and new mesh models for both
parts are regenerated. The sum of the length of both ends is less than the original
rope, but it leads to no topological inconsistency and instead helps open up space
between two cut ends; it is a clear indicator that the selected rope is cut and allows
user to select both ends more easily.

4.3.3 Loosening.

Double-clicking on empty space creates an invisible cylinder of infinite length, perpen-


dicular to the viewing plane. The cylinder will gradually increase in size while the
mouse button is being held. Any spheres on the rope which intersects this cylinder
are moved to the surface of the cylinder along its radius. Run in parallel with the
rope simulation cycle, this operation preserves the overall rope length and gives the
impression of loosening a tightened loop or knot.

4.3.4 Tightening.

While tightening, two spheres at both ends of a rope are moved in opposite direction
with constant speed away from each other. Added kinetic energy will tighten a rope
up and will stop automatically when it is overcome by internal energy which keeps the
integrity of rope when knot is tightened.

4.4 Physical Simulation

A rope is represented as spheres connected together with a simple classical method for
rope simulation like mass-spring model. Although it cannot express twisting and other
physical properties available in newer models [28, 33, 19, 6], the mass-spring model is
easy to implement and gives satisfyingly accurate simulation result. Without much ac-
curacy or convincing experience that simulation in engineering or entertainment field
can provide, physical simulation in our system supports user design by giving immedi-
ate result and encourages user to experiment with tools and possibilities at interactive
speed. To achieve interactive performance on each computer, some parameters like
size of spheres can be adjusted. The bigger spheres are, the less integrity conserving
and collision detection costs are. Also the model will be coarser and faster to display.

17
Like elements in normal mass-spring model, the spheres are linked with invisible
springs whose force is linearly proportional to the difference between its rest length and
the distance of two connected spheres. Two types of springs connect spheres on the
same rope. First, stiff springs are attached to all pairs of neighboring spheres. Second,
much weaker springs connect all pairs of next-nearest neighbor spheres to provide the
bending effect.
Also repulsive force is calculated in the same cycle and used as a method of collision
detection here. The repulsive force is inversely proportional to distance of any pair of
spheres (excluding neighbors) which touch each other.
We follow discrete simulation steps widely used in many major systems including
Brown et al.’s knot tying simulation system [7]. By adjusting multiplying factors to
keep all ropes behave reasonably robust and topologically correct, all internal and
external forces, both attractive and repulsive, are combined, applied once in each
simulation cycle, and solved by the forth-order Runge-Kutta method to obtain velocity
and position of each sphere.
To prevent even the smallest penetration, which could dramatically change the
topology of the model, a sphere cannot move farther than its radius in each simulation
step. Hence, the smaller the spheres are, the slower the rope can be manipulated in
one step and more steps are required to complete a move of the same distance. Note
that rope surfaces can still contact or even sink into each other, but the relaxation
process, which includes collision detection and runs in every simulation cycle, will pull
them apart and not allow further sinking that could lead to penetration.
Collision detection not only pulls penetrating spheres back, but also sets their
velocity to zero, which effectively stops colliding spheres from moving in the next
cycle. In addition to preventing recurrent collisions, the rope surface seems “sticky”
or gives the visual impression of possessing friction. This is a desirable effect because
it adds more realism and prevents knot from loosening.

18
Chapter 5

Results and User Feedback

Our system is implemented in Java and runs at interactive speed on a 1.0 GHz Pow-
erPC computer. As shown in Figure 5.1 and Figure 5.2, we used the system to design
many basic practical knots that commonly appear in knot-tying books and websites.
The result model of our system is mesh model, so it can be easily exported, used in
other systems, or added in 3-D scenes even as a static decoration.

5.1 Results

The number of strokes used to create a knot model depends on its complexity and
how to tie it. Most examples in this thesis require 3-4 strokes to model. Other
operations were used only sparingly to correct some errors or set the final shapes of
the results. Most of them took less than a minute to create and a few more minutes
to be properly tightened and nicely posed for later use as an image in a publication
or website. Usually tightening takes approximately two minutes to converge at a
simulation rate of 30 cycles per second in typical examples of roughly 200 spheres.
Most of the computation time is spent on collision detection, and the rope moves
much more slowly when multiple contacts are present between surfaces.

5.2 User Feedback

We have conducted an informal user study to test our system. Eight first-time users
(mainly graduate students in computer science) were given a brief demonstration of all
features in the system, a five-minute tutorial under our guidance, and tasks to model
four basic knots from images of their loosened forms. All tasks were completed within
a few minutes. Figure 5.4 shows the target knots shown to a user and his resulting

19
(a) Double overhand knot (b) Slipped overhand knot

(c) Water knot (d) Jam hitch

(e) Bowline knot

Figure 5.1: Many models of practical knots created by the author.

knots, and Table 5.1 shows average time and the number of operations the users used
to create target models. Generally we got positive feedback from the users. They
said that the gestures are easy-to-understand as they follow familiar symbols in knot
diagrams. One test user mentioned that modeling knot with relative depth inference
seems much easier than using spline tool available in traditional applications. And
some users had absolutely no idea how to create such models otherwise. However there
were complaints related to the system’s technical limitations such as slow tightening

20
(a) Figure eight knot (b) Threefold overhand knot (c) Intermediate knot

Figure 5.2: Loosened and tightened forms of many knots.

(a) Small knots

(b) Generated chain link fence patterns

Figure 5.3: Plane-filling results with self-occluded substructures.

and wiggling initial rope appearance, though the wrinkle will be eventually resolved
after a few simulation cycles.
The user study clearly shows the advantage of our interface as a knot can be
created in many ways. Some used the automatic depth implication implemented in
our gestures, while others preferred rotating and direct manipulation interface. Our
system allows these approaches or even a combined one in our exploratory interface
space. (See Figure 1.2 and 3.1 for two different ways to tie a slipped overhand knot.)

21
(a) Threefold overhand knot

(b) Slipped overhand knot

(c) Jam hitch

(d) Bowline knot

Figure 5.4: Four knots we asked all test users to create in our user study. Shown
in each subfigure are static target knot drawing, a test user’s loosened and tightened
results respectively.

22
Table 5.1: Average time and the number of operations used to model four target knots
in the user study.
Avg. time Avg. time The number
The number
to model to tighten of fixed
of strokes
(second) (second) parts
Threefold overhand knot 13 116 4 0
Slipped overhand knot 18 87 3 2
Jam hitch 34 127 5 2
Bowline knot 41 92 4 3

We believe that most computer users will quickly master our set of gestural operations
as they follow familiar symbols in knot diagrams. Since it uses a standard pointing
device like a mouse to build on the users’ acquaintance with the 2-D input space, the
system presents a gentler learning curve than a system with unfamiliar 3-D hardware.
Regarding knot tightening, the user doesn ’t have to fix loop in order to tighten
because friction behavior is also implemented in the system; if the loop is big enough,
it will not get collapsed before the knot is tightened. Anyway fixing the loop can
ensure that its size will be constant and the tightening may converge faster. A user
can determine parts to fix easily as they are the same parts one would hold to prevent
a loop in a real knot from collapsing. (Usually they are the beginning and the end of
a loop.)

23
Chapter 6

Conclusion

In conclusion, this master thesis presents the problem of creating self-overlapped 3-


D models which are usually created by using unfamiliar 3-D input hardware which
limits its use in surgical training. Our system suggests another possibility of using
common 2-D pointing devices with intuitive combination of sketch-based interface and
physical simulation to achieve such a task. The designed interface is based on widely
understood symbols used in hand-drawn knot diagram; hence it is easy to understand
even for novice users and allows them to create fairly complex models within few
minutes. With many plausible extensions into designing similar system for objects of
other classes like 2-D cloth, we hope that this research has paved the way for other
user interfaces designed for creating and manipulating self-overlapped or interweaving
objects.

6.1 Limitations

Like many other sketch-based systems, our gesture commands are limited to basic ones
that are easy to understand by most users. For example, our pull operations can go
either over or under all other objects on the screen, but not in between. We believe
that the set of operations provided in the system is adequate for novice users, but also
agree that more extensive operations would satisfy serious enthusiasts and scientists
working in professional fields like surgery simulation.
Regarding performance issue, collision detection is the most obvious bottleneck in
our system as it can slow down the system drastically if a knot is tightened and has
many contacting surfaces. One way to solve this problem is to apply more sophisti-
cated schemes such as continuous collision detection and algorithm to speed up the
performance to cope with more ropes and detailed models. Also other more physi-

24
cally accurate models can be applied to the system in the future in order to represent
various types of ropes.
However, though rope simulation is an important part in our system, it should be
considered as a mean but not an end. We acknowledge the performance issue of our
simulation, but we want to emphasize again that our contribution is in the unique
combination of both sketch-based interface and physical simulation, not one of each
own.
Currently, our system accepts only ropes with constant width along its length and
all of them must have an equal predefined diameter. Also they all have the same set of
other properties like coefficient of friction and reflectance distribution attribute. This
leaves out the possibility of simulating knots made by different types of ropes. The
only parameter we allow for different ropes is color and it can be set only in color
chart before drawing stroke for new rope. Letting user choose these properties freely
is interesting, but simple and intuitive interface for multivariate environment is still
an active field of research in user interface.

6.2 Future Work

In addition to faster and more accurate simulation result we will gain from using
sophisticated models as mentioned in section 6.1, the system can calculate many im-
portant values such as the knot efficiency, a ratio of breaking strength of the knotted
and unknotted rope, along with each knot model. Despite its increased computational
complexity, using an adaptive model [16, 19] could help improve interactive perfor-
mance.
Our current implementation can generate step-by-step tying instructions for a knot
by capturing all important events before a newly drawn rope segment crosses over or
under existing ones. However, these pictures of knot tying in progress may not reflect
how a knot is actually tied because some steps may be repetitive and can be eliminated
for clearer understanding, while other minor steps are so important that they should
be magnified and explained in detail. One of our future work is to design a smart
system that can generate step-by-step instructions specifically for self-overlapped and
interwoven models similar to the system proposed by Agrawala et al. [1].
Also we want to extend the capability of current system to cover wider range of
objects of other classes such as cloth in order to demonstrate other possibilities of the
combination of sketch-based interface and physical simulation we has begun exploring.
Though we can map existing results onto 2-D cloth as shown in Figure 4.1(c), modeling

25
bow tie or necktie is still an open challenging problem without another set of intuitive
operations for 3-D orientation of 2-D objects like face flipping or folding.
Lastly we plan to talk with real knot tyers and aficionados or those who tie knot
as hobby to ask for comments and perform real evaluation with them. This is a very
important step to guide our work into the right direction in the future.

26
References

[1] Maneesh Agrawala, Doantam Phan, Julie Heiser, John Haymaker, Jeff Klingner,
Pat Hanrahan, and Barbara Tversky. Designing effective step-by-step assembly
instructions. In SIGGRAPH ’03: ACM SIGGRAPH 2003 Papers, pp. 828–837,
2003.

[2] A. Alexe, V. Gaildrat, and L. Barthe. Interactive modelling from sketches using
spherical implicit functions. In AFRIGRAPH ’04, pp. 25–34, 2004.

[3] Paul Asente, Mike Schuster, and Teri Pettit. Dynamic planar map illustration.
ACM Trans. Graph., Vol. 26, No. 3, p. 30, 2007.

[4] Ronen Barzel. Faking dynamics of ropes and springs. IEEE Comput. Graph.
Appl., Vol. 17, No. 3, pp. 31–39, 1997.

[5] P. Baudelaire and M. Gangnet. Planar maps: an interaction paradigm for graphic
design. In CHI ’89, pp. 313–318, 1989.

[6] Miklós Bergou, Max Wardetzky, Stephen Robinson, Basile Audoly, and Eitan
Grinspun. Discrete elastic rods. ACM Trans. Graph., Vol. 27, No. 3, pp. 1–12,
2008.

[7] Joel Brown, Jean-Claude Latombe, and Kevin Montgomery. Real-time knot-tying
simulation. Vis. Comput., Vol. 20, No. 2, pp. 165–179, 2004.

[8] Joel Brown, Kevin Montgomery, Jean-Claude Latombe, and Michael Stephanides.
A microsurgery simulation system. In MICCAI ’01, pp. 137–144, 2001.

[9] R. Budiarto, M. Yamada, H. Itoh, and H. Seki. An interactive system for con-
structing cat’s cradle string diagram using ga. Computers and Industrial Engi-
neering, Vol. 31, pp. 939–943(5), October 1995.

27
[10] Yanyun Chen, Stephen Lin, Hua Zhong, Ying-Qing Xu, Baining Guo, and Heung-
Yeung Shum. Realistic rendering and animation of knitwear. IEEE Transactions
on Visualization and Computer Graphics, Vol. 9, No. 1, pp. 43–55, 2003.

[11] Joseph Jacob Cherlin, Faramarz Samavati, Mario Costa Sousa, and Joaquim A.
Jorge. Sketch-based modeling with few strokes. In SCCG ’05, pp. 137–145, New
York, NY, USA, 2005. ACM.

[12] Frederic Cordier and Hyewon Seo. Free-form sketching of self-occluding objects.
IEEE Computer Graphics and Applications, Vol. 27, No. 1, pp. 50–59, 2007.

[13] Andrew Glassner. A tutorial on geometric replacements. IEEE Computer Graph-


ics and Applications, Vol. 12, No. 1, pp. 22–36, January 1992.

[14] Andrew Glassner. Celtic knots, part 1–2. IEEE Computer Graphics and Appli-
cations, Vol. 19, No. 5–6, 1999.

[15] Mireille Grégoire and Elmar Schömer. Interactive simulation of one-dimensional


flexible parts. In SPM ’06, pp. 95–103, 2006.

[16] E. Hergenroether and P. Daehne. Real-time virtual cables based on kinematic


simulation. In WSCG 2000, pp. 402–409, University of West Bohemia, Plzen,
Czech Republic, February 2000.

[17] Takeo Igarashi and John F. Hughes. Clothing manipulation. In UIST ’02, pp.
91–100, 2002.

[18] Takeo Igarashi, Satoshi Matsuoka, and Hidehiko Tanaka. Teddy: a sketching
interface for 3d freeform design. In SIGGRAPH ’99, pp. 409–416, 1999.

[19] Matthias Teschner Jonas Spillmann. An adaptive contact model for the robust
simulation of knots. In Computer Graphics Forum (Proceedings of Eurographics),
Vol. 27, 2008.

[20] Jr. Joseph J. LaViola and Robert C. Zeleznik. Mathpad2: a system for the
creation and exploration of mathematical sketches. ACM Trans. Graph., Vol. 23,
No. 3, pp. 432–440, 2004.

[21] Jonathan M. Kaldor, Doug L. James, and Steve Marschner. Simulating knitted
cloth at the yarn level. ACM Trans. Graph., Vol. 27, No. 3, pp. 1–9, 2008.

28
[22] Matthew Kaplan and Elaine Cohen. Computer generated celtic design. In EGRW
’03, pp. 9–19, Aire-la-Ville, Switzerland, Switzerland, 2003. Eurographics Associ-
ation.

[23] Matthew Kaplan, Emil Praun, and Elaine Cohen. Pattern oriented remeshing for
celtic decoration. In PG ’04, pp. 199–206, Washington, DC, USA, 2004. IEEE
Computer Society.

[24] Olga A. Karpenko and John F. Hughes. Smoothsketch: 3d free-form shapes from
complex sketches. In SIGGRAPH ’06: ACM SIGGRAPH 2006 Papers, pp. 589–
598, 2006.

[25] James McCrae and Karan Singh. Sketching piecewise clothoid curves. EURO-
GRAPHICS Workshop on Sketch-Based Interfaces and Modeling, 2008.

[26] Maiko Miyazaki and Katsushi Ikeuchi. Knotting rope by learning from visual
examples. Technical report, IPSJ SIG Technical Reports, 2005.

[27] Yuki Mori and Takeo Igarashi. Plushie: an interactive design system for plush
toys. In SIGGRAPH ’07: ACM SIGGRAPH 2007 papers, p. 45, 2007.

[28] D. Pai. Strands: Interactive simulation of thin solids using cosserat models.
In Computer Graphics Forum, 21(3):347–352, 2002. Proceedings of Eurograph-
ics’02., 2002.

[29] J. Phillips, A. Ladd, and L. Kavraki. Simulated knot tying. In IEEE International
Conference on Robotics and Automation, May 2002.

[30] M. Saha and P. Isto. Motion planning for robotic manipulation of deformable
linear objects. In Proc. IEEE Int. Conf. on Robotics and Automation (ICRA),
Orlando, FL, 2006.

[31] Robert G. Scharein. Interactive Topological Drawing. PhD thesis, Department of


Computer Science, The University of British Columbia, 1998.

[32] C. H. Séquin. Analogies from 2d to 3d, exercises in disciplined creativity. In


BRIDGES - Mathematical Connections in Art, Music, and Science, July 1999.

[33] J. Spillmann and M. Teschner. Corde: Cosserat rod elements for the dynamic
simulation of one-dimensional elastic objects. In SCA ’07, pp. 63–72, 2007.

29
[34] Hidefumi Wakamatsu, Eiji Arai, and Shinichi Hirai. Knotting/unknotting ma-
nipulation of deformable linear objects. Int. J. Rob. Res., Vol. 25, No. 4, pp.
371–395, 2006.

[35] Keith Wiley and Lance R. Williams. Representation of interwoven surfaces in 2


1/2 d drawing. In CHI ’06, pp. 65–74, 2006.

[36] Lance R. Williams. Topological reconstruction of a smooth manifold-solid from


its occluding contour. Int. J. Comput. Vision, Vol. 23, No. 1, pp. 93–108, 1997.

[37] Ying-Qing Xu, Yanyun Chen, Stephen Lin, Hua Zhong, Enhua Wu, Baining Guo,
and Heung-Yeung Shum. Photorealistic rendering of knitwear using the lumislice.
In SIGGRAPH ’01, pp. 391–398, 2001.

[38] Kun Zhou, Xin Huang, Xi Wang, Yiying Tong, Mathieu Desbrun, Baining Guo,
and Heung-Yeung Shum. Mesh quilting for geometric texture synthesis. In SIG-
GRAPH ’06: ACM SIGGRAPH 2006 Papers, pp. 690–697, 2006.

30

You might also like