零基础学编程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 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】ggplot2绘图入门系列之一:导论

1 什么是ggplot2 ggplot2是用于绘图的R语言扩展包,其理念根植于《Grammar of Graphics》一书。它将绘图视为一种...

29710
来自专栏大数据挖掘DT机器学习

如何做特征选择

1.数据挖掘与聚类分析概述 数据挖掘一般由以下几个步骤: (l)分析问题:源数据数据库必须经过评估确认其是否符合数据挖掘标准。以决定预期结果,也就选择了这项工作...

3575
来自专栏图形学与OpenGL

模拟试题B

1.灰度等级为256级,分辨率为2048*1024的显示器,至少需要的帧缓存容量为( )

2151
来自专栏用户2442861的专栏

如何识别图像边缘?

文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一种地步:计算机可以识别出,这是一张狗的照片,那是一张猫的照片。

1372
来自专栏CSDN技术头条

深入浅出LSTM神经网络

【编者按】使用前馈卷积神经网络(convnets)来解决计算机视觉问题,是深度学习最广为人知的成果,但少数公众的注意力已经投入到使用递归神经网络来对时间关系进行...

2169
来自专栏AI科技评论

动态 | 伯克利最新研究:GANs在字体风格迁移上的应用

AI科技评论按:怎样能快速生成风格相同的字体呢?伯克利 AI 研究院最新发表的一篇博客告诉你他们最新的研究。 ? 左:给出的电影海报,右:由MC-GAN生成的新...

3336
来自专栏阮一峰的网络日志

如何识别图像边缘?

图像识别(image recognition)是现在的热门技术。 文字识别、车牌识别、人脸识别都是它的应用。但是,这些都算初级应用,现在的技术已经发展到了这样一...

3759
来自专栏企鹅号快讯

Python数据分析与实战挖掘

基础篇 书推荐:《用python做科学计算》 ? 扩展库 简介 Numpy数组支持,以及相应的高效处理函数 Scipy矩阵支持,以及相应的矩阵数值计算模块 Ma...

4945
来自专栏机器之心

机器之心开放人工智能专业词汇集(附Github地址)

机器之心原创 机器之心编辑部 作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客、论文、专家观点等内容上已经积累了超过两年多的经验。期间,从无到有,机...

3815
来自专栏wym

【OpenCV】HSV颜色识别-HSV基本颜色分量范围

一般对颜色空间的图像进行有效处理都是在HSV空间进行的,然后对于基本色中对应的HSV分量需要给定一个严格的范围,下面是通过实验计算的模糊范围(准确的范围在网上都...

2911

扫码关注云+社区