CGAL versus VTK
What is the difference between the CGAL a开发者_如何转开发nd the VTK libraries? Both incorporate a lot of the standard geometric algorithms. Can anyone list some application domains where the one is preferred over the other?
VTK is mostly targeted toward visualization (frontend). It includes some computational geometry functions out of convenience (e.g. Delaunay triangulation). It would be better suited for viewing MRI scans, visualizing large data sets, or converting point clouds / meshes from one format to another for example.
CGAL is targeted toward computational geometry (backend). It will require some type of frontend (e.g. OpenGL, VTK) to view the result. It would be better suited for molecular biology, astronomy, architectural design backends for example.
Among other differences license should be mentioned. VTK is licensed under BSD and could be used in commercial products for free. While CGAL is dual licensed under GPLv3 (most of it) and commercial license. And to use it in commercial products you should purchase commercial license or publish your sources under GPLv3 (unlikely way for commercial products).
VTK is good for scientific visualization (plotting values onto a mesh with a given colour scale), and all that goes with it (axes, filters and so on), it has quite a few tools for mesh processing and other things which paraview gives a front end to, if you want to experiment. It's no good for textures, dynamic meshes, particles and all manner of other game/VR related technologies.
精彩评论