高大上的数学科普视频,敲敲代码就能出来!

流体中的流线【StreamLines】的实现 这些参数允许有效地控制动画的性质,包括持续时间、流动速度、延迟情况、以及整体动画表现的风格和流动特性。通过调整这些参数,您能够创建出更丰富、更动感的动画效果。如果您还有其他疑问或需要进一步的说明,请告诉我! 阅读详情

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!


先请大家看一个短视频,只有 15 秒。

厉害吧!猜猜这个视频的制作要花多久?

只需要 55 行代码,估算下来的话可能只需要几分钟的时间,就生产出来了这样一个质量看上去很不错的视频了。

本文想要向大家分享的,就是这个数学科普视频制作背后的利器:Manim。

Manim 最近登上了 Github 上的热门项目榜,而且是排名第一。它其实是一个专业输出数学科普视频的动画引擎。登上热门榜单,就是因为它足够强大,功能尤其神奇。

Manim 是基于 Python 语言实现的,具体安装方法这里不做详细介绍,大家可以在项目文档中找到。我们主要来欣赏一下 Manim 的具体用法和神奇强大之处。

不想安装项目,但是又想了解项目的小伙伴,可以通过项目提供的 Jupyter Notebook 进行体验。地址如下:https://mybinder.org/v2/gh/ManimCommunity/jupyter_examples/HEAD?filepath=basic_example_scenes.ipynb

一个简单的示例

这个例子,展示了一个正方形如何变换成圆形。代码不多,就 10 来行:

from manim import *


class SquareToCircle(Scene):
    def construct(self):
        circle = Circle()
        square = Square()
        square.flip(RIGHT)
        square.rotate(-3 * TAU / 8)
        circle.set_fill(PINK, opacity=0.5)

        self.play(Create(square))
        self.play(Transform(square, circle))
        self.play(FadeOut(square))

怎么查看视频呢?我们将上述代码,保存在一个名为 example.py 的文件中,然后在命令行中执行如下命令:

manim -p -ql example.py SquareToCircle

这个时候,系统默认的播放器就会弹出,然后播放下面这个视频:

用法说明

从上面的例子,可以看出 Manim 提供了一个命令行工具,给定文件及文件中的类后,即可执行命令。具体说明如下图所示:

上图命令中,-p 表示我们要预览最终视频文件,这样程序完成视频渲染后就会自动打开文件。-ql 表示用较低的质量进行快速渲染。

其他可能会用到的标签如下:

  • -s 可以跳到视频最后一帧

  • -n <数字> 可以跳到某个场景的第 n 个动画

  • -f 在文件浏览器中展示视频文件

Jupyter集成

在命令行使用 Manim,看上去还是不太方便的,要保存文件并执行命令。为了方便开发者,Manim 还提供了一个 IPython 魔法命令:%%manim,支持在 Jupyterlab 中使用。

上面提到的示例,就可以查看具体的使用方式了。

文首视频背后的代码

最后贴一下最开始分享视频的代码,55 行左右而已,爱折腾的小伙伴下班后赶快体验起来吧!

from manim import *

class OpeningManim(Scene):
    def construct(self):
        title = Tex(r"This is some \LaTeX")
        basel = MathTex(r"\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}")
        VGroup(title, basel).arrange(DOWN)
        self.play(
            Write(title),
            FadeIn(basel, shift=DOWN),
        )
        self.wait()

        transform_title = Tex("That was a transform")
        transform_title.to_corner(UP + LEFT)
        self.play(
            Transform(title, transform_title),
            LaggedStart(*[FadeOut(obj, shift=DOWN) for obj in basel]),
        )
        self.wait()

        grid = NumberPlane()
        grid_title = Tex("This is a grid")
        grid_title.scale(1.5)
        grid_title.move_to(transform_title)

        self.add(grid, grid_title)  # Make sure title is on top of grid
        self.play(
            FadeOut(title),
            FadeIn(grid_title, shift=UP),
            Create(grid, run_time=3, lag_ratio=0.1),
        )
        self.wait()

        grid_transform_title = Tex(
            r"That was a non-linear function \\ applied to the grid"
        )
        grid_transform_title.move_to(grid_title, UL)
        grid.prepare_for_nonlinear_transform()
        self.play(
            grid.animate.apply_function(
                lambda p: p
                          + np.array(
                    [
                        np.sin(p[1]),
                        np.sin(p[0]),
                        0,
                    ]
                )
            ),
            run_time=3,
        )
        self.wait()
        self.play(Transform(grid_title, grid_transform_title))
        self.wait()

