2009-02-03 66 views
24

對於四元數函數的任何好函數庫在C/C++中的計算?C/C++中的四元數函數庫

附註:任何好的教程/例子?我已經谷歌和前幾頁,但也許你有一些演示/實驗室compsci或數學課程,你可以/將分享?

謝謝

+5

對於四元數+1。他們真棒。 – jtbandes 2009-11-14 02:48:35

+0

http://cqrlib.sourceforge.net/ – sastanin 2014-11-20 16:24:53

回答

8

你可以嘗試與提升 - 通常是一個好的開始。他們有一個dedicated sublibrary

至於這些示例,請參閱隨Boost一起提供的文檔和單元測試。

4

與其他幾個3D庫一樣,DirectX也有自己的quaternion functions

在我看來,學習四元數如何工作的最好方法就是自己完成數學。維基百科頁面上的quaternionsconversion包含您需要的所有公式。我寫了自己的四元數函數庫(它在Haskell中,所以我不打算髮布它)。

3

有關四元數的文檔,請查看3D圖形教科書。它們只是使用乘法產生3D旋轉效果的矩陣,而不是計算上昂貴的三角函數。

7

如果您決定推出自己的,或實際想了解的代碼背後的數學時(用於調試),我強烈建議Martin Baker's website。它看起來很原始,但解釋是全面和容易遵循的,而且他還提供了代碼。

2

這個網絡,euclideanspace,是非常重要的,如果你正在使用四元數。它具有一步一步的運算,等效,簡化,不同語言的代碼示例。我在自己的頁面上完成了我自己的大部分功能。我更喜歡那個比圖書館下載更多的東西。功能易於編程,您可以在途中學習。

作爲一個例子,我建議你檢查該C++約四元數乘法函數: Efficient C++ quaternion multiplication using cv::Mat

2

graphene這是一個簡單的C/GObject的庫用SIMD最佳化的各種載體中,矩陣,四元數等計算這在3D圖形中很常見。