Difference between revisions of "A vision-based 3D input device for space curve"
(→Use of our System) |
|||
Line 3: | Line 3: | ||
=== Project name === | === Project name === | ||
− | A vision-based 3D input device for space | + | 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 | + | 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 | + | Alessandro Giusti [[User:AlessandroGiusti]] |
+ | Vincenzo Caglioti | ||
===== Students currently working on the project ===== | ===== Students currently working on the project ===== | ||
− | Lorenzo Mureddu | + | 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 | + | 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, | + | 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 | + | Our system can be described in a few passages. |
− | First-of-all the software automatically | + | 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 | + | 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==== | ||
− | + | Now we have a curve in a 3D modeling software, but what can we do with this? | |
− | There are really a lot of possible | + | 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. | ||
− | ==== | + | ==== 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.
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