gpt4 book ai didi

c++ - 从球体上的 3d 点计算 RPY(滚动俯仰偏航)

转载 作者:行者123 更新时间:2023-11-30 05:28:32 25 4
gpt4 key购买 nike

我需要一种方法来找到一组描述球体中位置和方向的齐次变换矩阵。

我的想法是我在这个球体的中心有一个半径为 dz 的物体。因为我知道物体的 3d 坐标,所以我知道球体的所有 3d 坐标。是否可以确定球体上任意一点的 RPY,使该点始终指向中心的物体?

插图:

enter image description here

在这个球体的原点处,我们有一个物体。球体的半径为 dz。红点是球体上的一个点,以及从这个点到物体/原点的 vector 。

位置应该相对容易提取,因为球体可以用函数来描述,但是我如何确定指向 origo 的 vector 或旋转矩阵。

最佳答案

你可以以球心为原点,计算原点到球体边缘点连线的单位 vector ,然后用这个单位 vector 乘以-1得到 vector 从球体边缘上的点指向球体的中心。

例子:

vec pointToCenter(Point edge, Point origin) {
vec norm = edge - origin;

vec unitVec = norm / vecLength(norm);

return unitVec * -1;
}

获得 vector 后,您可以将其转换为 RPY​​ 的欧拉角,例如 here

关于c++ - 从球体上的 3d 点计算 RPY(滚动俯仰偏航),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798592/

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