resolveNormalsDirection.tex 1.4 KB

123456789101112131415161718
  1. \subsection{Normals > Resolve direction}
  2. \label{subsection:resolveNormalsDirection}
  3. \index{normales}
  4. \textcolor{red}{Cette fonction est une ébauche. Pour obtenir des normales signées, utilisez la méthode \textit{Estimate Normals and Curvature} de la librairie PCL via le plugin qPCL (voir \ref{subsection:qPCL}).}\\
  5. \par
  6. Cette fonction tente de résoudre le sens des normales d'un nuage de proche en proche, par propagation d'un ou plusieurs fronts sur le nuage (algorithme de type \emph{Fast Marching}).\\
  7. \par
  8. La propagation se fait sur une grille 3D (ici l'octree) et il faut donc choisir un niveau d'octree
  9. auquel appliquer l'algorithme. Le choix du bon paramètre n'est malheureusement pas évident, car un niveau
  10. faible va entraîner des cellules de taille importante, d'où une propagation aisée et rapide mais une mauvaise
  11. prise en compte des circonvolutions locales, alors qu'un niveau élevé va entraîner l'inverse. De plus, plus
  12. la propagation est difficile - i.e. par morceaux - plus le risque de voir des zones proches ayant des sens
  13. opposés est forte. Il faut donc essayer l'algorithme à différents niveaux d'octree, en commençant typiquement
  14. à 5 ou 6, puis augmenter le niveau jusqu'à trouver une valeur satisfaisante.\\
  15. \par
  16. Note: la résolution du sens des normales est au sens global près, il peut donc être nécessaire d'utiliser la fonction Invert\index{inversion} (Cf. section~\ref{subsection:invertNormals}) pour obtenir le résultat final recherché.