Pregunta

Cualquier buenas bibliotecas de cuaternión cálculos en C / C ++?

Nota al margen: los buenos tutoriales / ejemplos? He google y he estado en las primeras páginas, pero tal vez usted tiene algunas demos / laboratorios de cursos de matemáticas o CompSci se podía / deberían compartir?

Gracias

¿Fue útil?

Solución

Soy un fan de la clase cuaternión Irrlicht. Es zlib con licencia y es bastante fácil de extraer de Irrlicht:

Otros consejos

Usted podría intentar con Boost - por lo general buen lugar para empezar. Tienen una rel="noreferrer"> para eso.

En cuanto a los ejemplos se revisan la documentación y las pruebas de unidad que vienen junto con Boost.

Si decide rodar su propia, o realmente quiere entender las matemáticas detrás del código (útil para la depuración), le recomiendo sitio web de Martin Baker, . Parece primitivo, pero las explicaciones son bastante completos y fáciles de seguir, y también proporciona código en algunos lugares.

DirectX tiene su propia cuaternión funciones , al igual que varios otros bibliotecas 3D.

En mi opinión, la mejor manera de aprender cómo cuaterniones trabajo es arar a través de sus propios cálculos. La página de Wikipedia sobre cuaterniones y conversión contiene todas las fórmulas que necesita. Escribí mi propia biblioteca cuaternión de eso :) (Es en Haskell, por lo que no se molestará en publicarlo.)

Para obtener documentación sobre cuaterniones, echa un vistazo a los libros de texto de gráficos en 3D. Simplemente son matrices que producen el efecto de la rotación 3D usando la multiplicación en lugar de la trigonometría computacionalmente caro.

Esta web, espacio euclídeo , es muy importante si se está trabajando con los cuaterniones. Tiene toda la aritmética paso a paso, equivalencias, simplificaciones, ejemplos de código en diferentes idiomas. Hice la mayor parte de mis funciones en mi propio seguimiento de esta página. Prefiero que descargándolo de una biblioteca. Las funciones son fáciles de programar y se aprende en el camino.

A modo de ejemplo le sugiero que revise esta función de C ++ sobre una multiplicación de cuaterniones: Efficient C ++ multiplicación de cuaternión usando cv :: Mat

Hay grafeno que es una biblioteca sencilla C / GObject con optimizaciones SIMD para varios vector, matriz , cuaternión, cálculos, etc., que son comunes en gráficos 3D.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top