Jupyter里面的manim编程学习

news/2025/2/22 16:52:32

Jupyterlab_2">1.Jupyterlab的使用

因为我之前一直都是使用的vscode进行manim编程的,但是今天看的这个教程使用的是Jupyter,我也很是好奇这个manimJupyter这样的交互式下面会生成怎么样的效果,所以今天尝试了jupyter,并且对于两个进行比较和说明;

首先就是进行的这个对应的模块的导入:

from manim import *

然后就是进行的这个绘图操作:

下面的这个就是首先创建这个class类,这个类继承自我们的Scene这个类:

分别绘制出来这个蓝色的圆形和绿色的方形,color和opacity表示的是这个对应的图形的属性,mext_to表示的是两个图形之间的这个临近关系,add表示的是把这个绘制出来的图形添加到我们的画布上面去;

第一行的这个%%manim表示的就是运行我们的创建类,-qm就会进行渲染,把这个图形画出来;(实际上这个指令里面的-qm写不写都是不受影响的,大家可以自行下去尝试)

%%manim -qm FirstExample
class FirstExample(Scene):
    def construct(self):
        blue_circle = Circle(color=BLUE,fill_opacity=0.5)
        green_square=Square(color=GREEN,fill_opacity=0.8)
        green_square.next_to(blue_circle,RIGHT)
        self.add(blue_circle,green_square)

下面的这个就是绘制出来的结果:

下面的这个是渲染数学公式:示例代码里面的这个内容就是大名鼎鼎的欧拉公式了

%%manim LaTeXExample
class LaTeXExample(Scene):
    def construct(self):
        tex = Tex(r"$e^{i\pi} + 1 = 0$")
        self.add(tex)
        self.wait()

渲染结果是一个很多的视频,Tex就是针对于这个数学公式进行处理的,不同的地方是在jupyter里面需要使用¥把这个公式包裹起来,但是vscode里面不需要

下面的这个是一个欧拉公式,一个单位圆方程的展示动画:

%%manim TextTest
class TextTest(Scene):    
    def construct(self):        
        s1 = Text("单位圆")        
        s1.to_edge(UP,buff=0.5)        
        t1 = Tex(r"$x^2 + y^2 = 1$",font_size=80).next_to(s1,DOWN)        
        s2 = Text("欧拉公式").next_to(t1,DOWN)        
        t2 = Tex(r"$e^{i\pi} + 1 = 0$").next_to(s2,DOWN)        
        self.add(s1)        
        self.play(Write(t1))        
        self.add(s2)        
        self.play(Write(t2))

在这里插入图片描述

如果你对于上面的代码有任何问题,欢迎与我交流


http://www.niftyadmin.cn/n/5862541.html

相关文章

鸿蒙NEXT应用App测试-通用测试

注意:大家记得学完通用测试记得再学鸿蒙专项测试 https://blog.csdn.net/weixin_51166786/article/details/145768653 注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章…

SWAT| 水文 | SWAT模型(四):气象数据库制备(附Python代码)

Tips: 本期向大家分享SWAT模型的气象数据库的制备方法。最终要制作5项气象数据,分别是日降水量、最高/最低气温、太阳辐射、相对湿度、平均风速,每项气象数据要有①站点文件和②站点气象数据文件,都用txt文本文件来储存。…

adb shell setprop获取日志

adb shell setprop 用于设置系统属性,而获取日志通常使用 logcat。以下是结合 setprop 和 logcat 获取日志的步骤: 1. 设置日志级别 通过 setprop 调整日志级别,例如: adb shell setprop log.tag.MyApp DEBUG这将把 MyApp 的日…

PyTorch gather 方法详解:作用、应用场景与示例解析(中英双语)

PyTorch gather 方法详解:作用、应用场景与示例解析 在深度学习和自然语言处理(NLP)任务中,我们经常需要从高维张量中提取特定索引的数据。 PyTorch 提供的 torch.gather 方法可以高效地从张量的指定维度收集数据,广泛…

软件集成测试的技术要求

文章目录 一、软件集成测试的概念二、测试对象三、测试目的四、进入条件五、测试内容六、测试环境七、测试实施方一、软件集成测试的概念 软件集成测试(Software Integration Testing),也称部件测试,一种旨在暴露接口以及集成组件间交互时存在的缺陷的测试。集成测试是灰盒…

【gitlab】认识 持续集成与部署

持续集成(CI)与持续部署(CD) 1. 什么是持续集成(CI)? 持续集成(Continuous Integration,CI)是一种软件开发实践,强调开发人员频繁地将代码提交到…

【Python爬虫(35)】解锁Python多进程爬虫:高效数据抓取秘籍

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…

Windows 系统下,使用 PyTorch 的 DataLoader 时,如果 num_workers 参数设置为大于 0 的值,报错

在 Windows 系统下,使用 PyTorch 的 DataLoader 时,如果 num_workers 参数设置为大于 0 的值,可能会遇到以下错误: RuntimeError: An attempt has been made to start a new process before thecurrent process has finished its…