购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3-7 专题:计算地球到月球的时间/计算两点之间的距离

3-7-1 计算地球到月球所需时间

马赫是声速的单位,主要是纪念奥地利科学家 恩斯特·马赫 (Ernst Mach),一马赫就是一倍声速,它的速度大约是每小时1225千米。

程序实例ch3_24.py: 从地球到月球约384 400千米,假设火箭的速度是一马赫,设计一个程序计算需要多少天、多少小时才可抵达月球。这个程序省略分钟数。

执行结果

由于笔者尚未介绍完整的格式化程序输出,所以使用上述方式输出,下一章笔者会改良上述程序。Python之所以可以成为当今最流行的程序语言,主要是它有丰富的函数库与方法,上述求商(第5行)和余数(第6行),其实可以用divmod( )函数一次取得商和余数。概念如下:

程序实例ch3_25.py: 使用divmod( )函数重新设计ch3_24.py。

执行结果

与ch3_24.py相同。

3-7-2 计算两点之间的距离

有两个点坐标分别是(x1, y1)、(x2, y2),求两个点的距离。其实这是勾股定理,基本概念是直角三角形两边长的平方和等于斜边的平方。

     a2 + b2 = c2

所以对于坐标上的两个点,我们必须计算相对直角三角形的2个边长,假设a是(x1-x2),b是(y1-y2),然后计算斜边长,这个斜边长就是两点的距离,概念如下:

计算公式如下:

可以将上述公式转成下列计算机数学表达式。

     dist = ( (x1 – x2)2 + (y1 – y2)2 ) ** 0.5             # ** 0.5相当于开根号

在人工智能的应用中,我们常用点坐标代表某一个对象的特征(feature),计算两个点之间的距离,相当于可以了解物体间的相似程度。如果距离越短代表相似度越高,距离越长则代表相似度越低。

程序实例ch3_26.py: 有两个点坐标分别是(1, 8)与(3, 10),请计算这两点之间的距离。

执行结果 XAabZ1AY52fHTWoK/jki4V9JrefZZxTuLvEmmAXVCkSvPbMsoT3hiIUviaB9bFCu

点击中间区域
呼出菜单
上一章
目录
下一章
×