91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Pi和Python制作藝術(shù)、游戲等

使用Pi和Python制作藝術(shù)、游戲等

2023-06-27 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

概述

?
?
?
poYBAGNzb1CASThiABGY-M586r4541.png
?
1 / 3
?

通過使用 Python 使用 Pi 制作藝術(shù)、音樂和游戲來慶祝 Pi 日。在這本 Google Colaboratory Notebook 中,您將探索 Pi 是什么、如何使用它以及一些有趣的應(yīng)用程序。打開 Colab Notebook 并跟隨!

谷歌合作筆記本:https ://colab.research.google.com/drive/1scICArIp5mQC5EQkT4FtnQ9-qtw4ECzc?usp=sharing

GitHub 存儲(chǔ)庫:https ://github.com/mjdargen/pi/

目錄 - 使用 Pi 和 Python 制作藝術(shù)、游戲等

  • 安裝依賴和下載文件
  • 什么是π?
  • 就 π 而言,你幾歲?
  • 近似 π
  • 一百萬位π
  • 繪制 π 的位數(shù)分布圖
  • π 和弦圖
  • 蛇 - Pi 版本
  • π 的二值像素圖像
  • 用 π 制作音樂
  • 藝術(shù)與 π & Processing
  • 使用 π 找到 Kevin Bacon

第 0 步:Colab 和設(shè)置環(huán)境

Colab 簡介

Google Colaboratory 是一個(gè)使用 Jupyter Notebooks 的 Python 開發(fā)環(huán)境,可讓您連接到 Google 強(qiáng)大的云計(jì)算資源并運(yùn)行 Python 代碼。

Pi是最臭名昭著的數(shù)字。它是唯一一個(gè)擁有廣泛認(rèn)可的假期的數(shù)字——3 月 14 日的 Pi 日。在這個(gè)筆記本中,我們將探索 pi 的各個(gè)方面,并嘗試從數(shù)字中獲得一些樂趣。

第 2 步:就 Pi 而言,您幾歲?

用 pi 計(jì)算你的年齡。在指定的字段中輸入您的生日,以確定您的年齡(以 pi-years 和 pi-days 為單位)。

第 3 步:近似 Pi

?
poYBAGNzb1WAWrg6AAD1HeUIyqs347.jpg
?

使用指定數(shù)量的求和項(xiàng)來近似 pi。我們將使用萊布尼茨公式來逼近 π。它是一個(gè)無限交替級(jí)數(shù),緩慢地向 pi 收斂,如下面的公式所述。

要使用該程序,請指定要使用多少項(xiàng) (n) 來近似 pi。該程序?qū)⑼鲁錾傻慕浦怠?/font>

第 4 步:一百萬位 Pi

查看 pi 的前 100 萬位十進(jìn)制數(shù)字和 pi 的前 100 萬位十六進(jìn)制數(shù)字。運(yùn)行下面的單元格后,單擊輸出窗口附近的“x”以清除單元格。顯示數(shù)百萬個(gè)字符會(huì)給您的瀏覽器帶來負(fù)擔(dān)并降低筆記本的速度。

Pi的一百萬十進(jìn)制數(shù)字:https ://raw.githubusercontent.com/mjdargen/pi/main/pi_dec_1m.txt

Pi的一百萬個(gè)十六進(jìn)制數(shù)字:https ://raw.githubusercontent.com/mjdargen/pi/main/pi_hex_1m.txt

第 5 步:繪制 Pi 數(shù)字的分布圖

?
pYYBAGNzb1iAHjEkAAFdkAuoBwg286.jpg
?

在本節(jié)中,我們將進(jìn)一步檢查 pi 的前一百萬位十進(jìn)制和十六進(jìn)制數(shù)字。我們將繪制 pi 的位數(shù)的分布,以確定在 pi 的前一百萬位數(shù)中是否有更多出現(xiàn)的數(shù)字。

第一個(gè)圖將是 pi 的十進(jìn)制數(shù)字,第二個(gè)圖將是 pi 的十六進(jìn)制數(shù)字。這些圖表也會(huì)作為一個(gè) interactive.html 網(wǎng)頁寫入“輸出”文件夾,該網(wǎng)頁可以在 Colab 左側(cè)的文件選項(xiàng)卡中下載。這些圖是使用 Plotly 條形圖生成的。

第 6 步:Pi 和弦圖

