gpt4 book ai didi

physics - 有人可以解释这些用于计算非正交碰撞的表达式背后的逻辑吗?

转载 作者:行者123 更新时间:2023-12-04 06:39:11 27 4
gpt4 key购买 nike

我正在遵循处理书中的一个示例,该示例描述了如何计算非正交碰撞(在非水平平面上弹跳的球),但是,我并不真正理解这四个表达式背后的逻辑。

 float groundXTemp = cosine * deltaX + sine * deltaY;
float groundYTemp = cosine * deltaY - sine * deltaX;
float velocityXTemp = cosine * velocity.vx + sine * velocity.vy;
float velocityYTemp = cosine * velocity.vy - sine * velocity.vx;

他们应该计算球的地面坐标和速度的临时值,以计算碰撞,就好像它是正交的一样。余弦和正弦是地面旋转的值,速度变量是球的速度。我无法理解这些表达式实际上做了什么使地面水平,而且这本书没有很好地解释它。任何帮助,将不胜感激。

最佳答案

这些表达是旋转的传统表达。如果取一个点 (x,y),并将其旋转角度 theta,您将获得一个坐标为 (x',y') 的点:

x' = cos(theta)*x - sin(theta)*y
y' = sin(theta)*x + cos(theta)*y

在您的情况下,假设 theta 是地面的角度,您想要进行反向旋转(因此使用角度 -theta)以使地面水平,这就是符号与上述公式不同的原因(cos(- theta) = cos(theta) 和 sin(-theta) = -sin(theta))。

如果您想详细了解,请查看:http://en.wikipedia.org/wiki/Rotation_matrix

关于physics - 有人可以解释这些用于计算非正交碰撞的表达式背后的逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4479348/

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