python - Python 中模运算符的逆运算

标签 python math

我正在尝试用 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)

你知道 v2v1 是什么,所以这只是一个具有整数解的线性方程。找到该线上所有的点,其中 n 是一个整数,并取最小的正数。

关于python - Python 中模运算符的逆运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36949105/

相关文章:

python - 无法连接到 MySQL 服务器(连接被拒绝),尝试在 Django 和 MySQL 之间安装连接

java - 为什么Java在float计算后显示额外的值?

algorithm - 是否存在从表达式中提取子表达式的算法?

javascript - 如何计算垂直于矢量的圆?

Python,mysql.connector 错误 : No Result Set to Fetch From; cgitb shows correct value being passed to function

python - 为什么 sum() 和 min() 的 Python 内置函数要好得多?

python 使用有效负载和公钥字符串验证数字签名

python - 在 Keras 中使用 tf.metrics?

C# 泛型数组及其数学运算

c++ - 使用 Eigen 创建具有俯仰、偏航、滚动的旋转矩阵