c++ - 在 X、Y 和 Z(平移)值中补偿俯仰、滚动和偏航

标签 c++ trigonometry euler-angles

首先,我知道这并不是一个真正的编程问题,但我相信你们中的一些人会理解我想要获得的东西。我是一名放射治疗师,我的研究围绕着用放射治疗癌症患者并确保他们的位置在治疗期间尽可能准确。 body 旋转(俯仰、滚动和偏航)是一个常见问题,我们的机器无法对此进行纠正。你能帮忙建议一个可以将旋转值转换为 x y 和 z 平面的公式吗(我们的机器只能纠正这个平面上的错误)以便我们可以补偿错误?

Pitch 是绕 x 轴的旋转(顺时针) Roll 是绕 y 轴的旋转(顺时针) 而yaw是绕z轴的旋转(顺时针)

其中 x 是表示从左到右的平面, Y 是表示头尾(或上下)的平面 z是表示上下的平面

我希望我的问题是有道理的,我真的希望你们能帮助我。有这个公式吗?请并谢谢!

最佳答案

偏航、俯仰和滚转可以用对应于 xyz 表示的旋转矩阵来表示。因此,给定它们三个的旋转角度,您可以组合三个旋转矩阵以获得它们表示的线性变换。参见 here为算出的代数。

关于c++ - 在 X、Y 和 Z(平移)值中补偿俯仰、滚动和偏航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28471260/

相关文章:

c++ - 从平面计算网格顶点

c# - C++ (Intel) vs Java (Hotspot) vs C# 基准问题(包括代码和结果)

javascript - 在获取圆坐标时遇到问题

c - 另一个快速三角函数

c - 尝试使用泰勒公式生成 cos x 的值

quaternions - 给定旋转矩阵/四元数,如何获取相机的方向向量?

c++ - 指向成员函数的指针的大小变化很大

c++ - 如何总结 std::set 的元素

python - 来自两个 3D 点的欧拉角和旋转矩阵

c# - 计算 3d 空间中两点之间的角度