用代码画出会动的心形:一份零基础的数学可视化入门指南
用代码画出会动的心形一份零基础的数学可视化入门指南【免费下载链接】Awesome-Love-Code表白代码收藏馆~谁说程序猿不懂浪漫❤️项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-Love-Code你有没有想过屏幕上一行行冷静的公式其实可以变成一颗会呼吸的爱心、一朵盛开的玫瑰在开源项目Awesome-Love-Code里就收藏着大量这样的表白代码——从 2D 心形曲线到 3D 粒子心形从数学函数到视觉艺术它把数学可视化这件事变成了人人都能上手的浪漫实验。这篇文章会陪着你从零开始亲手做出第一件作品再一步步把它变成立体的、会动的、属于你自己的版本。三分钟画出第一个心形先别急着研究复杂的理论。打开你熟悉的 Python 环境装上matplotlib和numpy这两个库然后新建一个文件把下面这段代码粘进去运行import numpy as np import matplotlib.pyplot as plt t np.linspace(0, 2 * np.pi, 500) 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.plot(x, y, colorred, linewidth2) plt.axis(equal) plt.show()当你看到屏幕上浮现出那颗饱满的红色爱心时恭喜你你的第一件数学可视化作品诞生了。这里面其实没什么玄机t从 0 走到 2π就像秒针绕着表盘转一圈每走一步两个配方会分别算出这一个点的横坐标和纵坐标。一个式子负责让点左右来回摆动另一个负责让点上下起伏几百个点连起来曲线就长成了心的形状。这就是数学可视化最迷人的地方——你不需要背公式只需要理解每个点都遵循同一套规则图形自然会出现。如果你更喜欢 MATLAB仓库的MatLab/001目录里也有同样的心形案例逻辑完全一致跑一遍就懂。想换颜色把colorred改成任何你喜欢的颜色比如粉色hotpink一颗少女心立刻上线。让心形跳动起来的小技巧静态的心形看久了是不是觉得少了点什么接下来我们让它活起来。数学可视化入门后你最该学会的本领就是调参数。就拿刚才的心形来说如果在算式里加一个会随时间变化的系数让曲线每帧都微微变形再把这些帧连起来一颗怦怦跳动的心就出现了。仓库MatLab/002里的案例正是这么做的它在算式里塞进一个不断增大的变量a循环一百次、逐帧保存成 GIF于是有了这张动图调参的过程往往充满惊喜。我第一次做动画时把频率系数设得太大结果心形像发了疯一样乱颤把振幅调小又变成了半死不活的躺平心。后来一点点试才找到那种刚好让人心跳加速的节奏。这就是为什么我一直建议你亲手改参数去体会——同样一行代码0.5和5之间的差别是任何文字都描述不清的。给你一个小口诀频率管节奏、振幅管幅度、相位管起点。想让它跳得优雅就先从慢慢改、每次只改一个数开始。从平面到立体捧起一朵3D玫瑰二维的曲线再漂亮也只是画在纸上。数学可视化的下一步是把图形从纸面托起来变成可以旋转、可以打光的立体模型。仓库的Python/005目录里藏着一个经典的三维心形。它用到的思路和刚才完全一样只是把一个点变成了空间中的一个点除了左右、上下还多了一个前后方向。代码里那行长长的隐函数算式本质上只是说满足这个条件的三维坐标就属于心形表面。看到Python/005/img/eg.jpg里那颗由红色粒子点构成的 3D 心形了吗它就是这样被算出来的如果你想挑战更有成就感的东西一定要试试Python/004里的玫瑰花。它把花瓣想成一圈圈绕在花茎上的曲面每一圈都通过一组参数决定这一层多宽、这一瓣多大、往哪个方向弯。当你看到代码窗口里那朵层层叠叠的 3D 玫瑰被渲染出来你会真切地感受到数学可视化不只是画图更像是在用坐标和颜色雕刻一件作品。立体作品有一个共同的思考套路我建议你记住先想清楚这个物体由哪些面组成再想每个面怎么用坐标表达最后考虑用什么颜色和光照让它好看。拆解清楚了再复杂的模型也能一步步做出来。新手最容易踩的四个坑这一路我也摔过不少跟头把最常见的四个问题列出来帮你省下大把时间Q1为什么我的图形这么丑歪歪扭扭不成形状多半是坐标轴比例不对。横轴和纵轴的刻度单位不一致圆形就会被拉成椭圆。给绘图加上等比例设置比如plt.axis(equal)问题立刻消失。Q23D 图形渲染特别慢转都转不动网格太密了。3D 可视化里的网格点越多、表面越精细计算量就越大。先用低分辨率把形状跑通确认没问题再调高精度这是性价比最高的做法。Q3动画导出后一顿一顿的很不流畅要么是帧与帧之间的参数变化太大了要么是帧率太低。试着把每帧的增量改小、帧数加多动画就会顺滑很多。Q4照着代码敲为什么报错九成是括号或引号没配对。数学可视化代码里嵌套的函数特别多检查一遍成对的括号能救回你半小时的青春。创意发散给作品打上你的专属印记把基础案例跑通之后就到了最好玩的环节——让它变成你的作品。换一套配色。数学可视化的一大乐趣就是玩颜色。除了默认的红色试试深红到粉白的渐变、黑底配荧光粉、或者蓝紫色系的星空心形。仓库Python/007里的粒子心形就是靠颜色渐变做出了梦幻的闪光感那个output文件夹里的每一帧都值得翻一翻能给你不少配色灵感改一个参数。心形的胖瘦、玫瑰的花瓣数、跳动的快慢全藏在参数里。你可以像调音师一样把每个参数都拨一遍记录下哪个数字配出哪种气质。组合多个图形。让一颗大心形身边环绕一圈小心形或者在心形里种上一朵玫瑰。图形之间的组合往往能碰撞出单张图完全做不到的故事感。加一点交互。仓库Python/001里甚至有一个点按钮表白的小游戏把图形和鼠标点击结合起来作品的趣味性立刻翻倍。如果你是 Web 方向Web/目录下还有大量网页版的表白页面思路同样值得借鉴。现在轮到你了数学可视化的美妙之处在于它的门槛低到任何人都能画出第一个心形上限又高到足以承载无限的想象力。从跑通第一段代码到调出第一颗跳动的心再到捧起第一朵 3D 玫瑰——每一次原来如此的惊叹都是你亲手赚来的。如果你想看看别人的创意或者把自己的作品放进去可以用git clone https://gitcode.com/gh_mirrors/aw/Awesome-Love-Code把项目拉下来照着Python/、MatLab/这些目录里的案例一个个试过去。公式是冷的但表达可以很暖。现在打开你的编辑器让第一行代码替你开口吧——你会爱上这种用数学语言说我爱你的方式。【免费下载链接】Awesome-Love-Code表白代码收藏馆~谁说程序猿不懂浪漫❤️项目地址: https://gitcode.com/gh_mirrors/aw/Awesome-Love-Code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

