Bir sürü izometrim var [R | t] dönüşüm matrisleri, yani 3D bükülmez dönüşümlerdir. Şu anda, örneğin kompakt formda temsil edilen Eigen Affine transformations olarak saklıyorum. Eigen::AffineCompact3d
, kalan son satırı [0 0 0 1] kaydetmez.Eigen'de Kompakt izometrik dönüşüm matrisi nasıl temsil edilir?
Ayrıca Transform<double, 3, AffineCompact, Isometry>
yazım hatası olduğunu tahmin eden bir Eigen::Isometry3d
olduğunu biliyorum.
İzometri'den sonra, ters dönüşüm, genel afin tersine göre çok daha ucuzdur (transpoze). Ayrıca, inverse() işlevini affine_mat.inverse(Eigen::Isometry);
kullandığımda bir ipucu iletebileceğimi de biliyorum. Ancak, her zaman el ile bir ipucu aktarmadan izometrik ters davranışı elde etmek istiyorum. Başka bir deyişle, bilmek istiyorum, Eigen::IsometryCompact3d
davranışını çoğaltmanın en iyi yolu nedir, ki bu da Eigen API'sinde şaşırtıcı bir şekilde mevcut değildir.
Evet, genellikle bir Lie grubu temsiline sahip olmak güzel. Ama benim durumumda çok sayıda vektörün dönüşümünü yapıyorum ve matris temsili benim için en iyisi. Eigen yazarlarının bir şekilde bu şeyi kaçırdığını düşünüyorum. – iNFINITEi