题图:pexels,CC0 授权。

????分享、点赞、在看,给个三连击呗!????

7句数学名言背后的思维本质与教学实践 数学思维不是抽象符号的堆砌,而是逻辑严谨性、直觉创造力与结构关系意识的统一。从哥德尔不完备性揭示的形式系统边界,到布尔巴基‘数学即关系’对现代知识图谱与AI建模的奠基性影响;从康托尔无穷理论支撑加密安全与云计算调度,到哈代‘数学之美’在AlphaFold和大模型损失函数设计中的工程落地——这些思想并非历史陈迹,而是可被拆解、验证、迁移的底层认知工具。本文聚焦数学教育中最具张力的7句经典名言,还原其原始语境、认知冲突与当代技术映射,为教师提供可直接嵌入课堂的具身化教学方案,让数学思维真正从纸面走向问题解决现场 阅读详情

相关推荐

数学建模竞赛FAST反射面调节:从几何映射到海量数据优化实战

在工程优化与科学计算领域,处理大型结构的形态控制问题是一个经典课题,其核心原理在于通过几何映射与数值优化,实现从初始形态到目标形态的高精度转换。这一技术的关键价值在于能够将复杂的物理约束(如促动器行程)转化为可求解的数学模型,从而在航空航天、精密光学仪器等高端装备制造中实现性能优化。具体到射电望远镜的主动反射面调节,问题便归结为如何建立球面到抛物面的精确几何关系,并高效处理数十万节点的海量数据。本文以全国大学生数学建模竞赛A题为背景,深入剖析了**牛顿迭代法**与**模拟退火算法**在该类问题中的综合应用,

weixin_29061509的博客 290

manim边做边学--动画组合

此例中,LaggedStartMap的优势在于可以方便地对一组对象应用相同的动画操作,并且通过lag_ratio(设置为 0.2)实现逐个对象动画的延迟效果。Succession用于创建复杂的动画流程,确保动画按照特定的顺序执行,动画会按照它们被添加的顺序依次播放,前一个动画完成后,下一个动画才会开始。示例中同时启动圆形的移动动画和正方形的变色动画,让多个对象的不同动画效果同时呈现,且所有动画在同一时刻开始和结束。LaggedStart用于创建具有节奏感的动画序列,使观众能够清晰地看到每个动画的发生过程。

weixin_55010563的博客 641

国赛A题备战指南:从团队组建到论文写作的实战经验

数学建模是将现实问题转化为数学问题,并通过模型构建与求解来提供解决方案的关键技术。其核心原理在于运用数学语言描述复杂系统,通过算法实现数值计算与仿真,技术价值体现在培养问题抽象、逻辑推理与工程实现能力。在工程优化、数据分析、科学预测等场景中,数学建模是重要的基础工具。本文聚焦全国大学生数学建模竞赛A题,针对其理工科背景与高要求特点,深入探讨团队角色分工、核心模型应用与编程实现。文中特别强调了MATLAB在数值计算中的优势,并详细解析了微分方程模型在解决实际工程问题时的构建与求解过程,为参赛者提供了一套从入门

weixin_34087307的博客 342

在jupyternotebook中使用manim

使用jupyter编辑manim

m0_56858602的博客 1171

jupyter-manim:IPythonJupyter的manim单元魔术显示输出视频

