gpt4 book ai didi

c++ - 连续碰撞检测——如何在 C++ 中根据这两个方程找到碰撞

转载 作者:行者123 更新时间:2023-11-28 03:15:49 24 4
gpt4 key购买 nike

enter image description here

我知道这个主题是众所周知的 - Continuous Collision Detection

我有 2 个球体,我必须找到它们之间的交点,如图所示。

方程式引用上图,我需要找到最小的 t 然后检查距离。我不知道这些等式是什么意思。

  1. 每个变量是什么?我猜 p10 和 p20 是第一个位置,v1\v2 是方向 vector 。

  2. 没有加速度,没有质量..

  3. 方程式指的是 2 个移动的球体。如果只有一个球体移动,则方程求解也是因为那时,1 个球体的速度将为零。

  4. 那么我该如何求解方程式呢?找到最小的 t...?

非常感谢!

最佳答案

这可能是 StackExchange Mathematics 的一道题。但这是我的答案:这两个方程告诉您圆或球的中心 P_1P_2 在某个时间点 t 的位置.现在您需要为 t 找到一个值,P_1P_2 之间的距离是半径之和,我将其称为 d(如距离)。根据毕达哥拉斯定理,两点距离的平方等于坐标差的平方和。这个距离的平方是 t 中的二次多项式,即 a*t*t+b*t+c。现在,您可以通过将其设置为 d*d 并求解 t 来找到两个球或圆碰撞时 t 的值。如果没有解决方案,则球/圆圈不会发生碰撞。

关于c++ - 连续碰撞检测——如何在 C++ 中根据这两个方程找到碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16902523/

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