an interactive system for knot design インタラクティブな結び目デザインシステム

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

Upload: puripant

Post on 11-Apr-2015

1.136 views

Category:

Documents


0 download

DESCRIPTION

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) configurations 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 direction 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次元オブジェクトにも応用可能である。

TRANSCRIPT

Page 1: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 2: An Interactive System for Knot Design インタラクティブな結び目デザインシステム
Page 3: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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次元オブジェクトにも応用可能である。

Page 4: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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.

Page 5: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 6: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 7: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 8: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 9: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

List of Tables

5.1 Average time and the number of operations used to model four target

knots in the user study. . . . . . . . . . . . . . . . . . . . . . . . . . . 23

v

Page 10: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 11: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 12: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 13: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 14: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 15: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 16: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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-

section.

(d) Broken illusion when one rope is moved out.

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

Page 17: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 18: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 19: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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-

ulation.

(g) Tightening and un-

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

Page 20: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 21: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 22: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 23: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 24: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 25: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 26: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 27: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 28: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 29: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 30: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 31: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

(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

Page 32: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

Table 5.1: Average time and the number of operations used to model four target knots

in the user study.Avg. time

to model

(second)

Avg. time

to tighten

(second)

The number

of strokes

The number

of fixed

partsThreefold 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

Page 33: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 34: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 35: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 36: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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] Miklos 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

Page 37: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

[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 Gregoire and Elmar Schomer. 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

Page 38: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

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

Page 39: An Interactive System for Knot Design インタラクティブな結び目デザインシステム

[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