gpt4 book ai didi

c++ - 在 osgSim::DOFTransform 中获取旋转轴?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:22:17 28 4
gpt4 key购买 nike

我正在研究包含多个 DOFTransform 节点的 OSG 模型。为了对 3D 模型进行几何计算,我需要知道哪些是旋转轴和放置该轴的点,这可能吗?

最佳答案

osgSim::自由度变换 http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00215.html

const osg::Vec3& osgSim::DOFTransform::getCurrentHPR() const;

获取 **H**heading、**P**itch 和 **R**oll 的欧拉角,以及

MultOrder osgSim::DOFTransform::getHPRMultOrder() const;

获取用于旋转顺序的约定。

引用点可以由

const osg::Vec3& osgSim::DOFTransform::getCurrentTranslate () const;

给定一个 vector v,用翻译 t 所指的坐标系表示,它是

v' = v - t

要对其应用旋转。


对于将欧拉角转换为轴/角度表示请。参加:

https://en.wikipedia.org/wiki/Rotation_formalisms_in_three_dimensions#Conversion_formulae_between_formalisms

另外:

M为组合旋转矩阵,例如

M = H * P * R

(此处的 H、P、R 表示给定角度的相应矩阵)和 vector v'v'' 以及

v'' = M * v'

它们不共线,搜索的轴只是它们的归一化叉积,角度可以通过应用基本三角学找到。

关于c++ - 在 osgSim::DOFTransform 中获取旋转轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24282640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com