我在根据 2 个角度进行 3D 运动时遇到了问题

I'm having problems with 3D movement according to 2 angles

提问人:just_banana3 提问时间:9/8/2023 最后编辑:Rabbid76just_banana3 更新时间:9/8/2023 访问量:41

问:

我正在制作光线追踪器,但根据角度的光线运动是错误的。

我做了一个函数,在3D空间中设置光线速度,以避免在不必要的时候计算它们。

我有 X 和 Y 角,我想将它们转换为 3 轴的速度,但它们没有正确移动。

“Xa”和“Ya”是偏航角和俯仰角。光线将按“vel”变量 (X,Y,Z) 移动。

def updateVel(Xa,Ya):
    global vel
    vel[0] = math.cos(math.radians(Xa)) * math.sin(math.radians(Ya))
    vel[1] = math.cos(math.radians(Xa)) * math.cos(math.radians(Ya))
    vel[2] = -math.sin(math.radians(Xa))

Python 数学 3D 光线追踪

评论

0赞 Random Davis 9/8/2023
but it's all wrong如何?这不是一个最小的可重复示例。这是 116 行代码,其中大部分当然没有必要能够演示您的问题。另外,你没有给出任何解释。您没有做任何工作来帮助我们了解您的问题,那么为什么要期望我们做大量不成比例的工作来帮助您呢?
0赞 just_banana3 9/8/2023
对不起。是的,我确实认为你的帮助是理所当然的。我已经编辑了问题,解释了更多。
0赞 Random Davis 9/8/2023
这似乎不是理解代码的问题,而是数学问题。也许在以数学为重点的 StackExchange 网站上问这个问题?
0赞 Mike 'Pomax' Kamermans 9/8/2023
或者,由于它与图形相关,因此 computergraphics.stackexchange.com 或可能 gamedev.stackexchange.com
0赞 Rabbid76 9/9/2023
从角度计算向量的公式是正确的。当然,该函数不应该设置全局变量,而应该设置一个值,但这不一定是问题所在。问题要么是角度错误,要么是你使用了错误的矢量。return

答: 暂无答案