#引力常量
G = 6.66*pow(10, -11)
#物体1质量
M = 60
#物体2质量
m = 60
#两个物体距离
r = 10
F = G*M*m/pow(r, 2)
print(F)
根据这个公式写的,你可以自己修改每个参数的值
任何一款三轴加速度传感器,都具有倾角和重力加速度测量功能,利用静止状态,即可获取设备的已知倾角,算出该设备当前状态下的重力加速度。用这个作为基准数据,你必须根据设备实际瞬时倾角,按照公式,就可以在各矢量方向减去已知重力加速度值,如果设备高度变化非常大的,最好有获得设备海拔值的传感器,然后,根据海拔和重力加速度关系,进行补偿数据的校正。这样,你就可以获得装备的任意时刻的实际加速度值,当然都是牵涉函数矢量运算,运算量有点大。
#!/usr/bin/env python# coding: utf-8
#
# filename: baidu_qa.py
# author: Tim Wang
# date: Feb., 2014
# 重力加速度(Gravitational acceleration)
G = 9.7803185
def velocity(t, v0=0):
"""计算在给定时间的速度"""
return t*G + v0
def displacement(t, base):
"""计算在给定时间的海拔高度"""
return base - G*(t**2)/2
def main(ostream):
base = 39045
for x in xrange(1000):
d, v = displacement(x, base), velocity(x)
if d <= 0 or v >= 343.2:
# 直到速度超过343.2米/秒
break
ostream.write("%d\t%6.2f (m/s)\t%8.2f (m)\n" % (x, v, d))
if __name__ == "__main__":
import sys
try:
ostream = open(sys.argv[1], 'wt')
except:
ostream = sys.stdout
main(ostream)