不用写代码!用DeepSeek3分钟学会制作数学动画,效果惊艳~

文摘   2025-02-06 20:23   马来西亚  

大家好,我是快乐搞AI的樂樂💚 

 

前两天在群里看到了一个问题: 

 

emmmm……有问题,直接问DS(当然最好开深度思考和联网模式) 

懒到直接照搬群友的提问 

🏆

怎么用Deepseek把抽象的数学公式转为直观的图形? 

哈哈哈哈“能用户以为DeepSeek是一个多功能的A!,或者他们听说DeepSeek有某些集成工具。” 

 

于是, 

DeepSeek给推荐了一些网站和工具: 

📚
  • Desmos(在线图形计算器):

  1. 访问 https://www.desmos.com/calculator

  2. 直接输入公式如 y = sin(x) + x^2

  3. 自动生成交互式图形

  • GeoGebra

    • 支持3D几何可视化

    • 可绘制参数方程

    • 提供动画控制功能

    Desmos: https://www.desmos.com/ 

    首页这几个点进去还蛮有意思的 

    输入公式得到图像 

    也可以直接在左边选择一些函数查看 

    函数图形可以调整系数也可以直接拖拽控制点,课堂上如果做动态展示效果应该不错 

     

     

     

    GeoGebra:https://www.geogebra.org/?lang=zh-CN 

    点击首页 打开计算器 就能进入公式图示化界面,做法基本一致 

    这俩网站都是输入公式后可以直接显示公式图像,不过有时候比较复杂的公式图像会出现错误 

     

    不过樂樂觉得效果一般,再加上看到这个我想到,一定有人已经用它做过很多软件和视频了,何不直接使用呢? 

    于是我又问: 

    🎁

    有没有什么推荐的课程和网站,有人做了数学和理科可视化的视频/工具 

     

    以下是DeepSeek的回答: 

    🌅
    1. GeoGebra

    • 特点:全学科覆盖,支持几何、代数、微积分、统计等动态演示,提供参数化交互和3D绘图功能。

    • 应用场景:微积分切线变化演示、矩阵线性变换可视化、积分面积动态展示411。

    • 学习资源:官方教程、B站UP主“眼见为识”的案例演示411。

  • Desmos

    • 特点:在线图形计算器,支持函数绘图、傅里叶级数模拟,界面极简且无需安装。

    • 应用场景:动态观察方程变化(如方波逼近的吉布斯现象)、概率分布模拟411。

    • 优势:适合快速探索数学图形,支持LaTeX公式输入411。

  • Manim CE

    • 特点:专业数学动画引擎,由3Blue1Brown团队开发,可编程生成定理证明动画。

    • 应用场景:ε-δ定义动态演示、线性变换可视化、神经网络训练过程动画4。

    • 学习路径:需Python基础,推荐结合3Blue1Brown的教程入门4。

  • Wolfram Demonstrations

    • 特点:7000+权威案例库,涵盖微分方程流场、复分析、拓扑学等高级数学领域。

    • 应用场景:黎曼球面映射、复变函数可视化415。

    • 局限:需Mathematica环境支持,部分功能收费415。

  • PHET Interactive Simulations

    • 特点:跨学科互动模拟器,覆盖物理、化学、数学等,通过实验直观理解科学原理。

    • 应用场景:分子运动模拟、光传播实验、动态方程演示11。

    视频资源 

    🍰

    进阶学习资源

    1. B站UP主与视频教程

    • 3Blue1Brown:Manim制作的数学动画(如线性代数本质、微积分直观解释)4。

    • 眼见为识:GeoGebra和Desmos实战案例演示4。

  • 互动教科书

    • Mathigon:叙事化教学,将数学概念融入互动工具(如概率空间映射、向量几何)11。

  • Kaggle竞赛与GitHub项目

    • Fractal Art Generation:通过分形几何生成艺术图形4。

    • VisualGroupTheory:群论的可视化实现4。

    很好捡到宝了 

    3Blue1Brown 是我本来就听说过的一位up主,数学动画做的可有意思了 

    up自己的网站:https://www.3blue1brown.com/ 

    B站:https://space.bilibili.com/88461692?spm_id_from=333.337.0.0 

    太有意思了大家一定要去看👍 

     

    PHET: https://phet.colorado.edu/zh_CN/ 

    这个网站超级棒,希望所有对理工科(物理、数学、化学、地球科学、生物)感兴趣,或者曾经觉得他们很枯燥的 小伙伴都一定要点进去看看,动手互动一下,非常有意思,有各种学科的可以直接调整参数的互动小视频 


     

    例如可以手动调整温室气体量来直接查看它的原理和带来的影响(红线部分都是可以选择或者调整的) 

    (拉高之后眼睁睁看着气温直线上升,万里无云的情况下直接上升20°C) 

    这不比在课堂上放个视频还有意思 

    好我们还是来看一下数学公式: 

    我看不懂,但我大为震撼.jpg 

    其他的平台和up主大家也可以关注一波 

     

    但是我还没死心,我看到DeepSeek在这轮回答中提到了 

    3Blue1Brown:Manim制作的数学动画 

    Manim CE:专业数学动画引擎,由3Blue1Brown团队开发,可编程生成定理证明动画。 

     

    这个软件我听说过的,在上面的回答中提到用它要会用python 

    我会用python吗? 

    我不会啊【骄傲叉腰】 

    可是我知道谁会啊【骄傲叉腰x2】 

     

    话不多说,先上结果,让AI给了我一个测试函数x(t)=sin(t) 

    生成了下面的动画: 

    我看不懂,但我大为震撼.jpg x2 

     

    咋做的,我也不知道,反正是AI做的😂 

     

    好的,接下来就让我们请出AI编程大神:curcor~ 

    https://www.cursor.com/ 

    cursor的安装设置汉化就先不说了,有兴趣的小伙伴在评论区留言或者进群催更,人数多的话我们马上开讲🌻 

     

    这是curcor的主界面,我所有的工作就是不断的在右边的聊天区提问和按照AI给我的提示run(运行程序)和copy(复制代码)和apply(接受代码) 

    我先问: 

    我想要安装mainm,在cursor中做数学动画,请指导我一步步完成 

    于是cursor开始……你先,然后,接着,最后,就行啦 




    可是我也不会装这些pip啥的呀(连它是啥呀我都不知道),于是,我问! 

    🚅

    如何在cursor中安装pip 

    我再问! 

    FFmpeg (视频渲染引擎)如何在cursor中安装 

    按照它这些流程一一安装软件和插件(大部分不需要自己去下载,run完cursor就自动给我下载软件和安装了,个别几个需要检查安装环境和去下载一下) 

    【直播的时候有小伙伴问什么是run】 

    【偶尔也有apply】 

     

    总之一路run,run,run…… 

    终于装好了,开始实验是否能生成动画: 

    from manim import *

    class SquareToCircle(Scene):
        def construct(self):
            # 创建一个正方形
            square = Square()
            # 创建一个圆
            circle = Circle()
            
            # 添加正方形到场景
            self.play(Create(square))
            # 将正方形变形为圆形
            self.play(Transform(square, circle))
            # 等待2
            self.wait(2)

    啪的一下,很快啊,就弹出了一个视频 

     

     

    ok没问题,我雄心勃勃地开始搞复杂函数x(t)=sin(t)的傅里叶变换动图 

     

    这时我基于对DeepSeek编程能力的信任,继续提问: 

    📚

    我已经安装了mainm,请提供一个x(t)=sin(t)的傅里叶变换动图,用manim绘制成动画 

    于是DeepSeek回了我一串代码 

    我看得懂吗,我必然看不懂啊(我怀疑你也看不懂,所以我故意缩小了) 

    但是看起来不错,于是我直接丢给cursor 

    报错!  

    报错!!  

    报错!!!  

    检查了半天,cursor告诉我是给他的代码有问题,版本不符合 

    啊这……怀疑是claude (这时我使用的chat是deepseek)在diss DeepSeek 

    【没事,明天就给cursor装一个DeepSeek来陪我编程】 

     

    为了快速出结果,我决定直接让cursor自己生成【其实可以直接把cursor的报错代码发给DeepSeek让他自己修改,但是……樂樂很懒,不想切换界面】 

    我直接对cursor下命令 

    👍

    请提供一个x(t)=sin(t)的傅里叶变换动图 

    更加颐指气使、高高在上了有木有 

    于是…… 

    报错!  

    报错!!  

    报错!!! 

    【是的又来了一遍】 

    【呜呜呜我应该客气一点的】 

    【甚至做到一半他还让我又装了一个latex……】 

     

    不过也没事,报错代码直接问,AI别的没有,耐心可比男朋友多多了【虽然我并没有男朋友emmm】 

    最后该装的都装了,版本检查check,安装环境check,本地位置check【不要问我什么意思,都是AI让我干的】 

    from manim import *
    import numpy as np

    class FourierTransformSine(Scene):
        def construct(self):
            # 创建坐标轴
            axes = Axes(
                x_range=[-4*PI, 4*PI, PI],
                y_range=[-221],
                axis_config={"color": BLUE},
            ).scale(0.7)

            # 创建sin(t)函数图像
            sin_graph = axes.plot(lambda x: np.sin(x), color=YELLOW)
            
            # 创建标签
            labels = axes.get_axis_labels(x_label="t", y_label="x(t)")
            
            # 创建函数标题
            title = MathTex("x(t)=\\sin(t)").to_corner(UL)

            # 显示时域图像
            self.play(
                Create(axes),
                Create(labels),
                Write(title)
            )
            self.play(Create(sin_graph))
            self.wait(1)

            # 创建频域坐标轴
            freq_axes = Axes(
                x_range=[-441],
                y_range=[-131],
                axis_config={"color": BLUE},
            ).scale(0.7).shift(DOWN * 3)

            # 创建频域标签
            freq_labels = freq_axes.get_axis_labels(x_label="f", y_label="X(f)")

            # 创建频谱(两个冲激函数)
            impulse1 = Line(
                freq_axes.c2p(-10),
                freq_axes.c2p(-1, PI),
                color=RED
            )
            impulse2 = Line(
                freq_axes.c2p(10),
                freq_axes.c2p(1, PI),
                color=RED
            )

            # 显示频域图像
            self.play(
                Create(freq_axes),
                Create(freq_labels)
            )
            
            # 添加频域公式
            freq_formula = MathTex(
                "X(f)=\\pi[\\delta(f-1)-\\delta(f+1)]"
            ).next_to(freq_axes, UP)
            
            self.play(Write(freq_formula))

            # 动画显示冲激函数
            self.play(
                Create(impulse1),
                Create(impulse2)
            )
            
            self.wait(2)

    哈哈哈哈哈哈哈,骄傲叉腰x3 

    【严格来说,中间报错调试不止3分钟,但是去掉这个过程,从提问到下载安装到生成代码到生成动画,也没到3分钟,所以,平衡一下嗯】

     


    如果你还对知识可视化、信息可视化、思维可视化感兴趣,欢迎关注樂樂的公众号和同名视频号,会持续更新可视化的最新咨询和工具哦❤️ 

     

    添加作者二维码了解最新信息: 

     


    AI笔记分享群,大咖云集,长期分享,持续成长,欢迎进群一起学习 

     

     

    下面我们即将推出的AI+笔记小课,欢迎咨询,复制下面的内容到自己微信,就可以点击购买💗 

    #微信小店://阿秒富友研究院/xuoHlSA7Tfbk9mA 

     

    购买后关注自己填写的手机号(注意是否拦截),一般最迟第二天工作时间就能看到邀请进入正课群的链接啦 

     


    AI陪跑
    分享AI知识管理、AI视觉笔记、AI知识可视化等干货知识!
     最新文章