मेरे पास आइसोमेट्री का एक गुच्छा है [आर | टी] परिवर्तन matrices, यानी वे 3 डी कठोर परिवर्तन हैं। वर्तमान में मैं उन्हें Eigen एफ़िन transformations के रूप में संग्रहीत करता हूं, जो कॉम्पैक्ट फॉर्म में दर्शाया गया है। Eigen::AffineCompact3d
जो [0 0 0] की अनावश्यक अंतिम पंक्ति को संग्रहीत नहीं करता है।ईजिन में कॉम्पैक्ट आइसोमेट्री रूपांतरण मैट्रिक्स का प्रतिनिधित्व कैसे करें?
मुझे यह भी पता है कि Eigen::Isometry3d
है जो मुझे लगता है कि Transform<double, 3, AffineCompact, Isometry>
का टाइपपीफ है।
मैं बाद में आइसोमेट्री के बाद हूं, एक सामान्य एफ़िन उलटा की तुलना में व्यस्त ट्रान्सफॉर्मेशन बहुत सस्ता (ट्रांसपोज़र) है। मुझे यह भी पता है कि जब मैं उलटा() affine_mat.inverse(Eigen::Isometry);
पर उपयोग करता हूं, लेकिन मैं हर समय मैन्युअल रूप से इशारा करते हुए आइसोमेट्रिक उलटा व्यवहार प्राप्त करना चाहता हूं। दूसरे शब्दों में, मैं जानना चाहता हूं, Eigen::IsometryCompact3d
के व्यवहार को दोहराने का सबसे अच्छा तरीका क्या है जो ईजिन एपीआई में आश्चर्यजनक रूप से अनुपस्थित है?
हां आम तौर पर एक लाइ समूह पुनर्भुगतान के लिए अच्छा है। लेकिन मेरे मामले में मैं बहुत सारे वैक्टरों का परिवर्तन कर रहा हूं, और मैट्रिक्स प्रतिनिधित्व मेरे लिए सबसे अच्छा काम करता है। मुझे लगता है कि ईजिन लेखकों ने किसी भी तरह से इस बात को याद किया। – iNFINITEi