弦圖是一種特殊類型的圖表,它從圓形圖上的節(jié)點(diǎn)中提取邊緣或弧線。在這種情況下,我們展示了 pi 數(shù)字的進(jìn)展。節(jié)點(diǎn)代表一個(gè)數(shù)字的每個(gè)可能值(0-9 表示十進(jìn)制,0-15 表示十六進(jìn)制)。弧線或邊表示從一個(gè)數(shù)字到下一個(gè)數(shù)字的轉(zhuǎn)換。例如,pi 小數(shù)點(diǎn)后的第一位數(shù)字是“14159”。我們將從 1 開始畫一條弧到 4,然后畫一條從 4 到 1 的弧,然后畫一條從 1 到 5 的弧,然后畫一條從 5 到 9 的弧,以此類推。

第一個(gè)圖顯示了 pi 的前一百萬個(gè)十進(jìn)制數(shù)字的和弦圖。第二個(gè)圖顯示了 pi 的前一百萬個(gè)十六進(jìn)制數(shù)字的和弦圖。這些圖表也會(huì)作為一個(gè) interactive.html 網(wǎng)頁寫入“輸出”文件夾,該網(wǎng)頁可以在 Colab 左側(cè)的文件選項(xiàng)卡中下載。和弦圖是使用和弦模塊生成的。

第 7 步:蛇 - Pi 版本

?
?
?
?
poYBAGNzb1uAGQ9RAAHUzcivb3M593.jpg
?
1 / 2
?

玩 Snake 的 Pi 版本!我修改了 Snake,使蛇顯示為 π 的各個(gè)部分。蛇不是吃食物,而是試圖按順序吃 pi 的十進(jìn)制數(shù)字。看看你能吃多少位數(shù)的圓周率!

注意:此代碼在 Google Colab 中無法正常運(yùn)行,因此我必須嵌入我的 repl.it 項(xiàng)目。在此處查看源代碼。這個(gè)項(xiàng)目最初是從@LorenzoCampos分叉出來的,并經(jīng)過調(diào)整以制作 pi 版本。查看并玩下面的游戲。

第 8 步:Pi 的二進(jìn)制像素圖像

?
?
?
?
pYYBAGNzb1-AVqs6AATGg4-4IXg443.jpg
?
1 / 2
?

Pi 也可以表示為二進(jìn)制數(shù)。為了做到這一點(diǎn),我取前一百萬個(gè)十六進(jìn)制數(shù)字并將其逐字節(jié)轉(zhuǎn)換為二進(jìn)制數(shù)。為了可視化這些信息,我將前 100 萬個(gè)十六進(jìn)制數(shù)字表示為 2000x2000 單色黑白圖像。零由黑色像素表示,而零由白色像素表示。

請參閱本節(jié)中的完整圖像。它可能會(huì)在一分鐘內(nèi)顯示為純白色圖像,因?yàn)樵搱D像需要一段時(shí)間才能加載到 Colab 輸出窗口中。圖像也保存在“輸出”窗口中,可以在 Colab 左側(cè)的文件選項(xiàng)卡中下載。該腳本使用 Pillow 模塊生成圖像。

第 9 步:用 Pi 制作音樂

我們甚至可以用 pi 制作音樂。下面的腳本使用 numpy 計(jì)算波形并使用 scipy 寫入 a.wav 文件。我在piaudio.py中保留了一些代碼,以免弄亂筆記本。該文件負(fù)責(zé)將弦音符表示映射到特定頻率,并根據(jù)持續(xù)時(shí)間和 BPM 為每個(gè)音符構(gòu)建選定的波形。

嘗試與筆記字典一起播放,看看你可以用 pi 發(fā)出什么樣的酷聲音。將某些數(shù)字值映射到鍵盤上的鍵。必須按照如下所示的格式寫下注釋。您還可以通過將波形參數(shù)提供給 play_note() 函數(shù)來指定所需的波形類型。它可以是正弦曲線、三角形、鋸齒形或方形。

通過使用第 20 行或第 22 行來確定是要使用 pi 的十進(jìn)制數(shù)字還是十六進(jìn)制數(shù)字。默認(rèn)情況下,以下腳本僅使用 pi 的前 100 位數(shù)字。使用完整的 100 萬位 pi 需要很長時(shí)間才能執(zhí)行。

