计算3d中力的方向

时间:2015-11-10 22:20:46

标签: python 3d physics

我正在尝试构建太阳系的3D模拟,但我很难找到这个2D python代码的3D等价物

# Compute the force of attraction f = G * self.mass * other.mass / (d**2)

# Compute the direction of the force.
    theta = math.atan2(dy, dx)
    fx = math.cos(theta) * f
    fy = math.sin(theta) * f
    return fx, fy

1 个答案:

答案 0 :(得分:1)

2-D代码效率低得离谱。你根本不需要任何三角学。它只是将力的大小f乘以(dx,dy)方向的单位向量。鉴于您已经知道向量的长度d,您只需要

fx, fy = f*dx/d, f*dy/d

在3-D

fx, fy, fz = f*dx/d, f*dy/d, f*dz/d