2012-02-05 18 views
11

Estoy buscando una biblioteca de geometría fácil de usar y bien documentada en C++. Me gustaría utilizarlo en la percepción 3D de que estoy tratando con nubes de puntos. Las transformaciones de coordenadas, las rotaciones y las traducciones son mi preocupación especial ahora. ¿Cualquier sugerencia?Biblioteca de geometría en C++

+1

En [softwarerecs.se]: [Biblioteca de geometría para C++] (http://softwarerecs.stackexchange.com/q/16702/60) – unor

Respuesta

9

Una biblioteca muy potente es cgal. Algunas de las funciones en opengl también pueden ser útiles.

+5

Tenga cuidado con la licencia de cgal, si eso es motivo de preocupación. Tuve que pasarlo al considerar bibliotecas de geometría debido al requisito de licencia comercial. – tpg2114

+2

Algunas partes de cgal se liberan bajo LGPL y algunas bajo QPL, el acuerdo de licencia comercial es 'En los casos en que las restricciones de la licencia de Código abierto impiden el uso de CGAL'. Hasta ahora no he tenido problemas con la licencia, pero al igual que con todas las bibliotecas, hay que prestar atención a la licencia antes de decidir cuál es la mejor alternativa. –

+1

Eche un vistazo a http://www.geometrictools.com/ si está buscando una licencia menos restrictiva. Puede que no haga todo lo que hace CGAL, pero es muy limpio y bastante completo con una licencia de Boost. – Kaganar

6

Salida Boost::Geometry

Tiene algunas definiciones de puntos básicos y sistemas, así como los cálculos de distancia de coordenadas. Desde allí puede extenderlo según sea necesario.

También hay algunas rutinas de intersección y elementos para encontrar cascos convexos a partir de nubes de puntos.

+0

la fraseología 'definiciones básicas de puntos' podría ser un poco engañosa :) OMI allí es poco 'básico' sobre los sistemas de coordenadas de Boost Geometry – sehe

6

Echa un vistazo this site. Le brinda una muy buena descripción de las bibliotecas de geometría existentes, incluso con algunos pros y contras.

Actualización: Y también puede echar un vistazo a Point Cloud Library. Es una biblioteca bastante nueva para trabajar con nubes de puntos, fácil de entender y con muchos buenos tutoriales para empezar.

1

Si usted está buscando una biblioteca ligera, potente y echar un vistazo a:

http://www.renishaw.com/geometricmodelling/

+5

Si bien parece que su biblioteca podría ser una buena respuesta a la pregunta, le agradeceríamos que nos revelara su afiliación al producto aquí, y tal vez un poco más de detalles sobre por qué sería una buena opción para esta aplicación. Nuestras pautas para la promoción se pueden encontrar aquí: http://meta.stackexchange.com/a/59302/135615 –

2

Si va a renderizar sus geometrías en una pantalla VGA, le recomiendo encarecidamente que utilice la biblioteca Microsoft DirectX, que es la mejor para la representación de gráficos. De lo contrario, solo vaya con la biblioteca Boost :: Geometry que sería suficiente para su propósito.