首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将旋转应用于本征::affine3f

将旋转应用于本征::affine3f
EN

Stack Overflow用户
提问于 2016-01-20 08:46:59
回答 1查看 2K关注 0票数 0

我用Eigen::Affine3f来表示相机矩阵。(我已经知道如何从初始的"lookAt“和"up”向量设置视图矩阵/lookAt)

现在,我想支持改变相机的方向。简单的问题:将旋转应用于这个Affine3f的最佳方法是什么,即俯仰、偏航、滚动?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-20 10:00:19

使用内置功能非常简单。您可以使用AxisAngle对象来乘现有的Affine3f。只需注意,轴需要标准化:

代码语言:javascript
复制
Vector3f rotationAxis;
rotationAxis.setRandom(); // I don't really care, you determine the axis
rotationAxis.normalize(); // This is important, don't forget it

Affine3f randomAffine3f, rotatedAffine;
// Whatever was left in memory in my case,
// whatever your transformation is in yours
std::cout << randomAffine3f.matrix() << std::endl;

// We'll now apply a rotation of 0.256*M_PI around the rotationAxis
rotatedAffine = (AngleAxisf(0.256*M_PI, rotationAxis) * randomAffine3f);
std::cout << rotatedAffine.matrix() << std::endl;  // Ta dum!!
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34895284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档