朱庇特·马尼姆 当使用%%manim单元魔术包装场景定义时,将3b1b的 (用于解释性数学视频的动画引擎)与Jupyter集成在一起,以显示最终的视频。 快速预览 上面示例中的代码来自出色的。 ,在浏览器中运行实时演示。 安装 pip3 install jupyter-manim 注意:使用Manim社区版时,您无需安装此扩展,因为它已%%manim魔术。 用法 要启用manim魔术,请首先运行import jupyter_manim 。 然后,您可以像使用manim命令一样使用魔术:将参数传递给manim,就像这些参数是命令行选项一样。 例如,要渲染用Shapes(Scene)类定义的Shapes(Scene)使用 % % manim Shapes from manimlib . scene . scene import Scene from manimlib . mobje

cs231n作业 assignment 1 q1 q2 q3

请先看课程作业地址。有两种做作业的方法,一种是在google Colab上做 (需魔法),另一种就是下载到本地,但是我懒得在本地配置环境,太麻烦了,还得修改一些基础代码,我就直接在google colab上做了google colab 配置环境只需要跟着教程走就好了最后还有一题解答题懒得做的,这个题目做的没啥意思。让我们用简单写法来实现softmax的loss函数与梯度计算。

Leezed525的博客 9278

Jupyter-Manim 使用教程

Jupyter-Manim 使用教程 项目介绍 Jupyter-Manim 是一个结合了 Jupyter Notebook 和 Manim 动画引擎的开源项目。Manim 是一个用于创建数学动画的强大工具,而 Jupyter Notebook 则是一个交互式的计算环境,两者结合可以使得数学动画的创建和展示更加便捷和直观。 项目快速启动 安装 首先,确保你已经安装了 Python 和 Jupyter...

gitblog_00986的博客 1146

手把手教你用Microsoft AEC Challenge数据集训练自己的回声消除模型(附完整代码)

本文详细介绍了如何使用Microsoft AEC Challenge数据集训练专业的回声消除模型,包括环境准备、数据清洗、模型架构设计、训练流程和实际部署注意事项。通过完整的代码示例和实战指南,帮助开发者快速掌握AEC技术,提升语音通信系统的回声消除效果。

weixin_27697385的博客 460

B站最火数学视频3Blue1Brown是如何制作的

授权转发自 知乎网友 李狗嗨原文地址:https://www.zhihu.com/question/57357012/answer/723888621相信很多人都知道3B...

量子位 3413

模拟IC设计避坑:手把手教你用Cadence仿真恒定跨导轨到轨运放(附完整工艺库文件)

本文详细解析了使用Cadence仿真恒定跨导轨到轨运放的全流程,涵盖电路原理、工艺库配置、尺寸设计及仿真分析。通过1:3电流镜补偿技术实现跨导稳定,提供CSMC 0.25um工艺下的实战案例,帮助工程师规避设计陷阱,提升模拟IC设计效率。

weixin_30952535的博客 500

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

MediaPipeUnityPlugin(最新版)摇摆拳人脸识别

不忘初心 方得始终 2984

【大模型】高中生都能看懂的AIGC科普

之前了解AIGC都是碎片化的从抖音、小红书、知乎这些平台上随机学到的,但说实话跟没看过一样,了解到的太过表面,而且由于知识不成框架体系很容易在看到新的观点时动摇。在试了非常多错后,小田的感觉是在科技科普、生物、生命科学这些科普上还是要系统的翻阅学习一下书籍。现在非常多的大众科普书籍语言不再那么“高大上”,“接地气”的书籍越来越多,那些前沿的知识也在慢慢的惠及到我们每一个普通人,在读书的渠道上真的非常推荐微信读书(因为不用花钱就可以看到很多书)。

田sir的超大芝士矩阵 1816

具身智能:原理、算法与系统 第3章 具身智能的感知-认知-行为框架

