Eigen

2013-02-23 19 views
8
'da döndürme matrisi

Vektör A'yı vektör B'ye döndüren döndürme matrisini almak için Eigen kitaplığını kullanabilir miyim? Bir süredir araştırıyorum, ancak ilgili api'yi bulamıyorum.Eigen

cevap

11

Önce, örneğin, bir quaternion oluşturmak ve daha sonra bir matrise dönüştürmek gerekir:

(A, B) 'bu' sonra ek `.toRotationMatrix() 'gerektirdiğini not değer
#include <Eigen/Geometry> 
using namespace Eigen; 

int main() { 
    Vector3f A, B; 
    Matrix3f R; 
    R = Quaternionf().setFromTwoVectors(A,B); 
} 
+0

için R' bir Matrix olduğu gibi çalışır. –

+1

Hayır, operatörün aşırı yüklenmesi var = bunu çalıştırıyor. Bununla birlikte, ilgili açık, bu nedenle 'Matrix3f R = Quaternionf(). SetFromTwoVectors (A, B); '' .toRotationMatrix() 'gerektirir ya da bir' Matrix3f (.)' Ya da açıkça belirtmek için ya da açıkça belirtmek için Matrix3f R (Quaternionf(). setFromTwoVectors (A, B)) ile; – ggael

+0

Üzgünüm hatam! Bu hafif inceliği kaçırdı. Farklılıkları açıkladığın için teşekkürler. –

İlgili konular