[英]Compute a RPY (roll pitch yaw) from a 3d point on a sphere
您可以使用球体的中心作为原点,计算由原点到球体边缘上的点所形成的直线的单位向量,然后将该单位向量乘以 -1 以获得指向该点的向量从球体边缘的点到球体的中心。
例子:
vec pointToCenter(Point edge, Point origin) {
vec norm = edge - origin;
vec unitVec = norm / vecLength(norm);
return unitVec * -1;
}
一旦你有你可以将其转换为RPY欧拉角载体,一个例子是在这里
在我的头顶,我建议使用四元数来定义原点处任何点的旋转,相对于球体表面上你想要的点:
我没有时间为此编写代码,但不久前我在 github 存储库中编写了一个带有可编译代码示例的小教程,这应该可以帮助您入门:
https://github.com/brownwa/opengl
先做 mat_rotation 教程,然后做 quatereons 一。 如果您专心,则可以在周末或一天内完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.