具身智能的PCB框架源于对生物智能系统的观察:动物通过感官接收环境信息(感知),基于内部模型进行预测和决策(认知),并通过身体执行动作改变环境(行为),而这一改变又通过感知反馈形成闭环。这一框架在两篇核心文献中得到了深入阐述:提出了系统的数学形式化和工程实现,则从认知科学角度强调了归纳偏置和双过程理论的重要性。

VectorShift的博客 156

科普之旅|解锁DeepSeek实用技能,让AI为你所用

但AI可不只是个搜索引擎,要是你希望它在对付数学难题的时候,能像个“数学大神”一样深入思考,有个堪称“秘密武器”的万能提示词:“请在你的思考分析过程中进行批判性思考、同时反面考虑你的回答,并且要对回答进行多次深入复盘,务必详尽。比如,你热衷旅游,想为亲子家庭规划一次去成都的五日游,就可以这样说:“你是旅行规划达人,擅长打造亲子旅游路线,我是准备带孩子出游的家长,需求是规划成都五日游行程,要求涵盖适合亲子的景点与活动,面向亲子家庭人群。刚开始对话,别绕圈子,直接把你的需求和相关背景讲清楚。

数据派THU 1051

SPICE仿真软件:HSPICE_(22).HSPICE仿真案例分析

通过上述案例分析,我们可以看到HSPICE仿真软件在不同电路类型和仿真场景中的应用。无论是简单的直流分析、交流分析还是复杂的暂态分析,HSPICE都能提供详细的仿真结果,帮助我们更好地理解和优化电路设计。希望这些案例能够为读者提供实用的参考和指导,进一步提升使用HSPICE进行电路仿真的能力。输入文件的编写:确保输入文件格式正确,使用注释来解释每一部分的内容。分析类型的选择:根据电路的特点选择合适的分析类型,如.DC.AC和.TRAN。输出结果的设置:使用.print命令来指定需要输出的节点电压和支路电流。

kkchenjj的博客 1309

华为 MetaERP 总账模块依托 “交易即核算” 的事件驱动架构,与 Oracle EBS 相比,更强调业务事件自动触发财务动作、实时数据同步和智能规则引擎,实现业务与财务的深度融合

华为MetaERP总账模块采用"交易即核算"架构,相比Oracle EBS实现了三大突破:1)业务事件自动触发财务动作,如采购收货自动生成暂估凭证;2)业务财务数据实时同步,支持即时分析;3)内置智能规则引擎,实现自动匹配、核销和结转。该模块覆盖采购、销售、资产、薪酬等全业务场景,支持多维核算和关联交易自动抵消,显著提升核算效率与准确性。其中采购暂估、销售结转等场景实现全自动化处理,较EBS减少80%手工操作。

金牌架构师 226

Wan2.2-T2V-5B能否生成Layer2扩容方案演示?技术传播新途径

Wan2.2-T2V-5B模型可通过文本自动生成Layer2扩容机制的可视化视频,降低技术理解门槛。该模型轻量高效,支持本地运行,适用于快速制作区块链科普动画,助力技术传播与多语言分发。

weixin_42284380的博客 655

运行codex时出现登录失败:failed to start login server: 以一种访问权限不允许的方式做了一个访问套接字的尝试。 (os error 10013) 解决方案

的本质是Windows 系统端口保留策略而非代码 bug。推荐使用方案一(调整动态端口范围),一劳永逸解决。如果你安装了 Docker Desktop 或启用了 WSL2,调整端口范围后记得检查相关服务是否正常运行。

一键难忘的博客 4165

厉害了,Pandas 的表格居然能变得怎么漂亮!

点击上方“编程派”,选择设为“设为星标”优质文章,第一时间送达!在使用Pandas分析数据时,我们可能经常需要来高亮显示某些数据,以便一眼看出这些数据的不同之处,今天小编就来分享一下如何在...

codingpy的博客 2138

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

能告诉我哪种编程语言最难学吗?

程序员 Dobiasd 绘制七种编程语言的学习曲线图。这些语言是:JavaScript、Java、C++、Python、Lisp、Haskell、PHP。这些语言你都学过吗?快来留言说说...

