Wiki » Historique » Révision 7
Révision 6 (Baptiste Pelouas, 03/01/2015 12:00) → Révision 7/46 (Baptiste Pelouas, 03/01/2015 12:05)
Wiki
====
Présentation
============
Le principe de base
-------------------
Un peu de géométrie (niveau collège/lycée): la triangulation...
[cf. http://fr.wikipedia.org/wiki/Résolution_d'un_triangle]
Deux angles et le côté commun
![http://redmine.acolab.fr/attachments/download/43/Resolve_triangle_with_c_alpha_beta.png](Resolve ![Resolve triangle with c alpha beta.png](Resolve triangle with c alpha beta.png)
On considère un triangle dont un côté c et les deux angles α et β qui le bordent sont connus. Le dernier angle s'obtient par complément à π et les deux autres côtés par la loi des sinus :
a = \frac {c\sin\alpha}{\sin(\alpha+\beta)}
b = \frac {c\sin\beta}{ \sin(\alpha+\beta)}
\gamma = \pi-\alpha-\beta\,
S = \frac12 c^2 \, \frac{\sin\alpha\sin\beta}{\sin(\alpha+\beta)}
Vue de dessus, le point focal de la webcam {A}, l'axe de rotation du faisceau laser (plan) {B} et un point sur l'objet {C}, forme un triangle.
Les données connues:
* distance: dist(AB)
* angles: ang(CAB) et ang(ABC) (! tout les 2 inférieurs a Pi/2 !)
Les inconnues:
* distances: dist(AC) et dist(BC)
* angle: ang(ACB)
Le calcul:
* ang(ACB) = Pi - ang(CAB) - ang(ABC)
* soit H la projection de C sur [AB], donc
Le résultat escompté
--------------------
* un **nuage de points 3D coloré** (format .ply)
* ? un maillage 3D (coloré)? (format .stl)
Les composants
--------------
* un **plateau circulaire** ou l'on pose l'objet a scanner, dont on pilote l'angle de rotation.
* un **laser** (rouge classe 1 voir 2) plan vertical, dont on pilote l'angle de rotation.
* une **webcam** pour visualiser le trait(rouge) déformé émis par le laser sur l'objet.
* un arduino Uno (actuellement: un YABBAS), et divers composants électroniques pour piloter les objets ci-dessus, et faire la liaison avec le logiciel de traitement.
* une alimentation de pc ( 5 Volt principalement utilisé)
* un **logiciel** de traitement pour effectuer les calculs ( et calibrations ), et fournir le résultat. Écrit en JAVA (au vu de mes compétences en programmation et de l'espoir d'une portabilité accru).
====
Présentation
============
Le principe de base
-------------------
Un peu de géométrie (niveau collège/lycée): la triangulation...
[cf. http://fr.wikipedia.org/wiki/Résolution_d'un_triangle]
Deux angles et le côté commun
![http://redmine.acolab.fr/attachments/download/43/Resolve_triangle_with_c_alpha_beta.png](Resolve ![Resolve triangle with c alpha beta.png](Resolve triangle with c alpha beta.png)
On considère un triangle dont un côté c et les deux angles α et β qui le bordent sont connus. Le dernier angle s'obtient par complément à π et les deux autres côtés par la loi des sinus :
a = \frac {c\sin\alpha}{\sin(\alpha+\beta)}
b = \frac {c\sin\beta}{ \sin(\alpha+\beta)}
\gamma = \pi-\alpha-\beta\,
S = \frac12 c^2 \, \frac{\sin\alpha\sin\beta}{\sin(\alpha+\beta)}
Vue de dessus, le point focal de la webcam {A}, l'axe de rotation du faisceau laser (plan) {B} et un point sur l'objet {C}, forme un triangle.
Les données connues:
* distance: dist(AB)
* angles: ang(CAB) et ang(ABC) (! tout les 2 inférieurs a Pi/2 !)
Les inconnues:
* distances: dist(AC) et dist(BC)
* angle: ang(ACB)
Le calcul:
* ang(ACB) = Pi - ang(CAB) - ang(ABC)
* soit H la projection de C sur [AB], donc
Le résultat escompté
--------------------
* un **nuage de points 3D coloré** (format .ply)
* ? un maillage 3D (coloré)? (format .stl)
Les composants
--------------
* un **plateau circulaire** ou l'on pose l'objet a scanner, dont on pilote l'angle de rotation.
* un **laser** (rouge classe 1 voir 2) plan vertical, dont on pilote l'angle de rotation.
* une **webcam** pour visualiser le trait(rouge) déformé émis par le laser sur l'objet.
* un arduino Uno (actuellement: un YABBAS), et divers composants électroniques pour piloter les objets ci-dessus, et faire la liaison avec le logiciel de traitement.
* une alimentation de pc ( 5 Volt principalement utilisé)
* un **logiciel** de traitement pour effectuer les calculs ( et calibrations ), et fournir le résultat. Écrit en JAVA (au vu de mes compétences en programmation et de l'espoir d'une portabilité accru).