c++ - vehicle - vehiculos y motores de la florida
Motor de geometrĂa 3d (5)
Soy nuevo en el procesamiento de datos 3D con c ++ (o c ++ 0x) y estoy tratando de escribir aplicaciones simples, lo que permitirá procesar dichos datos (modelo, subdivisión, etc.). Estoy buscando algo así como "motor de geometría 3d", un motor que maneja con eficiencia la geometría 3D en la memoria y le da a la API la posibilidad de modificar sus componentes (vértices, puntos, polígonos (no solo triángulos), atributos de vértices, etc.). Estaba buscando algo así, pero sin suerte. ¿Podría recomendar algún motor de geometría 3D (el mejor de código abierto), que tendrá dicha API, si hay algún motor disponible de forma gratuita?
Gracias.
He tenido cierto éxito con VTK. Puede que no sea la mejor API para manejar mallas, pero funciona y tiene una funcionalidad decente para mostrarlas. Y conozco al menos algunos tipos de geometría computacional que trabajan exclusivamente con él, por lo que no puede ser del todo malo :)
Puede probar Graphite, un framework de procesamiento de geometría de código abierto, mucho más fácil de manejar que CGAL mientras proporciona Delaunay, etc.
http://alice.loria.fr/index.php?option=com_content&view=article&id=22
Esto es definitivamente más avanzado que "solo manejar triángulos y puntos", pero proporciona funcionalidades a menudo necesarias e interesantes para el procesamiento de malla.
Puedes probar http://pointclouds.org/ .
Según el sitio web: The Point Cloud Library (o PCL) es un proyecto abierto a gran escala para el procesamiento de nubes de puntos.
El marco PCL contiene numerosos algoritmos de última generación que incluyen filtrado, estimación de características, reconstrucción de superficie, registro, ajuste de modelo y segmentación.
PCL es lanzado bajo los términos de la licencia BSD y es un software de código abierto. Es gratis para uso comercial y de investigación. Estamos respaldados financieramente por Willow Garage, NVidia, Google y Toyota.
Si su principal preocupación es el procesamiento de mallas poligonales (como sugiere su pregunta, aunque "motor de geometría 3D" podría significar algo más amplio), puede examinar OpenMesh . Como mencionas C ++ 0x, supongo que no eres enemigo de las plantillas, por lo que es posible que te guste OpenMesh, ya que hace un uso intensivo de las construcciones de programación genéricas, para crear una estructura de malla fácil de usar pero aún muy eficiente. No viene con demasiados algoritmos prefabricados para el procesamiento de malla, pero algunos pueden ser un punto de partida para implementar sus propios algoritmos.
CGAL proporciona una amplia variedad de algoritmos de procesamiento de malla y viene con tipos de números personalizados para una aritmética exacta de coma flotante.