codingpy的博客 218

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

零基础快速入门:什么是AI?

AI 不是魔法,而是一种基于数据和统计的技术。作为零基础新手,你完全不需要畏惧它。从体验产品开始,到理解概念,再到动手使用,你就能快速建立起对 AI 的认知。

养猪指南 228

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

这几周,Sora让网络工程师恐慌了

下午好,我的网工朋友最近爆火的Sora,作为OpenAI的新一代产品,引发了极大的热议。比起当初的chatGPT4.0,Sora引起的恐慌有过之而无不及。Sora模型是一个用于视频生成和文本到视频转换的神经网络模型。它可以接受文本描述作为输入并生成相应的视频内容。这使得Sora模型可以用于创建视频内容,如动画、电影、视频游戏等,或者将文本想法转换为可视化的视频形式。一句话概括,其实Sora就是一种利用文本生成视频的AI模型。

838

b站前端大佬_最强UP主:罗翔老师,你凭什么打败B站千万粉大佬老番茄?

最 强 UP 主:罗翔老师,你凭什么打败B站千万粉大佬老番茄?关注:萌面笨博士,关注新媒体营销,关注商业模式创新! 老番茄,学名老西红柿,小号老圣女果。行走游戏江湖(Bilibili游戏区)多年,于2020年4月正式登顶B站,成为B站千万粉大佬第一人。彼时,很多粉丝和同行都认为老番茄或许会独霸这个“惊人”的数据很长时间,因为B站流量正处于从风口到平稳期的过渡阶段,创造一个新的IP或大量新粉丝出现在...

weixin_39917046的博客 1122

模拟usb设备_多媒体设备接头(连接器)介绍以及公母识别

多媒体互动设备连接器时候各种连接头,下面我们科普下设备连接头(连接器)。一、连接器介绍  认识连接器,先从区分连接器的公头母头开始。熟悉连接器行业的人应该知道,连接器通常分为公连接器和母连接器,因此如何区分公连接器和母连接器。  在电子和机械行业中,无论是为了方便贸易还是制造,连接器或者一些紧固件会通常设计成公端与母端。通俗来讲,母端的作用就是接收、接纳公端。有一个或多个突起的片段,或者...

weixin_39905226的博客 3420

从代码火箭到AI开放:技术生态的多元叙事与工程实践启示

在当今技术生态中,开源硬件与低代码工具的普及正推动着技术学习的民主化,使个体开发者能够通过项目化学习快速验证创意。这一趋势背后,是云计算与SaaS服务成为数字基础设施核心所引发的责任边界思考,服务等级协议(SLA)的局限性与供应链依赖风险日益凸显。随着大模型技术进入应用普及深水区,平台级AI能力开放为内容创作与软件开发带来了新的效率提升机会,同时也对数据隐私、版权合规及架构韧性提出了更高要求。本文通过分析青少年创造力、云服务地缘博弈及AI开放案例,揭示了技术从个体创新到国家战略与产业落地的完整影响力扩散图谱

weixin_30325487的博客 373

2022年--读书笔记

想写读书笔记有一段时间了,读书不像学习,学习很多东西需要强记背诵,运用到考试当中或者工作工作中。读书只是为了心情愉悦,也不是说什么高大上的修身养性。高尔基曾经说过:书籍是人类进步的阶梯。书籍是人人都能拥有的财富,是千年流传下来的最宝贵的遗产。随着手机、电脑的兴起,很多人无论是有没有时间,要么就是忙碌在工作和学习中,要么就是刷视频玩游戏。一年到头很难完整的看一本书。像程序员,可能会经常啃技术书籍。这也算读书吧,但感觉意义有所不同。至于我为什么读书 ,是由于上班熬夜的问题。

qq_38409301的博客 881
上一篇: Linux 能替代 Windows 吗?
下一篇: VS Code 强大的开源 Debug 工具,实时可视化,一键解析代码结构
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值