播放窗口將顯示在輸出窗口中以預(yù)覽音頻。您也可以下載 .wav 文件。音頻也保存在“輸出”窗口中,可以在左側(cè)的文件選項(xiàng)卡中下載。

注釋格式說明:

  • 必須以:NOTE_開頭
  • 第一個(gè)字母是注釋:AG
  • 如果有一個(gè)“S”,表示銳利(沒有單位)
  • 數(shù)字在鍵盤上是八度,0-最低,8-最高

第 10 步:使用 Pi 和處理進(jìn)行藝術(shù)創(chuàng)作

?
pYYBAGNzb2KASJahAADGxOYymcU492.png
?

Processing是一種靈活的軟件速寫本,也是一種用于學(xué)習(xí)如何在視覺藝術(shù)環(huán)境中編碼的語言。它是一個(gè)免費(fèi)的圖形庫和 IDE。它是用Java構(gòu)建的;但是,也有Python 模式。

您無法在 Google Colaboratory 中運(yùn)行處理代碼。您將需要下載 Processing 并安裝 Python 模式插件。請遵循此入門指南。

此處理腳本解析 pi 的前 10, 000 個(gè)十進(jìn)制數(shù)字并將它們表示為圓圈。圓圈的顏色表示該數(shù)字的數(shù)值。

請參閱下面生成的圖形。您也可以在此處下載圖形。我提供了生成下圖的代碼。您還可以在此處從我的 GitHub 存儲(chǔ)庫查看/下載腳本。

第 11 步:使用 Pi 找到 Kevin Bacon

這個(gè)腳本展示了我們?nèi)绾伪举|(zhì)上使用 pi 的數(shù)字作為算法的偽隨機(jī)數(shù)生成器。

下面我們將使用 pi探索Kevin Bacon 的六度。凱文培根的六度是一個(gè)游戲/思想實(shí)驗(yàn),是“六度分離”的一個(gè)例子。“六度分離”背后的想法是,任何兩個(gè)人(平均而言)彼此相距六個(gè)或更少的社會(huì)聯(lián)系。作為探索這一點(diǎn)的愚蠢方式,我們將加載一個(gè)隨機(jī)的 Wikipedia 頁面并按照該頁面上的鏈接,直到我們到達(dá) Kevin Bacon 的 Wikipedia 頁面。

我們使用隨機(jī)的維基百科頁面作為我們的起點(diǎn)。從那里,腳本獲取鏈接在單個(gè)頁面上的所有有效 Wikipedia 頁面的列表。然后腳本按順序使用 pi 的十六進(jìn)制數(shù)字來確定我們接下來訪問的維基百科頁面之一。

下面的腳本可能需要很長時(shí)間才能執(zhí)行,具體取決于它需要訪問多少頁面,直到我們找到 Kevin Bacon 的 Wikipedia 頁面。到目前為止,我需要訪問的最少頁面數(shù)是 2, 254 頁。

?


PI python
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1耗盡型MOS FET產(chǎn)品目錄選型表
  2. 0.14 MB   |  2次下載  |  免費(fèi)
  3. 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺(tái)
  4. 1.51 MB  |  次下載  |  免費(fèi)
  5. 3WILLSEMI韋爾20年半年度報(bào)告由代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  6. 3.30 MB  |  次下載  |  免費(fèi)
  7. 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷供應(yīng)
  8. 85.84 KB  |  次下載  |  免費(fèi)
  9. 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動(dòng)與升級(jí)
  10. 0.64 MB   |  次下載  |  5 積分
  11. 6LAT1594_基于事件喚醒低功耗之介紹
  12. 0.37 MB   |  次下載  |  5 積分
  13. 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  14. 4.05 MB   |  次下載  |  免費(fèi)
  15. 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
  16. 4.13 MB   |  次下載  |  免費(fèi)

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  19次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  11次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  2次下載  |  免費(fèi)
  7. 4簡易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 52EDL05x06xx系列 600V半橋門驅(qū)動(dòng)器帶集成自舉二極管(BSD)手冊
  10. 0.69 MB   |  1次下載  |  免費(fèi)
  11. 6國產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
  12. 1.35 MB   |  次下載  |  免費(fèi)
  13. 7斯丹電子 | 用于芯片測試系統(tǒng)的射頻干簧繼電器
  14. 5.11 MB  |  次下載  |  免費(fèi)
  15. 8SFI立昌ESD/TVS管原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  16. 294.76 KB  |  次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分