unrpa 解包工具完整上手:一条命令提取 Ren‘Py 游戏全部资源

unrpa 解包工具完整上手:一条命令提取 Ren‘Py 游戏全部资源

unrpa 解包工具完整上手:一条命令提取 RenPy 游戏全部资源 【免费下载链接】unrpa A program to extract files from the RPA archive format. 项目地址: https://gitcode.com/gh_mirrors/un/unrpa 你是否遇到过这样的场景:下载了一款 RenPy 引擎…

2026/8/18 15:01:24 阅读更多 →
RTOS延时机制解析:从osDelay到阻塞延时的本质区别与应用

RTOS延时机制解析:从osDelay到阻塞延时的本质区别与应用

1. 从“卡住”到“让位”:理解RTOS延时的本质 在嵌入式裸机开发里,想让程序“等一会儿”,最常见的做法就是写个 for 循环或者 while 循环,在里面空转,靠CPU指令周期来“硬耗”时间。这种做法简单直接,但…

2026/8/18 15:01:24 阅读更多 →
Sorting-Algorithms-Blender 环境搭建教程:从零安装 Blender 并运行 Python 脚本的完整清单

Sorting-Algorithms-Blender 环境搭建教程:从零安装 Blender 并运行 Python 脚本的完整清单

Sorting-Algorithms-Blender 环境搭建教程:从零安装 Blender 并运行 Python 脚本的完整清单 【免费下载链接】Sorting-Algorithms-Blender Sorting algorithms visualized using the Blender Python API. 项目地址: https://gitcode.com/gh_mirrors/so/Sorting-Al…

2026/8/18 15:01:24 阅读更多 →

最新新闻

esp32C3MINI1的uart0烧录固件问题:ESP-ROM:esp32c3-eco7-20230720 Build:Jul 20 2023...如何解决?

esp32C3MINI1的uart0烧录固件问题:ESP-ROM:esp32c3-eco7-20230720 Build:Jul 20 2023...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属…

2026/8/18 15:36:53 阅读更多 →
单片机毕业设计-基于 STM32 或 51 单片机的坐姿矫正与智能补光一体化系统设计 基于 STM32 或 51 单片机的多传感器环境光照智能调控装置设计(021303)

单片机毕业设计-基于 STM32 或 51 单片机的坐姿矫正与智能补光一体化系统设计 基于 STM32 或 51 单片机的多传感器环境光照智能调控装置设计(021303)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/18 15:36:53 阅读更多 →
ArcadeDB 高可用集群完全指南:Raft 复制、故障转移与数据一致性

ArcadeDB 高可用集群完全指南:Raft 复制、故障转移与数据一致性

ArcadeDB 高可用集群完全指南:Raft 复制、故障转移与数据一致性 【免费下载链接】arcadedb ArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first M…

2026/8/18 15:36:53 阅读更多 →
单片机毕业设计-基于 STM32/51 单片机与 XGZP6847A 传感器的气压监测终端设计 基于单片机的气压数据采集与移动端蓝牙控制系统设计(022403)

单片机毕业设计-基于 STM32/51 单片机与 XGZP6847A 传感器的气压监测终端设计 基于单片机的气压数据采集与移动端蓝牙控制系统设计(022403)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/18 15:36:53 阅读更多 →
如何把 OpenCV 塞进 ESP32?3 个台阶带你入门轻量级计算机视觉

如何把 OpenCV 塞进 ESP32?3 个台阶带你入门轻量级计算机视觉

如何把 OpenCV 塞进 ESP32?3 个台阶带你入门轻量级计算机视觉 【免费下载链接】esp32-opencv Shrinked OpenCV for ESP32 项目地址: https://gitcode.com/gh_mirrors/es/esp32-opencv 很多嵌入式开发者都遇到过这样的场景:好不容易给摄像头模组通…

2026/8/18 15:36:53 阅读更多 →
Toto-2.0-1B-NPU 注意力机制解密:时间轴与变量轴交替建模如何高效捕捉周期

Toto-2.0-1B-NPU 注意力机制解密:时间轴与变量轴交替建模如何高效捕捉周期

Toto-2.0-1B-NPU 注意力机制解密:时间轴与变量轴交替建模如何高效捕捉周期 【免费下载链接】Toto-2.0-1B-NPU 项目地址: https://ai.gitcode.com/z_studio/Toto-2.0-1B-NPU 注意力机制是 Toto-2.0-1B-NPU 这款约 10.4 亿参数时间序列基础模型的灵魂。它由 D…

2026/8/18 15:35:44 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →