4種常見Python設計愛心創意實現方法

在Python中設計愛心創意有多種實現方式,以下介紹4種常見方法,并附上完整代碼:

方法1:使用數學方程繪制(Matplotlib)

??原理??:使用參數方程繪制心形曲線
??效果??:光滑的數學心形,可自定義顏色和尺寸

import numpy as np
import matplotlib.pyplot as pltt = np.linspace(0, 2*np.pi, 1000)
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)plt.figure(figsize=(8, 6))
plt.plot(x, y, 'r-', linewidth=3)
plt.fill(x, y, 'red', alpha=0.6)
plt.axis('equal')
plt.axis('off')
plt.title('Mathematical Heart', fontsize=14)
plt.show()

方法2:字符畫愛心(控制臺輸出)

??原理??:使用ASCII字符組合成心形圖案
??效果??:在終端顯示彩色愛心,可通過字符密度控制形狀

def create_heart(size=10):for y in range(size, -size, -1):line = ''for x in range(-size, size):# 心形方程: (x2 + y2 -1)3 - x2y3 ≤ 0if (x**2 + y**2 - 10)**3 - (x**2)*(y**3) <= 0:line += '\033[91m?\033[0m'  # 紅色愛心else:line += ' 'print(line)create_heart(size=15)

方法3:Turtle繪圖(動畫繪制)

原理??:使用海龜繪圖庫動態繪制愛心
??效果??:實時繪制過程,可自定義繪制速度和顏色

import turtlet = turtle.Turtle()
t.speed(8)
t.pensize(3)
t.color('red', 'pink')
t.begin_fill()# 繪制愛心輪廓
t.left(140)
t.forward(224)
for _ in range(200):t.right(1)t.forward(2)
t.left(120)
for _ in range(200):t.right(1)t.forward(2)
t.forward(224)t.end_fill()
t.hideturtle()
turtle.done()

方法4:3D愛心(Matplotlib 3D)

原理??:使用三維隱函數繪制立體愛心
??效果??:紅色半透明3D心形,可旋轉視角

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dfig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')# 生成3D網格
u = np.linspace(-np.pi, np.pi, 100)
v = np.linspace(0, np.pi, 100)
u, v = np.meshgrid(u, v)# 3D心形參數方程
x = np.sin(u) * np.cos(v)
y = np.sin(u) * np.sin(v)
z = np.cos(u) # 心形變換
x = x * (np.sin(v) * np.cos(u) * 0.5 + 1)
y = y * (np.sin(v) * np.sin(u) * 0.5 + 1)
z = 1.5 * (z * 0.9 + v * 0.1)# 繪制表面
ax.plot_surface(x, y, z, color='red', alpha=0.7, edgecolor='darkred')# 美化設置
ax.set_axis_off()
ax.view_init(elev=30, azim=-60)
plt.title('3D Heart', fontsize=14)
plt.show()

創意擴展建議

  1. ??動態效果??:添加脈動動畫(縮放/顏色變化)
  2. ??文字融入??:在愛心中心添加自定義文字
  3. ??物理效果??:使用粒子系統模擬愛心形成過程
  4. ??照片組合??:將照片排列成心形
  5. ??交互功能??:點擊添加文字/修改顏色

方法選擇指南:

  • ??快速展示??:字符畫愛心(方法2)
  • ??數學可視化??:2D/3D方程繪制(方法1/4)
  • ??教學演示??:Turtle動畫繪制(方法3)
  • ??情人節程序??:可組合多種方法添加個性化文字

以上代碼均可直接運行,只需安裝相應庫(pip install numpy matplotlib)。3D繪圖需要較新版本的Matplotlib庫支持。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83586.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Unity】R3 CSharp 響應式編程 - 使用篇(二)

一、通用的事件監聽用法 using System;using R3;using UnityEngine;namespace Aladdin.Standard.Observable.Common{public class CommonObservable : MonoBehaviour{// 默認會調用1次public SerializableReactiveProperty<int> serializableReactiveProperty;…

【原理解析】為什么顯示器Fliker dB值越大,閃爍程度越輕?

顯示器Fliker 1 顯示器閃爍現象說明2 Fliker量測方法2.1 FMA法2.2 JEITA法問題答疑&#xff1a;為什么顯示器Fliker dB值越大&#xff0c;閃爍程度越輕&#xff1f; 3 參考文獻 1 顯示器閃爍現象說明 當一個光源閃爍超過每秒10次以上就可在人眼中產生視覺殘留&#xff0c;此時…

3.需求分析與測試用例設計方法

設計方法 測試點 定義: 測試時需要考慮的可測試方面&#xff0c;不同公司可能稱為"檢查點"或其它名稱特點: 是需求分析的最后一個環節&#xff0c;用于解決"測哪里"和"怎么測"的問題舉例說明: 如同打架時的各種招數&#xff0c;如直接約架、設…

IEC 61347-1:2015 燈控制裝置安全標準詳解

IEC 61347-1:2015燈控制裝置安全標準詳解 IEC 61347-1:2015 是國際電工委員會&#xff08;IEC&#xff09;發布的燈控制裝置第1部分&#xff1a;通用要求和安全要求的核心標準&#xff0c;為各類照明用電子控制設備設定了全球通用的安全基準。該標準適用于獨立式或內置于燈具/…

從 GPT 的發展看大模型的演進

這是一個技術爆炸的時代。一起來看看 GPT 誕生后&#xff0c;與BERT 的角逐。 BERT 和 GPT 是基于 Transformer 模型架構的兩種不同類型的預訓練語言模型。它們之間的角逐可以從 Transformer 的編碼解碼結構角度來分析。 BERT&#xff08;Bidirectional Encoder Representatio…

多目標粒子群優化算法(MOPSO),用于解決無人機三維路徑規劃問題,Matlab代碼實現

多目標粒子群優化算法&#xff08;MOPSO&#xff09;&#xff0c;用于解決無人機三維路徑規劃問題&#xff0c;Matlab代碼實現 目錄 多目標粒子群優化算法&#xff08;MOPSO&#xff09;&#xff0c;用于解決無人機三維路徑規劃問題&#xff0c;Matlab代碼實現效果一覽基本介紹…

貪心算法應用:集合覆蓋問題詳解

貪心算法與集合覆蓋問題詳解 貪心算法在組合優化問題中展現出獨特優勢&#xff0c;集合覆蓋問題&#xff08;Set Cover Problem&#xff09;是其中的經典案例。本文將用2萬字全面解析貪心算法在集合覆蓋/劃分中的應用&#xff0c;涵蓋算法原理、正確性分析、Java實現、復雜度證…

MCP:讓AI工具協作變得像聊天一樣簡單 [特殊字符]

想象一下,你正在處理一個項目,需要從A平臺查看團隊討論,從B平臺獲取客戶信息,還要在GitHub上檢查代碼進度。傳統做法是什么?打開三個不同的網頁,在各個平臺間來回切換,復制粘貼數據,最后還可能因為信息分散而遺漏重要細節。 聽起來很熟悉?這正是當前工作流程的痛點所…

docker不用dockerfile

好的&#xff01;既然你不想使用 Dockerfile&#xff0c;我們就完全不寫 Dockerfile&#xff0c;改用你 Leader 提到的思路&#xff1a; 用基礎鏡像啟動一個容器 → 手動在容器里安裝依賴和復制項目 → 保存為新鏡像 這個方式更直觀&#xff0c;就像“你進入容器自己配置環境&a…

React與Vue核心區別對比

React 和 Vue 都是當今最流行、功能強大的前端 JavaScript 框架&#xff0c;用于構建用戶界面。它們有很多相似之處&#xff08;比如組件化、虛擬 DOM、響應式數據綁定&#xff09;&#xff0c;但也存在一些核心差異。以下是它們的主要區別&#xff1a; 1. 核心設計與哲學 Rea…

強化學習-深度學習和強化學習領域

在深度學習和強化學習領域&#xff0c;SFT&#xff08;Supervised Fine-Tuning&#xff09; 和 GRPO&#xff08;可能指 Gradient-based Policy Optimization 或 Reinforcement Learning with Policy Optimization&#xff09;是兩種不同的訓練范式&#xff0c;常用于模型微調或…

在 ABP VNext 中集成 Serilog:打造可觀測、結構化日志系統

&#x1f680; 在 ABP VNext 中集成 Serilog&#xff1a;打造可觀測、結構化日志系統 &#x1f4da; 目錄 &#x1f680; 在 ABP VNext 中集成 Serilog&#xff1a;打造可觀測、結構化日志系統1. 為什么要使用結構化日志&#xff1f; &#x1f914;2. 核心集成步驟 &#x1f6e…

API異常信息如何實時發送到釘釘

#背景 對于一些重要的API&#xff0c;開發人員會非常關注API有沒有報錯&#xff0c;為了方便開發人員第一時間獲取錯誤信息&#xff0c;我們可以使用插件來將API報錯實時發送到釘釘群。 接下來我們就來實操如何實現 #準備工作 #創建釘釘群 如果已有釘釘群&#xff0c;可以跳…

Stone 3D新版本發布,添加玩家控制和生物模擬等組件,增強路徑編輯功能,優化材質編輯

后續版本號改為構建日期加小版本&#xff0c;所以最新版本為20250603.01 功能更新如下&#xff1a; 1. 改寫fps-controls組件&#xff0c;簡化游戲應用的創建&#xff0c;你只需要一個場景glb&#xff0c;然后給Scene節點添加fps-controls組件&#xff0c;即可完成一個第一人…

【C++11】折疊引用和完美轉發

目錄 一. 前言二. 引用折疊引用折疊的規則 三. 完美轉發完美轉發適用場景完美轉發底層實現思考1思考2 一. 前言 在函數傳參時&#xff0c;如果想保持某個參數的屬性不改變&#xff0c;需要完美轉發&#xff0c;而完美轉發的實現需要折疊引用的幫助 二. 引用折疊 在語法上&am…

Vue 樹狀結構控件

1、效果圖如下所示&#xff1a; 2、網絡請求的數據結構如下&#xff1a; 3、新建插件文件&#xff1a;menu-tree.vue&#xff0c;插件代碼如下&#xff1a; <template><div class"root"><div class"parent" click"onParentClick(pare…

洛谷P12610 ——[CCC 2025 Junior] Donut Shop

題目背景 Score: 15. 題目描述 The owner of a donut shop spends the day baking and selling donuts. Given the events that happen over the course of the day, your job is to determine the number of donuts remaining when the shop closes. 輸入格式 The first …

數據挖掘頂刊《IEEE Transactions on Knowledge and Data Engineering》2025年5月研究熱點都有些什么?

本推文對2025年5月出版的數據挖掘領域國際頂級期刊《IEEE Transactions on Knowledge and Data Engineering》進行了分析&#xff0c;對收錄的62篇論文的關鍵詞與研究主題進行了匯總&#xff0c;并對其中的研究熱點進行了深入分析&#xff0c;希望能為相關領域的研究人員提供有…

華為OD機試真題——最小的調整次數/特異性雙端隊列(2025B卷:100分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 B卷 100分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 2025華為OD真題目錄+全流程解析/備考攻略/經驗分享 華為OD機試真題《最小的調整次數/特異性雙端…

2024年ESWA SCI1區TOP,自適應學習灰狼算法ALGWO+無線傳感器網絡覆蓋優化,深度解析+性能實測

目錄 1.端午快樂2.摘要3.灰狼算法GWO原理4.改進策略5.結果展示6.參考文獻7.代碼獲取8.讀者交流 1.端午快樂 今天端午節&#xff0c;祝各位朋友端午安康&#xff0c;闔家平安&#xff01; 2.摘要 無線傳感器網絡&#xff08;WSNs&#xff09;是一種被廣泛應用的新興技術&…