Difference between revisions of "A vision-based 3D input device for space curve"

From AIRWiki
Jump to: navigation, search
(Use of our System)
Line 3: Line 3:
 
=== Project name ===
 
=== Project name ===
  
A vision-based 3D input device for space curve
+
A vision-based 3D input device for space curves
  
 
=== Project short description ===
 
=== Project short description ===
  
This project is aimed at designing a tangible input device for the reconstruction of a space curve in a 3D modeling software. The idea behind this project is to create a system in where users can physically manipulate a flexible wire for obtain a desired shape in a 3D modeling software.  In particular the developed software is able to release a photo of the tube using a camera connected remotely, and, starting from that single image, it can find the 3D shape of the curve. After the reconstruction, the curve is automatically imported in a 3D modeling software and it's mathematically elaborated for being easily usable.  
+
This project is aimed at designing a tangible input device for the reconstruction of a space curve in a 3D modeling software. The idea behind this project is to create a system in where users can physically manipulate a flexible wire for obtain a desired shape in a 3D modeling software.  In particular the developed software is able to shot a photo of the tube using a camera connected remotely, and, starting from that single image, it can find the 3D shape of the curve. After the reconstruction, the curve is automatically imported in a 3D modeling software and it's mathematically processed for being easily usable.  
  
 
=== Dates ===
 
=== Dates ===
Line 18: Line 18:
 
===== Project head =====
 
===== Project head =====
  
Alessandro Giusti- [[User:AlessandroGiusti]]
+
Alessandro Giusti [[User:AlessandroGiusti]]
 +
Vincenzo Caglioti
  
 
===== Students currently working on the project =====
 
===== Students currently working on the project =====
  
Lorenzo Mureddu- [[User:LorenzoMureddu]] as a project for course Laboratorio Software, prof.ssa Bolchini
+
Lorenzo Mureddu [[User:LorenzoMureddu]] as a project for course Laboratorio Software, prof.ssa Bolchini
  
 
===== Students who worked on the project in the past =====
 
===== Students who worked on the project in the past =====
 +
 +
Lorenzo Mureddu [[User:LorenzoMureddu]] as a 1st level thesis
  
 
== '''Part 2: project description''' ==
 
== '''Part 2: project description''' ==
Line 32: Line 35:
 
Human-computer Interaction is a serious problem regarding the 3D modeling.  
 
Human-computer Interaction is a serious problem regarding the 3D modeling.  
  
There are a lot of instruments for work in 3D space, but no-one of them has become the stardard due to difficulties in the interaction with a 6DOF (Degree of Freedom) world.
+
There are a lot of instruments for work in 3D space, but no-one of them has become the stardard due to difficulties in the interaction with a 6DOF (Degree of Freedom) world.
  
 
During this project we want to produce a system for an user friendly input device of a 3D curve.  
 
During this project we want to produce a system for an user friendly input device of a 3D curve.  
Line 39: Line 42:
 
The manipulable support adopted allows the user to define the 3D shape with his own hands, having a real object as an instrument, unlike what happens with devices requiring the user to draw a trajectory (with some visible marker) in the space.
 
The manipulable support adopted allows the user to define the 3D shape with his own hands, having a real object as an instrument, unlike what happens with devices requiring the user to draw a trajectory (with some visible marker) in the space.
  
The system is composed by a piece of flexible, circularsection wire, which the user bends to the desired shape, and a digital camera.  
+
The system is composed by a piece of flexible, circular-section wire, which the user bends to the desired shape, and a digital camera.  
  
 
The photo of the bent wire is used to reconstruct its shape, which is the output of our system.  
 
The photo of the bent wire is used to reconstruct its shape, which is the output of our system.  
Line 46: Line 49:
 
==== The system at work ====
 
==== The system at work ====
  
Our system can be resumed in a few passages.
+
Our system can be described in a few passages.
First-of-all the software automatically release a photo to the manipulated wire using the camera connected remotely.
+
First-of-all the software automatically shots a photo to the manipulated wire using the camera connected remotely.
  
 
On a second phase, our software reconstruct the shape of the curve in form of spline using an  
 
On a second phase, our software reconstruct the shape of the curve in form of spline using an  
ad-hoc alghoritm written, by now, in Matlab. In this phase the spline is modified according to some values chosen by the user: 3 coordinates to define the initial point of the curve and 3 angles to define the direction.
+
ad-hoc alghoritm written in Matlab (at present). In this phase the spline is modified according to some values chosen by the user: 3 coordinates to define the initial point of the curve and 3 angles to define the direction.
  
 
In third place the spline is imported and visualized in Blender (a famous 3d modelng software) as a Bézier curve. The curve that we obtain can be view as a line or as a tube, according with users needs.  
 
