gpt4 book ai didi

opengl - 3d 几何 : how to align an object to a vector

转载 作者:行者123 更新时间:2023-12-05 00:07:12 24 4
gpt4 key购买 nike

我在 3d 空间中有一个对象,我想根据向量对其进行对齐。
我已经通过对向量的 x 和 z 分量执行 atan2 来获得 Y 旋转。但我也想有一个 X 旋转,使对象向下或向上看。

想象一架飞机做俯仰偏航滚转,只是没有滚转。

我正在使用 openGL 来设置旋转,所以我需要一个 Y 角和一个 X 角。

最佳答案

我不会使用欧拉角,而是使用欧拉轴/角度。就此而言,这就是 Opengl glRotate 用作输入的内容。

如果您只想将一个向量映射到另一个向量,那么有无数次旋转可以做到这一点。对于最短的一个(旋转角度最小的那个),您可以使用由 from 的叉积找到的向量。和 to单位向量。

axis = from X to

从那里,可以从 from.to = cos(theta) 找到旋转角度(假设单位向量)
theta = arccos(from.to)
glRotate(axis, theta)然后将转换 fromto .

但正如我所说,这只是可以完成这项工作的众多轮换之一。您需要一个完整的引用来更好地定义您希望如何完成转换。

关于opengl - 3d 几何 : how to align an object to a vector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302322/

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