我正在尝试用 Python 求解以下一组 time
方程:
position1 = (initial_position1 + (time * velocity1)) % 360
position2 = (initial_position2 + (time * velocity2)) % 360
有两个物体以相同的方向围绕中心点旋转,速度不同,起点可能不同(即它们在给定时间的位置)。我想知道这两个物体相遇需要多长时间。
为此,我有这个等式:
(initial_position1 + (time * velocity1)) % 360 == (initial_position2 + (time * velocity2)) % 360
但是我无法在 time
时间内解决它,因为 %
运算符没有反函数。有没有已知的解决方案?如果没有,任何建议都会派上用场。
最佳答案
你正在尝试解决
x1 + t * v1 = x2 + t * v2
and
x1 - x2 = 360 * n
这转化为
n = t / 360 * (v2 - v1)
or
t = n * 360 / (v2 - v1)
你知道 v2
和 v1
是什么,所以这只是一个具有整数解的线性方程。找到该线上所有的点,其中 n 是一个整数,并取最小的正数。
关于python - Python 中模运算符的逆运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36949105/