In third place the spline is imported and visualized in Blender (a famous 3d modelng software) as a Bézier curve. The curve that we obtain can be view as a line or as a tube, according with users needs.  
Line 66: Line 69:
 
==== Use of our System====
 
==== Use of our System====
  
Well, now we have a curve in a 3D modeling software, but what can we do with this?
+
Now we have a curve in a 3D modeling software, but what can we do with this?
There are really a lot of possible use of a 3D curve:
+
There are really a lot of possible uses of a 3D curve:
  
 
* For example users can use it simply for delineate a tube in a 3D scene.  
 
* For example users can use it simply for delineate a tube in a 3D scene.  
Line 75: Line 78:
 
* Finally users can use a curve to deform an object, so to create a complex object with the shape of the curve obtained thanks to our software.
 
* Finally users can use a curve to deform an object, so to create a complex object with the shape of the curve obtained thanks to our software.
  
==== Appendum ====
+
==== Addendum ====
  
 
* Lorenzo Mureddu's graduation thesis in italian "Progetto e sviluppo di un sistema di input manipolabile per curve 3d" [[media:tesi.pdf]]
 
* Lorenzo Mureddu's graduation thesis in italian "Progetto e sviluppo di un sistema di input manipolabile per curve 3d" [[media:tesi.pdf]]

Revision as of 11:20, 27 June 2008

Part 1: project profile

Project name

A vision-based 3D input device for space curves

Project short description

This project is aimed at designing a tangible input device for the reconstruction of a space curve in a 3D modeling software. The idea behind this project is to create a system in where users can physically manipulate a flexible wire for obtain a desired shape in a 3D modeling software. In particular the developed software is able to shot a photo of the tube using a camera connected remotely, and, starting from that single image, it can find the 3D shape of the curve. After the reconstruction, the curve is automatically imported in a 3D modeling software and it's mathematically processed for being easily usable.

Dates

Start date: 2007/09/20

End date: ongoing

People involved

Project head

Alessandro Giusti User:AlessandroGiusti Vincenzo Caglioti

Students currently working on the project

Lorenzo Mureddu User:LorenzoMureddu as a project for course Laboratorio Software, prof.ssa Bolchini

Students who worked on the project in the past

Lorenzo Mureddu User:LorenzoMureddu as a 1st level thesis

Part 2: project description

Introduction

Human-computer Interaction is a serious problem regarding the 3D modeling.

There are a lot of instruments for work in 3D space, but no-one of them has become the stardard due to difficulties in the interaction with a 6DOF (Degree of Freedom) world.

During this project we want to produce a system for an user friendly input device of a 3D curve. The goal is to digitize a space curve whose shape is physically defined by the user.

The manipulable support adopted allows the user to define the 3D shape with his own hands, having a real object as an instrument, unlike what happens with devices requiring the user to draw a trajectory (with some visible marker) in the space.

The system is composed by a piece of flexible, circular-section wire, which the user bends to the desired shape, and a digital camera.

The photo of the bent wire is used to reconstruct its shape, which is the output of our system. Although counter-intuitive, single-image 3D reconstruction of the wire shape is possible by using its tube-like geometry (called canal surface) and its perspective effects.

The system at work

Our system can be described in a few passages. First-of-all the software automatically shots a photo to the manipulated wire using the camera connected remotely.

On a second phase, our software reconstruct the shape of the curve in form of spline using an ad-hoc alghoritm written in Matlab (at present). In this phase the spline is modified according to some values chosen by the user: 3 coordinates to define the initial point of the curve and 3 angles to define the direction.

In third place the spline is imported and visualized in Blender (a famous 3d modelng software) as a Bézier curve. The curve that we obtain can be view as a line or as a tube, according with users needs.

At this point our software offer another feature: it can easily build complex structures formed by many curves. Users have to choose first which point of a curve should be used for the beginning of another one, and secondly 3 angles to define how the curves should be directed by each other.

a multi-tube structure

Use of our System

Now we have a curve in a 3D modeling software, but what can we do with this? There are really a lot of possible uses of a 3D curve:

  • For example users can use it simply for delineate a tube in a 3D scene.
  • Otherwise a curve can be used to make a path that an object can follow, included the virtual camera.
  • Finally users can use a curve to deform an object, so to create a complex object with the shape of the curve obtained thanks to our software.

Addendum

  • Lorenzo Mureddu's graduation thesis in italian "Progetto e sviluppo di un sistema di input manipolabile per curve 3d" media:tesi.pdf