当前位置: 首页 > news >正文

大连建设监察执法网站企业宣传

大连建设监察执法网站,企业宣传,北京市朝阳区网站制作,wordpress怎么改登陆地址π-Day快乐:Python可视化π 今天是3.14,正好是圆周率 π\piπ 的前3位,因此数学界将这一天定为π\bold{\pi}π day。 π\piπ 可能是最著名的无理数了,人类对 π\piπ 的研究从未停止。目前人类借助计算机已经计算到 π\piπ 小数…

π-Day快乐:Python可视化π

今天是3.14,正好是圆周率 π\piπ 的前3位,因此数学界将这一天定为π\bold{\pi}π day

π\piπ 可能是最著名的无理数了,人类对 π\piπ 的研究从未停止。目前人类借助计算机已经计算到 π\piπ 小数点后31.4万亿位了!这个记录是由来自Google的日本女程序员岩尾遥创造的。据说该计算程序在25台虚拟机上运行了121天,涉及170TB的数据,最终获得精确到 π\piπ 小数点后31.4万亿位的成绩。

计算 π\piπ 的精度也是衡量计算机算力的一种方法,该方法始于冯·诺依曼。直到今天依然有很多数学家在孜孜不倦地研究 π\piπ 的各种性质,甚至有人认为 π\piπ 小数位蕴含着宇宙的终极奥秘。今天我们用Python将 π\piπ 可视化,看看会诞生什么惊人的图案。

在这里插入图片描述

文章目录

    • 思路
    • 点图
    • 线段图
    • 结论

思路

首先,我从网上下载了 π\piπ 小数点后100万位,保存在文本文件中。每50位一行,数据张这个样子:

14159265358979323846264338327950288419716939937510
58209749445923078164062862089986280348253421170679
82148086513282306647093844609550582231725359408128
48111745028410270193852110555964462294895493038196
44288109756659334461284756482337867831652712019091
45648566923460348610454326648213393607260249141273
72458700660631558817488152092096282925409171536436

然后我会用一定规则来可视化[0-9]这10个数字。目前想到的有两种:

  1. 点图 将[0-9]10个数字,每个数字赋一个颜色,然后一次绘制圆点。

在这里插入图片描述

  1. 线段图 [0-9]10个数字每个数字赋一个颜色和角度,绘制收尾相接的线段。

在这里插入图片描述

点图

点图的绘制相对简单,首先定义颜色:

# 圆点边线颜色
color = ['gold', 'goldenrod', 'red', 'firebrick', 'mediumvioletred', 'darkorchid', 'royalblue', 'lightseagreen', 'mediumseagreen', 'olivedrab']
# 圆点填充颜色
color_fill = ['khaki', 'moccasin', 'lightcoral', 'lightsalmon', 'orchid', 'mediumpurple', 'skyblue', 'aquamarine', 'lightgreen', 'palegreen']

数字[0-9]当作颜色的下标索引获取颜色,绘制单个圆点的代码如下:

def draw_dot(n: int, c: int):""" 绘制圆点:param n: 小数位数值:param c: 第几位:return: None"""t.color(color_fill[n])t.begin_fill()t.circle(10)t.end_fill()t.color(color[n])t.circle(10)pos = t.pos()

绘制完一个圆点后,turtle移动到下一个位置,这里我设置为每40位换一行:

def move(c: int):""" 移动到下一位置:param c: 小数点后第几位:return: None"""pos = t.pos()t.penup()if c % 40 == 0: #每40位换一行t.goto(-600, pos[1] - 30)else:t.goto(pos[0] + 30, pos[1])t.pendown()

最后我们只要读取 π\piπ 的小数位,循环绘制圆点即可:

import turtleturtle.setup(1.0, 1.0)
t = turtle.Turtle()
t.hideturtle()
t.pensize(2)
t.penup()
t.goto(-600, 400)
t.pendown()
t.speed(0)# 绘制整数位3
count = 1
num = 3
draw_dot(num, count)
move(count)# 循环绘制小数位
with open('圆周率前100万位.txt') as f:for i in range(28): # 绘制28*50=1400位word = f.readline().strip()for a in word:num = int(a)count += 1draw_dot(num, count)move(count)f.close()turtle.done()

最终效果如下图:

在这里插入图片描述

线段图

有了点图的基础,线段图的绘制相对简单。直接上代码:

import turtleturtle.setup(1.0, 1.0)
t = turtle.Turtle()
t.hideturtle()
t.pensize(2)
t.pendown()
t.left(90)
t.speed(0)
color = ['gold', 'goldenrod', 'red', 'firebrick', 'mediumvioletred', 'darkorchid', 'royalblue', 'lightseagreen', 'mediumseagreen', 'greenyellow']# 绘制整数位3
last_num = 3
t.color(color[last_num])
t.right(last_num * 36)
t.forward(40)# 循环绘制小数位
with open('圆周率前100万位.txt') as f:for i in range(100):word = f.readline().strip()for a in word:current_num = int(a)t.color(color[current_num])angle = (current_num - last_num) * 36t.right(angle)t.forward(20)last_num = current_numf.close()turtle.done()

最终效果:

在这里插入图片描述

结论

怎么样?很神奇吧?如果你有更好的可视化思路,欢迎留言评论交流。

最后,祝大家 π\piπ Day快乐!

http://www.shuangfujiaoyu.com/news/18473.html

相关文章:

  • 云星穹铁道网页版入口seo顾问是什么
  • 建大型网站需要多少钱站长工具查询系统
  • 图片网站源码asp网络整合营销理论案例
  • 做预定网站的作用石家庄网站seo
  • 软文营销广告东莞seo培训
  • 高新园区规划建设局网站自助建站系统破解版
  • 婚礼礼网站如何做的windows优化大师是病毒吗
  • 最流行的网站开发语言保定seo网络推广
  • 新开传奇网站韩版如何快速推广自己的品牌
  • 聊城门户网站建设外贸网站推广费用
  • 免费海报制作网站百度竞价点击神器下载安装
  • 布吉网站建设技术托管百度退款客服电话
  • 做企业网站服务器营销策略有哪些方面
  • 适合ps做图的素材网站有哪些网站seo推广优化教程
  • 专业电容层析成像代做网站百度联系电话多少
  • 企业对企业的网站太原seo网站管理
  • php网站建设含义新华传媒b2b商务平台
  • 扬中市建设局网站引擎搜索优化
  • 厦门网站设计哪家公司好营销公司排行
  • 微信小程序网站建设公司网站建设费用明细表
  • python能够做网站seo是哪里
  • 优化设计六年级下册语文答案百度seo优化收费标准
  • 遂宁市网站建设国内最新新闻热点事件
  • 纵横网站百度搜索网页版入口
  • 北京做网站建设的公司有哪些百度seo培训班
  • 即墨做网站的免费seo网站自动推广软件
  • 温州科技网站建设刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 微信企业公众号开发便宜的seo官网优化
  • 合肥高端网站新产品推广方案范文
  • 58企业网站如何做手游推广个人合作平台