零基础学编程041:欧拉公式的几何意义

欧拉公式号称是最美的出自上帝之手的数学公式,即

,这个公式里 eπ 都是无理数,i 是 -1 的平方根,是一个虚数,0和1是最简单的整数,欧拉公式把它们联系在一起。

下面我们来理解一下它的几何含义,并用Python中的小海龟把它画出来。

利用级数展开的公式可以有下面的推导过程:

因为这个数列中含有虚数 i,所以可以把上面的每一项看作是复平面上的一个向量。

第0项:1,表示从(0, 0)点出发沿x轴前进1个单位。

第1项: ,把其中的 i 理解为逆时针旋转90度,这样就是在垂直方向上前进 π 个单位。

第2项,再旋转90度,前进 (π*π / 2) 个单位。

……

最后这个无数级数的和为(-1),表示最后逼近(-1, 0)这个点。神秘的欧拉公式的几何含义就是这么简单!

用小海龟画出欧拉公式的几何含义

先复习一下《零基础学编程014:小海龟做画》这一课中的画图基本命令:

import turtle
turtle.forward(100) # 前进100个单位
turtle.left(90) # 左转90度

第0项:

turtle.forward(1) 

第1项,这里用到了数学包math中的pi,你不用写3.1415926了:

turtle.left(90)
turtle.forward(math.pi) 

第2项,还记得运算符 ** 是什么意思吧?

turtle.left(90)
turtle.forward((math.pi ** 2) / 2) 

第3项,分母是3的阶乘,需要用到数学函数math.factorial():

turtle.left(90)
turtle.forward((math.pi ** 3) / math.factorial(3)) 

现在我们已经找到规律了,假设我们循环16次,就是range(1,17),每一层的循环只需要执行这两步就可以了:

for i in range(1,17) :
    turtle.left(90)
    turtle.forward((math.pi ** i) / math.factorial(i))

这里小海龟的默认画布是以像素为单位的,前进1、2个像素看不出效果,需要把画布的坐标范围设置一下,在图形世界里称为世界坐标系。下面的语句表示画布的左下角坐标是(-5,-5),右上角坐标是(5,5):

setworldcoordinates(-5, -5, 5, 5)

最后的代码是这样的:

import turtle
import math

setworldcoordinates(-5, -5, 5, 5)
turtle.forward(1) 
for i in range(1,17) :
    turtle.left(90)
    turtle.forward((math.pi ** i) / math.factorial(i))

我加上了坐标系和两个参考点,最后的图形是这样的:

小海龟从原点出发,每走一次,左转90度,很快就收敛到(-1, 0)这一点。

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

每周学点大数据 | No.19全0 数组的判定

No.19期 全0 数组的判定 Mr. 王:接下来我们讲一类时间亚线性判定算法,先来举个例子吧。假设有一个数组A,其中包含0 和1,我们需要判定数...

2756
来自专栏深度学习计算机视觉

算法基础+分治策略(算法复习第1弹)

马上就要算法考试了,好紧张,先复习第一波.... 参考文献(算法导论)+(张莉老师ppt) ---- 函数的增长,对算法效率的描述 渐进记号:Θ、Ω、O、o、...

2817
来自专栏大数据杂谈

【Excel系列】Excel数据分析:相关与回归分析

相关系数 15.1 相关系数的概念 著名统计学家卡尔·皮尔逊设计了统计指标——相关系数(Correlation coefficient)。相关系数是用以反映变量...

3318
来自专栏数值分析与有限元编程

有限元 | 颇有难度的薄板协调单元

作平面问题分析时,有这样的经验:节点多的单元往往比节点少的单元更难构造。八节点四边形单元比四节点四边形单元难于构造,而四节点四边形单元又比三节点三角形单元更难。...

2756
来自专栏数据魔术师

论文拾萃 | 基于树表示法的变邻域搜索算法求解考虑后进先出的取派货旅行商问题(附C++代码和详细代码注释)

本文参考期刊论文信息如下: "The Tree Representation for the Pickup and Delivery Traveling Sa...

4024
来自专栏小樱的经验随笔

详解斯坦纳点及斯坦纳树及模版归纳总结

①什么是斯坦纳点?   假设原来已经给定了个点,库朗等指出需要引进的点数至多为,此种点称为斯坦纳点。过每一斯坦纳点,至多有三条边通过。若为三条边,则它们两两交成...

4416
来自专栏python读书笔记

python 数据分析基础 day19-使用statsmodels进行逻辑回归

今天是读《python数据分析基础》的第19天,读书笔记内容为使用statsmodels进行逻辑回归。 以下代码将按数据清洗、训练模型、得出测试集的预测值这三...

6297
来自专栏程序员互动联盟

【编程之美】最短路径

最短路径 任意给定两个数字A和B,通过将A和6个数(7,-7,5,-5,12,-12)做加减运算,运算次数不限,每个数可以被使用多次,求从A到B最少要经过多少次...

3506
来自专栏ATYUN订阅号

马尔可夫链文本生成的简单应用:不足20行的Python代码生成鸡汤文

提到自然语言的生成时,人们通常认为要会使用高级数学来思考先进的AI系统,然而,并不一定要这样。在这篇文章中,我将使用马尔可夫链和一个小的语录数据集来产生新的语录...

2486
来自专栏海天一树

决策树

决策树是一种特殊的树形结构,一般由节点和有向边组成。其中,节点表示特征、属性或者一个类。而有向边包含有判断条件。如图所示,决策树从根节点开始延伸,经过不同的判断...

972

扫码关注云+社区