news 2026/6/26 1:32:27

ymPy 初识与 Manim 联动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ymPy 初识与 Manim 联动

下面是我正在做的一个抛物线演示动画。

需求很简单:展示一个二次函数 y=x2−2x−1 的图像,并在上面标注几个关键点。

问题来了

  • 当我想调整函数参数时(比如把 −2x 改成 −3x),所有点的坐标都要手动重算
  • 计算 x=1.5 时的函数值?掏出计算器 → 1.52−2×1.5−1=−1.75 → 再手动填回代码
  • 顶点坐标?求导 → 令导数等于0 → 解方程 → 计算 y 值 → 再填回代码
  • 对称轴和 x 轴的交点?求根公式 → 计算器 → 填代码

一个参数改动,我要重新计算七八个坐标值。这哪是在做动画,分明是在做数学作业!

直到我发现了SymPy这个神器。

SymPy 是什么?为什么 Manim 动画需要它?

简单说,SymPy 是一个 Python 的符号计算库

别被"符号计算"这个词吓到,用大白话讲就是:

让计算机帮你"列式子、解方程、求导数",而不是你自己手算。

数值计算 vs 符号计算

看一个更直观的对比,你会立刻明白符号计算的强大:

import math import sympy as sp # ========== 场景:计算 sin(π/3) 的精确值 ========== # 数值计算 - 得到近似小数 result_num = math.sin(math.pi / 3) print(f"数值计算: {result_num}") # 输出: 0.8660254037844386 ← 这是近似值,不知道它等于 √3/2 # 符号计算 - 得到精确表达式 x = sp.Symbol('x') result_sym = sp.sin(sp.pi / 3) print(f"符号计算: {result_sym}") # 输出: sqrt(3)/2 ← 精确的数学表达式! # 场景1:求平方 print("\n=== 求 (sin(π/3))² ===") # 数值计算 - 精度损失 square_num = result_num ** 2 print(f"数值: {square_num}") # 输出: 0.7499999999999999 ← 本应是 0.75,有浮点误差! # 符号计算 - 精确化简 square_sym = result_sym ** 2 print(f"符号: {square_sym}") # 输出: 3/4 ← 精确值!

关键对比总结

特性数值计算 (math)符号计算 (sympy)
sin(π/3)0.86602540378...√3/2
平方后0.749999999999...3/4
能否继续代数运算❌ 只能数值近似✅ 可代入方程、求导、化简
浮点精度问题⚠️ 存在误差累积✅ 完全精确

符号计算的灵活性体现在

  1. 保持数学形式√3/20.866...更有数学意义
  2. 自动化简(√3/2)²自动变成3/4
  3. 代数兼容:可以继续解方程、求导、积分,保持精确形式

这对 Manim 动画尤为重要——你不仅需要坐标值,更需要数学关系的可视化,而符号计算保留了这种关系!

避免累积误差

符号计算在累积的计算中,能够有效的降低误差。

比如公式:In=1−n×In−1其中 I0=e−1。分别累积计算以后:

n符号计算数值计算 (模拟8位小数精度)误差分析
0e−10.71828183初始误差: ≈1.5×10−9
12−e0.28171817误差微小
22e−50.43656366误差开始累积
316−6e0.30860902
424e−650.23687292
5326−120e0.18276460误差开始显现
61956e−53150.15054840
713692−5040e0.12145720
8109536e−2983250.10364240
9985824−2691360e0.08385840
1026913600e−733093650.07515840偏差明显
11296049600−807408000e0.09173440
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 1:32:02

2026徐州定制义眼片服务商测评:适配本地需求的专业机构深度解析

一、义眼定制行业的现状与徐州本地需求背景随着眼健康意识的提升,眼部缺损、眼球萎缩等问题患者对义眼定制的需求逐年增长。这类需求涵盖先天性眼部异常、后天外伤、病变摘除等多种情况,核心诉求是获得高仿真、适配性强、售后有保障的义眼产品&#xff0…

作者头像 李华
网站建设 2026/6/26 1:29:48

MonetaMarkets的账户协同感够不够清楚?

如果把MonetaMarkets放回真实使用场景来看,用户最关心的还是“围绕MonetaMarkets多端体验看,会更顺畅吗”是否说得明白。这种偏专业的表达方式,不靠夸张结论取胜,而是把正面感受落到可感知的细节里。因此,文章如果从场…

作者头像 李华
网站建设 2026/6/26 1:27:22

专科生逆袭:暑假自学冲刺专升本

我是一名来自顺德职业技术大学的24级大数据技术专科生,在某一天的凌晨看到别人美好的生活突然压力山大决定考27年专升本,目标是公办本科。现在打算自己在b站等各个软件上找需要的视频自学,打算在暑假两个月内学完c语言和第一遍的高数&#xf…

作者头像 李华
网站建设 2026/6/26 1:26:51

拦截APP开屏广告:一指禅安装包下载

今天想和大家分享一款近期让我爱不释手的效率工具——一指禅最新版APP。如果你也和我一样厌倦了各种弹窗广告的骚扰,这篇实测体验或许能为你打开新世界的大门。▌核心亮点直击痛点• 智能拦截:无论是应用启动时的5秒倒计时,还是视频播放前的贴…

作者头像 李华
网站建设 2026/6/26 1:23:29

网络工作不是只懂原理:我对工作成长的五个层次思考

很多刚进入网络IT行业的人,容易把“学技术”理解成学命令、学配置、学产品参数、学故障处理步骤。 这些当然重要,但工作一段时间后会发现:真正能把事情做好的人,往往不只是“会技术”,而是能理解业务、能处理人情事故…

作者头像 李华
网站建设 2026/6/26 1:22:30

科大讯飞发布招采全链路AI智能体平台 招采行业迈入AI原生新阶段

伴随政策指引与技术迭代,招采行业人工智能应用正迎来规模化落地的关键窗口期。从单点工具赋能到全链路体系重构,行业对AI的期待已不止于关键环节提效,更指向可覆盖全业务流程、可持续迭代进化的智能底座。6月25日,以“智采未来全链…

作者头像 李华