2013-02-23 26 views
8

में रोटेशन मैट्रिक्स क्या मैं रोटेशन मैट्रिक्स प्राप्त करने के लिए ईजिन लाइब्रेरी का उपयोग कर सकता हूं जो वेक्टर ए को वेक्टर बी तक घुमाता है? मैं थोड़ी देर के लिए खोज कर रहा हूं, लेकिन संबंधित एपीआई नहीं मिल रहा है।ईजिन

उत्तर

11

आप पहली बार उदाहरण के लिए एक quaternion का निर्माण और फिर इसे एक मैट्रिक्स में बदलने के लिए, है:

#include <Eigen/Geometry> 
using namespace Eigen; 

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

टिप्पण लायक है कि इस की आवश्यकता है एक अतिरिक्त '.toRotationMatrix()' 'के बाद (ए, बी)' को काम, 'आर' एक मैट्रिक्स है। –

+1

नहीं, ऑपरेटर का अधिभार है = जो इसे काम करता है। हालांकि, संबंधित स्पष्ट है, इसलिए 'Matrix3f R = Quaternionf()। SetFromTwoVectors (ए, बी); ''toRotationMatrix()' की आवश्यकता है या' Matrix3f (।) 'को स्पष्ट कास्ट करने के लिए, या स्पष्ट रूप से ctor को कॉल करने के लिए 'Matrix3f R (Quaternionf()। setFromTwoVectors (ए, बी));' – ggael

+0

मेरी गलती क्षमा करें! उस मामूली सूक्ष्मता को याद किया। मतभेदों को समझाने के लिए धन्यवाद। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^