python做动画视频教程_python中强大、灵活的动画引擎manim安装及使用

2023-10-07 13:40

本文主要是介绍python做动画视频教程_python中强大、灵活的动画引擎manim安装及使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

manim是一个强大、灵活的python语言的动画引擎,尤其适合程序员使用编程方法来制作创意视频。

以下说明在 Windows操作系统中安装使用注意的问题。注意,是使用 manim源码的方式。请尽量使用源码,便于理解一些实现细节。

一.源码下载

官方下载地址:https://github.com/3b1b/manim.git

另外,因为官方源码更新原因,出现一些错误和文件缺失问题,我在使用中整理出一个版本(manim也有其它社区版)。

1.补充了一些缺失的图形文件,并做了一些修正。

2.把windows平台下需要安装的软件 FFmpeg,LaTeX,和模块pycairo下载好,放在./install-requirements/目录中,大家不用自己再到处去下载,直接安装即可。

3.包含我写的一些扩展代码,新增样条曲线类、文字处理类,以及几个我自己用到的视频动画。

4.在 example_scenes.py中加入更多例子,涵盖更全面的功能演示。

如果下载我整理的版本,请关注“优点英语app”公众号进入教程源码 - manim 文章获取下载地址。

这里没有直接给出下载地址,是因为我的视频教程中还有其它源码,为了便于管理,统一放在公众号中。

二.Windows操作系统中安装

1.【必需】[安装 FFmpeg]

这里已经下载了一个版本,保存在 ./install-requirements/.

这个软件不需要安装,相当于是一个绿色程序,把它解压到电脑上的一个位置。然后把它的bin目录设置到系统的环境变量 path中,使 ffmpeg能以命令的方式在命令行窗口中运行。

2.【必需】[安装 Cairo]

这个需要先下载安装文件再安装,才能安装成功。

这里已经下载了一个版本,保存在 ./install-requirements/.

可以直接运行下面的命令安装。

```sh

pip3 install ./install-requirements/pycairo-1.19.1-cp38-cp38-win_amd64.whl

```

也可以从下面这个网址下载一个合适的版本。

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo

3.【必需】安装 LaTeX

这个作用主要是为了处理带有公式的文本。manim中有两种文本对象。其中一种不使用公式,即普通的文本,可以不使用 LaTeX。

因为要运行里面的很多例子都有公式,所以这个程序必须安装。

这里已经下载了一个版本,保存在 ./install-requirements/.进入这个目录,双击安装程序,安装到电脑。

也可以从下面这个网址下载一个合适的版本。

[MiKTeX](https://miktex.org/download)

4. [安装 SoX]

这个可以不用安装。我的电脑没有安装这个,这里不做详细说明。

如果要安装,从下面的网址下载。

(https://sourceforge.net/projects/sox/files/sox/).

5.【必需】安装其他必须的模块。

其他的几个模块都能很顺利的使用 pip命令安装成功,这里不做详述。。

```sh

pip3 install -r requirements.txt

```

三.运行示例

示例的运行方法。

python manim.py example_scenes.py SquareToCircle -pl

执行后会生成一个视频文件,并立即打开播放。

四.manim使用逻辑概要。

manim使用逻辑很简单,配合例子只要几分钟就能掌握,剩下的在使用中再深入了解一些细节即可做出我们想要的效果。以下是我在使用中的一些总结,希望能让大家在初次使用时能对manim有个全局认识。

1. 所有的动画代码编写需要在场景类中完成。

1)首先新建一个场景类,这个场景类必须继承自 manim库中的场景类(Scene类或其子类)。

2)然后在这个新建场景类 construct方法中,创建一些对象,比如说坐标轴、文字、线条、三角形、立方体、曲面等等。

3)然后使用 play方法,对对象进行平移、旋转、转换等各种动画操作。

4)最后,统一使用下面的命令格式来执行代码程序,如上面第三条中示例的运行方法。

python       manim.py     代码所在的文件名      新的场景类名     -pl

运行完之后会直接生成一个视频文件。

2. 这个库所包含的对象类型特别广泛:

1)像素格式图片、svg矢量图形;

2)文字、公式;

3)点、线(直线、贝塞尔曲线、样条曲线);

4)三角形、矩形等二维图形;

5)立方体、球体、锥体等三维图形;

6)三维曲面;

7)使用自定义函数创建的特殊曲面、或者图形。

3. 照相机是场景中一个属性,不需要创建。可以通过改变照相机的角度、距离来转换场景的观察方向,在三维动画中很有用。

4. 颜色、线条粗细等都是通过 config 的形式设置。

5. example_scenes.py 中有各种各样的示例,通过学习这些例子即可初步掌握其使用原理。

五.不显示中文的问题

找到 ./manimlib/constants.py文件

在此文件中找到: TEX_USE_CTEX = False,把 False改为 True即可。

六.目录说明

1. ./from_3b1b/目录

这个目录中包含了官方的很多示例。但是因为版本更迭的问题导致有很多错误,还有一些图形文件缺失,我做了一些修改和补充。

2. ./ydyy/ 目录

这个目录中是我在制作一些视频的时候做的一些代码。

3. ./manimlib/ 核心库文件的存放目录。

4. ./assets/ 图片、图形文件的存放目录。

5. ./media/ 生成的视频文件存放目录。

七.使用自定义函数实现的效果展示

这个例子模拟的是三维波形图。波形图曲面的函数为:

z = 0.2 * np.sin(np.sqrt(x**2 + y**2))

是一个多变量函数,0.2是为了减小波峰与波谷的高差,让波纹显得平缓,以坐标(0,0,0)为中心。

代码文件位于:./ydyy/video_3.py 中的 Wave类。

2b27e15c6077

三维波形

编后语

近期在制作Python基础教程视频时,希望能让教程有些新意,原本想使用ppt、或者视频剪辑的方法来做一些特殊效果,经过一番尝试后发现有些功能很难实现。

偶然发现 manim这个模块,研究几个例子后,使用 manim做了一些片头和片尾的动画。确实功能强大、灵活,可以实现非常多的创意,尤其适合程序员使用编程方法来制作创意视频。

我们的Python基础教程通过讲解Python英语教程的方式来学习Python编程,让大家既能学习一种编程语言又能提高英语能力。

一方面,我们把编程作为一种英语使用环境,在编程中学习英语,提高英语学习效率。

另一方面,英语是编程不能回避的一道坎。大量的编程文档、函数的名称、函数的注释、类的名称、类的注释、新技术、新功能的发布等等,都使用英语。掌握好英语才能让我们在编程中游刃有余。

如果觉得本文有帮助请点赞、收藏。

如有疑问请在下面留言。

这篇关于python做动画视频教程_python中强大、灵活的动画引擎manim安装及使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/158109

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传