Partie1_Introduction.lyx 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. #LyX 2.0 created this file. For more info see http://www.lyx.org/
  2. \lyxformat 413
  3. \begin_document
  4. \begin_header
  5. \textclass book
  6. \use_default_options false
  7. \maintain_unincluded_children false
  8. \language french
  9. \language_package default
  10. \inputencoding latin9
  11. \fontencoding T1
  12. \font_roman default
  13. \font_sans helvet
  14. \font_typewriter default
  15. \font_default_family sfdefault
  16. \use_non_tex_fonts false
  17. \font_sc false
  18. \font_osf false
  19. \font_sf_scale 100
  20. \font_tt_scale 100
  21. \graphics default
  22. \default_output_format default
  23. \output_sync 0
  24. \bibtex_command default
  25. \index_command default
  26. \paperfontsize 10
  27. \spacing single
  28. \use_hyperref true
  29. \pdf_bookmarks true
  30. \pdf_bookmarksnumbered false
  31. \pdf_bookmarksopen false
  32. \pdf_bookmarksopenlevel 1
  33. \pdf_breaklinks false
  34. \pdf_pdfborder false
  35. \pdf_colorlinks true
  36. \pdf_backref false
  37. \pdf_pdfusetitle true
  38. \pdf_quoted_options "linkcolor=blue"
  39. \papersize a4paper
  40. \use_geometry true
  41. \use_amsmath 1
  42. \use_esint 1
  43. \use_mhchem 0
  44. \use_mathdots 0
  45. \cite_engine basic
  46. \use_bibtopic false
  47. \use_indices false
  48. \paperorientation portrait
  49. \suppress_date true
  50. \use_refstyle 0
  51. \index Index
  52. \shortcut idx
  53. \color #008000
  54. \end_index
  55. \leftmargin 1.5cm
  56. \topmargin 3cm
  57. \rightmargin 1.5cm
  58. \bottommargin 3cm
  59. \secnumdepth 3
  60. \tocdepth 3
  61. \paragraph_separation indent
  62. \paragraph_indentation default
  63. \quotes_language french
  64. \papercolumns 1
  65. \papersides 2
  66. \paperpagestyle fancy
  67. \tracking_changes false
  68. \output_changes false
  69. \html_math_output 0
  70. \html_css_as_file 0
  71. \html_be_strict false
  72. \end_header
  73. \begin_body
  74. \begin_layout Standard
  75. \begin_inset ERT
  76. status collapsed
  77. \begin_layout Plain Layout
  78. \backslash
  79. chapternonum{
  80. \end_layout
  81. \end_inset
  82. Introduction
  83. \begin_inset ERT
  84. status collapsed
  85. \begin_layout Plain Layout
  86. }
  87. \end_layout
  88. \end_inset
  89. \begin_inset CommandInset label
  90. LatexCommand label
  91. name "cha:Introduction"
  92. \end_inset
  93. \end_layout
  94. \begin_layout Section
  95. Présentation
  96. \begin_inset Index idx
  97. status collapsed
  98. \begin_layout Plain Layout
  99. presentation
  100. \end_layout
  101. \end_inset
  102. \end_layout
  103. \begin_layout Standard
  104. \emph on
  105. CloudCompare
  106. \emph default
  107. est un logiciel de traitement et de comparaison de nuages de points 3D
  108. denses (ainsi que de maillages triangulaires dans une certaine mesure).
  109. Son développement a été initié à partir de 2004 dans le cadre d
  110. \begin_inset Quotes ers
  111. \end_inset
  112. une thèse CIFRE financée par EDF R&D et encadrée par l
  113. \begin_inset Quotes ers
  114. \end_inset
  115. École Nationale Supérieure des Télécommunications (ENST – désormais Telecom
  116. ParisTech – laboratoire TSI, équipe TII).
  117. Il se poursuit depuis et est désormais un projet
  118. \shape italic
  119. open-source
  120. \shape default
  121. indépendant.
  122. CloudCompare n
  123. \begin_inset Quotes ers
  124. \end_inset
  125. est pas voué à un usage commercial.
  126. \begin_inset Newline newline
  127. \end_inset
  128. \end_layout
  129. \begin_layout Standard
  130. Historiquement, ce logiciel a été conçu pour traiter des nuages de points
  131. denses (tels que ceux issus d'un scanner laser 3D) dans le but de les comparer
  132. pour en extraire les différences.
  133. Il permet donc typiquement :
  134. \end_layout
  135. \begin_layout Itemize
  136. de calculer les distances locales entre deux nuages de points denses ou
  137. entre un nuage et un maillage triangulaire (figure de gauche ci-dessous)
  138. \end_layout
  139. \begin_layout Itemize
  140. de filtrer le bruit de mesure du scanner laser pour mettre en évidence les
  141. "vraies" différences (figure du milieu)
  142. \end_layout
  143. \begin_layout Itemize
  144. de segmenter les points restants en sous-ensembles correspondant à des objets
  145. distincts (figure de droite)
  146. \end_layout
  147. \begin_layout Standard
  148. \begin_inset Graphics
  149. filename images/Partie1_Introduction/illustration_CloudCompare.jpg
  150. width 90text%
  151. \end_inset
  152. \begin_inset Newline newline
  153. \end_inset
  154. \end_layout
  155. \begin_layout Standard
  156. Depuis, CloudCompare a beaucoup évolué et il offre désormais de nombreuses
  157. fonctions d'édition (transformation rigide interactive, segmentation interactiv
  158. e), de recalage automatique (type ICP), de modélisation (calcul de maillages
  159. surfaciques type Delaunay ou Poisson), de reprojection (selon le point
  160. de vue du scanner, selon une direction principale, sur un cylindre ou un
  161. cône, etc.), de calcul morphologiques (rugosité, courbure, etc.) et autres.
  162. A travers un système de plugins, l'utilisateur a aussi accès à des fonctionnali
  163. tés et librairies externes (des algorithmes issus du monde de la recherche
  164. - reconstruction de maillage par approche de type Poisson, filtrage des
  165. points non visibles, etc.
  166. - des périphériques d'acquisition comme la Kinect de Microsoft, ou encore
  167. des shaders évolués pour faciliter la visualisation des entités 3D - Eye
  168. Dome Lighting ou SSAO, etc.).
  169. \begin_inset Newline newline
  170. \end_inset
  171. \end_layout
  172. \begin_layout Standard
  173. L'originalité de
  174. \emph on
  175. CloudCompare
  176. \emph default
  177. tient à plusieurs aspects :
  178. \end_layout
  179. \begin_layout Itemize
  180. les structures de données utilisées : notamment un "octree" particulier
  181. permettant de traiter très rapidement des nuages de points volumineux (plusieur
  182. s millions de points 3D)
  183. \end_layout
  184. \begin_layout Itemize
  185. un grand nombre de choix et de méthodes pour le calcul de distance entre
  186. nuages de points ou entre un nuage et un maillage triangulaire (tous basés
  187. sur la notion de
  188. \shape italic
  189. distance au plus proche voisin
  190. \shape default
  191. )
  192. \end_layout
  193. \begin_layout Itemize
  194. la possibilité de prendre en compte les différences d'échantillonnage entre
  195. les jeux de données comparés
  196. \end_layout
  197. \begin_layout Itemize
  198. la possibilité de filtrer le bruit de mesure a postériori
  199. \end_layout
  200. \begin_layout Itemize
  201. la possibilité de prendre en compte la visibilité du scanner pour chaque
  202. jeu de données
  203. \end_layout
  204. \begin_layout Itemize
  205. la gestion de champs scalaires multiples associés à un même nuage de points
  206. (comme des distances typiquement).
  207. Ces champs scalaires peuvent être affichés par coloration dynamique des
  208. points.
  209. Ils peuvent permettre aussi de moduler l'affichage de l'entité (par filtrage
  210. des points associés à certaines valeurs) ou encore de segmenter le nuage
  211. associé.
  212. Plus généralement, ils servent d'entrée à de nombreux algorithmes, ils
  213. peuvent être composés ensembles, etc.
  214. \end_layout
  215. \begin_layout Itemize
  216. enfin, plusieurs types de rendus évolués (soit temps réel via des shaders
  217. ou
  218. \shape italic
  219. offline
  220. \shape default
  221. via un calcul de
  222. \shape italic
  223. Portion de Ciel Visible
  224. \shape default
  225. par exemple) permettent une forte amélioration de la lisibilité des données
  226. 3D à l
  227. \begin_inset Quotes ers
  228. \end_inset
  229. écran.
  230. \begin_inset Newline newline
  231. \end_inset
  232. \end_layout
  233. \begin_layout Standard
  234. Il est enfin important de noter que bien que
  235. \emph on
  236. CloudCompare
  237. \emph default
  238. soit capable de gérer des maillages triangulaires, ce type d'entité reste
  239. avant tout pour
  240. \emph on
  241. CloudCompare
  242. \emph default
  243. un nuage de points (les sommets du maillage) muni d
  244. \begin_inset Quotes ers
  245. \end_inset
  246. une structure particulière (des triangles), à côté de nombreuses autres
  247. structures (octree, kd-tree, couleurs, normales, champs scalaires, photos
  248. calibrées, etc.).
  249. L
  250. \begin_inset Quotes ers
  251. \end_inset
  252. utilisateur est donc invité à toujours garder cette particularité à l
  253. \begin_inset Quotes ers
  254. \end_inset
  255. esprit lorsqu
  256. \begin_inset Quotes ers
  257. \end_inset
  258. il utilise
  259. \emph on
  260. CloudCompare
  261. \emph default
  262. , et il devra en particulier toujours faire attention au rôle de chaque
  263. entité 3D dans les traitements proposés par ce logiciel.
  264. \end_layout
  265. \begin_layout Section
  266. Licence
  267. \begin_inset Index idx
  268. status collapsed
  269. \begin_layout Plain Layout
  270. licence
  271. \end_layout
  272. \end_inset
  273. \end_layout
  274. \begin_layout Standard
  275. Le logiciel
  276. \emph on
  277. CloudCompare
  278. \emph default
  279. est constitué de plusieurs
  280. \begin_inset Index idx
  281. status collapsed
  282. \begin_layout Plain Layout
  283. composants logiciels
  284. \end_layout
  285. \end_inset
  286. composants logiciels :
  287. \end_layout
  288. \begin_layout Itemize
  289. La librairie
  290. \series bold
  291. CClib
  292. \series default
  293. (algorithmes)
  294. \end_layout
  295. \begin_layout Itemize
  296. La librairie
  297. \series bold
  298. qCC_db
  299. \series default
  300. (base de données)
  301. \end_layout
  302. \begin_layout Itemize
  303. Le programme
  304. \series bold
  305. qCC
  306. \series default
  307. qui utilise ces librairies
  308. \begin_inset Newline newline
  309. \end_inset
  310. \end_layout
  311. \begin_layout Standard
  312. Installer et utiliser ces composants signifie que vous acceptez les termes
  313. et les conditions de leurs licences respectives.
  314. La version 2.4 et les versions antérieures de ces deux composants logiciels
  315. sont la propriété d
  316. \begin_inset Quotes ers
  317. \end_inset
  318. EDF R&D et de TELECOM ParisTech.
  319. \begin_inset Newline newline
  320. \end_inset
  321. \end_layout
  322. \begin_layout Standard
  323. \series bold
  324. Licence de la librairie CClib
  325. \series default
  326. :
  327. \begin_inset Newline newline
  328. \end_inset
  329. La librairie CClib est diffusée sous la licence GNU LGPL (GNU Lesser General
  330. Public Licence) telle qu
  331. \begin_inset Quotes ers
  332. \end_inset
  333. elle a été publiée par la FSF (Free Software Foundation) ici :
  334. \begin_inset CommandInset href
  335. LatexCommand href
  336. target "http://www.gnu.org/licenses/lgpl.html"
  337. \end_inset
  338. \begin_inset Newline newline
  339. \end_inset
  340. \end_layout
  341. \begin_layout Standard
  342. \series bold
  343. Licence de la librairie qCC_db
  344. \series default
  345. :
  346. \begin_inset Newline newline
  347. \end_inset
  348. La librairie qCC_db est diffusée sous la licence GNU GPL (GNU General Public
  349. Licence) telle qu
  350. \begin_inset Quotes ers
  351. \end_inset
  352. elle a été publiée par la FSF (Free Software Foundation) ici :
  353. \begin_inset CommandInset href
  354. LatexCommand href
  355. target "http://www.gnu.org/licenses/gpl.html"
  356. \end_inset
  357. \begin_inset Newline newline
  358. \end_inset
  359. \end_layout
  360. \begin_layout Standard
  361. \series bold
  362. Licence du programme exécutable qCC
  363. \series default
  364. :
  365. \begin_inset Newline newline
  366. \end_inset
  367. Le programme qCC est diffusé sous la licence GNU GPL (GNU General Public
  368. Licence) tel qu
  369. \begin_inset Quotes ers
  370. \end_inset
  371. elle a été publiée par la FSF (Free Software Foundation) ici :
  372. \begin_inset CommandInset href
  373. LatexCommand href
  374. target "http://www.gnu.org/licenses/gpl.html"
  375. \end_inset
  376. \begin_inset Newline newline
  377. \end_inset
  378. \begin_inset Newline newline
  379. \end_inset
  380. \end_layout
  381. \begin_layout Standard
  382. EDF R&D et TELECOM ParisTech accordent à l'utilisateur les droits d'installer
  383. et d
  384. \begin_inset Quotes ers
  385. \end_inset
  386. utiliser le logiciel
  387. \emph on
  388. CloudCompare
  389. \emph default
  390. après l'avoir téléchargé depuis le site
  391. \begin_inset CommandInset href
  392. LatexCommand href
  393. target "http://www.cloudcompare.org"
  394. \end_inset
  395. .
  396. Le logiciel
  397. \emph on
  398. CloudCompare
  399. \emph default
  400. est fourni en l
  401. \begin_inset Quotes ers
  402. \end_inset
  403. état, sans aucune garantie explicite ou implicite.
  404. Les auteurs déclinent toute responsabilité pour tout dommage direct ou
  405. indirect.
  406. L
  407. \begin_inset Quotes ers
  408. \end_inset
  409. utilisateur assume tous les risques et responsabilités quant à la qualité
  410. du logiciel
  411. \emph on
  412. CloudCompare
  413. \emph default
  414. et de son utilisation.
  415. \end_layout
  416. \begin_layout Section
  417. Installation du binaire (Windows)
  418. \begin_inset Index idx
  419. status collapsed
  420. \begin_layout Plain Layout
  421. installation
  422. \end_layout
  423. \end_inset
  424. \end_layout
  425. \begin_layout Standard
  426. \emph on
  427. CloudCompare
  428. \emph default
  429. fonctionne sous les systèmes d'exploitation Windows (XP, Vista & Seven)
  430. et Linux (Debian, Ubuntu, etc.) et pour des architectures 32 ou 64 bits.
  431. \begin_inset Newline newline
  432. \end_inset
  433. \end_layout
  434. \begin_layout Standard
  435. Les versions binaires de
  436. \emph on
  437. CloudCompare
  438. \emph default
  439. pour Windows téléchargeables sur le site officiel ne comportent pas de
  440. programme d'installation.
  441. Il suffit de décompresser l'archive .zip contenant
  442. \begin_inset Index idx
  443. status collapsed
  444. \begin_layout Plain Layout
  445. exécutable
  446. \end_layout
  447. \end_inset
  448. l'exécutable et les
  449. \begin_inset Index idx
  450. status collapsed
  451. \begin_layout Plain Layout
  452. DLL (Dynamic Link Libraries)
  453. \end_layout
  454. \end_inset
  455. DLLs.
  456. \begin_inset Newline newline
  457. \end_inset
  458. Voici la liste minimale des fichiers que vous devez trouver après décompression
  459. de l'archive :
  460. \end_layout
  461. \begin_layout Itemize
  462. qCC.exe (exécutable principal)
  463. \end_layout
  464. \begin_layout Itemize
  465. history.txt (l'historique des modifications)
  466. \end_layout
  467. \begin_layout Itemize
  468. license.txt (la licence d'utilisation)
  469. \end_layout
  470. \begin_layout Itemize
  471. CC_DLL.dll (librairie CClib)
  472. \end_layout
  473. \begin_layout Itemize
  474. QCC_DB_DLL.dll (librairie qCC_db)
  475. \end_layout
  476. \begin_layout Itemize
  477. QtCore4.dll (DLL Qt -
  478. \begin_inset CommandInset href
  479. LatexCommand href
  480. target "qt.nokia.com"
  481. \end_inset
  482. )
  483. \end_layout
  484. \begin_layout Itemize
  485. QtGui4.dll (DLL Qt -
  486. \begin_inset CommandInset href
  487. LatexCommand href
  488. target "qt.nokia.com"
  489. \end_inset
  490. )
  491. \end_layout
  492. \begin_layout Itemize
  493. QtOpenGL4.dll (DLL Qt -
  494. \begin_inset CommandInset href
  495. LatexCommand href
  496. target "qt.nokia.com"
  497. \end_inset
  498. )
  499. \begin_inset Newline newline
  500. \end_inset
  501. \end_layout
  502. \begin_layout Standard
  503. Et de manière optionnelle :
  504. \end_layout
  505. \begin_layout Itemize
  506. un certain nombre de DLLs supplémentaires nécessaires à certains plugins
  507. (freenect.dll, etc.) ou à la prise en charge de formats de fichiers (liblas.dll,
  508. etc.)
  509. \end_layout
  510. \begin_layout Itemize
  511. un sous-répertoire
  512. \shape italic
  513. plugins
  514. \shape default
  515. contenant les DLLs de chaque plugin
  516. \end_layout
  517. \begin_layout Itemize
  518. un sous-répertoire
  519. \shape italic
  520. shaders
  521. \shape default
  522. contenant les fichiers requis par certains plugins
  523. \end_layout
  524. \begin_layout Itemize
  525. un sous-répertoire
  526. \shape italic
  527. imageformats
  528. \shape default
  529. contenant les librairies nécessaires à la lecture et l'écriture de fichiers
  530. images
  531. \begin_inset Newline newline
  532. \end_inset
  533. \end_layout
  534. \begin_layout Standard
  535. Sous Linux, il faut impérativement compiler le projet pour l'utiliser (voir
  536. ci-dessous).
  537. \end_layout
  538. \begin_layout Section
  539. Compilation du projet
  540. \begin_inset Index idx
  541. status collapsed
  542. \begin_layout Plain Layout
  543. compilation
  544. \end_layout
  545. \end_inset
  546. \end_layout
  547. \begin_layout Standard
  548. L'intégralité du code de
  549. \emph on
  550. CloudCompare
  551. \emph default
  552. est écrite en C++.
  553. Le projet utilise désormais le générateur de projets de compilation
  554. \emph on
  555. CMake
  556. \emph default
  557. (
  558. \begin_inset CommandInset href
  559. LatexCommand href
  560. name "http://www.cmake.org"
  561. target "http://www.cmake.org/"
  562. \end_inset
  563. ).
  564. \begin_inset Newline newline
  565. \end_inset
  566. \end_layout
  567. \begin_layout Standard
  568. Pour compiler le projet, référez vous au
  569. \emph on
  570. wiki
  571. \emph default
  572. :
  573. \begin_inset CommandInset href
  574. LatexCommand href
  575. target "http://wwwcloudcompare.org/doc/wiki"
  576. \end_inset
  577. \begin_inset Newline newline
  578. \end_inset
  579. \end_layout
  580. \end_body
  581. \end_document