Manim - Python 绘画引擎

在这里插入图片描述


文章目录

    • 关于 Manim
    • 安装
      • manim 有两个版本
      • 要求
      • 直接使用 pip
      • 使用源码安装
    • 使用 manim
    • Manual


关于 Manim

Manim : Mathematical Animation,是由 Grant Sanderson 开发,是一个用于精确编程动画的引擎,专为创建解释性数学视频而设计。

  • github : https://github.com/3b1b/manim
  • 文档:https://3b1b.github.io/manim/
    https://docs.manim.org.cn/cairo-backend/getting_started/index.html >
  • 中文教程:https://docs.manim.org.cn/
  • manim-kindergarten : https://github.com/manim-kindergarten/manim_sandbox
  • ManimCommunity : https://github.com/ManimCommunity/manim
    https://www.manim.community

相关教程/博客
-【2024最新教程】Manim动画软件教程,像3blue1brown那样做动画【更新中】
https://www.bilibili.com/video/BV1om411k7Fv/


安装

manim 有两个版本

1、该存储库最初是3Blue1Brown作者的个人项目,旨在为这些视频制作动画,视频特定的代码可在此处获取。
2、2020 年,一群开发人员将其分叉为 社区版本,目标是更稳定、更好的测试、更快地响应社区贡献以及更容易上手。
请参阅此页面了解更多详细信息。

警告:这些说明 仅适用于 ManimGL 。尝试使用这些说明来安装ManimCommunity/manim 或那里的说明来安装此版本将导致问题。
您应该首先决定要安装哪个版本,然后仅按照您所需版本的说明进行操作。

注意:如果直接通过pip安装manim,请注意安装包的名称。这个存储库是 3b1b 的 ManimGL。
包名称是manimgl,代替manimmanimlib
请使用pip install manimgl安装此存储库的版本。


要求

1、Manim 在 Python 3.7 或更高版本上运行。
2、系统要求是FFmpeg、OpenGL和LaTeX(可选,如果您想使用 LaTeX)。
对于 Linux,需要Pango及其开发头文件。请参阅此处的说明。


macOS 安装 FFMpeg 可参考:https://blog.csdn.net/lovechris00/article/details/125921387

brew install ffmpeg mactex

Windows

  1. 安装 FFmpeg。
  2. 安装 LaTeX 发行版。推荐MiKTeX 。

直接使用 pip

# Install manimgl
pip install manimgl# Try it out
manimgl

使用源码安装

如果您想修改 manimlib,请克隆此存储库并在该目录中执行:

# Install manimgl
pip install -e .# Try it out
manimgl example_scenes.py OpeningManimExample
# or
manim-render example_scenes.py OpeningManimExample

使用 manim

下载git 源码包后,尝试运行以下命令:

manimgl example_scenes.py OpeningManimExample

这应该会弹出一个窗口,播放一个简单的场景。
一些有用的标志包括:

  • -w将场景写入文件
  • -o将场景写入文件并打开结果
  • -s,跳到最后并只显示最后一帧。
    • -so将最终帧保存到图像中并显示它
  • -n <number>向前跳至n场景的第一个动画。
  • -f使播放窗口全屏显示

Manual

manimgl --help   

ManimGL v1.6.1

usage: manimgl [-h] [-w] [-s] [-l] [-m] [–hd] [–uhd] [-f] [-p] [-g] [-i] [-t] [-q] [-a] [-o] [–finder] [–config] [–file_name FILE_NAME] [-n START_AT_ANIMATION_NUMBER] [-e LINENO] [-r RESOLUTION] [–frame_rate FRAME_RATE] [-c COLOR] [–leave_progress_bars] [–video_dir VIDEO_DIR] [–config_file CONFIG_FILE] [-v] [–log-level LOG_LEVEL] [file] [scene_names …]

positional arguments:
file, Path to file holding the python code for the scene
scene_names, Name of the Scene class you want to see


options:

  • -h, --help, show this help message and exit
  • -w, --write_file, Render the scene as a movie file
  • -s, --skip_animations
    Save the last frame
  • -l, --low_quality, Render at a low quality (for faster rendering)
  • -m, `–medium_quality Render at a medium quality
  • --hd, `, Render at a 1080p
  • --uhd, Render at a 4k
  • -f, --full_screen, Show window in full screen
  • -p, `–presenter_mode Scene will stay paused during wait calls until space bar or right arrow is hit, like a slide show
  • -g, --save_pngs, Save each frame as a png
  • -i, --gif, Save the video as gif
  • -t, --transparent, Render to a movie file with an alpha channel
  • -q, `–quiet
  • -a, --write_all, Write all the scenes from a file
  • -o, --open, Automatically open the saved file once its done
  • --finder, Show the output file in finder
  • --config, Guide for automatic configuration
  • --file_name FILE_NAME
    Name for the movie or image file
  • -n START_AT_ANIMATION_NUMBER, --start_at_animation_number START_AT_ANIMATION_NUMBER
    Start rendering not from the first animation, butfrom another, specified by its index. If you passin two comma separated values, e.g. “3,6”, it`
    will endthe rendering at the second value
  • -e LINENO, --embed LINENO
    Takes a line number as an argument, and resultsin the scene being called as if the line self.embed()was inserted into the scene code at that`
    line number.
  • -r RESOLUTION, --resolution RESOLUTION
    Resolution, passed as “WxH”, e.g. “1920x1080”
  • --frame_rate FRAME_RATE
    Frame rate, as an integer
  • -c COLOR, --color COLOR
    Background color
  • --leave_progress_bars
    Leave progress bars displayed in terminal
  • --video_dir VIDEO_DIR
    Directory to write video
  • --config_file CONFIG_FILE
    Path to the custom configuration file
  • -v, --version, Display the version of manimgl
  • --log-level LOG_LEVEL
    Level of messages to Display, can be DEBUG / INFO / WARNING / ERROR / CRITICAL

2024-04-22(一)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/641089.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.netcore+vue新生分班系统的设计与实现

.netcore vue新生分班系统的设计与实现说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于.net core架构和mysql数据库vue 东北石油大学新生分班系统的设计与实现 功能模块&#xff1a; 登录 注册学生 忘记密码 系统首顶 个…

Golang | Leetcode Golang题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; func isMatch(s string, p string) bool {for len(s) > 0 && len(p) > 0 && p[len(p)-1] ! * {if charMatch(s[len(s)-1], p[len(p)-1]) {s s[:len(s)-1]p p[:len(p)-1]} else {return false}}if len(p) 0 {retur…

web前端学习笔记1

前端学习笔记 1. 走进HTML 1.1 什么是HTML 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。您可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。HTML文档的后缀名 .html.htm以上两种后缀名没有区别…

YOLOv5改进 | Conv篇 | 利用CVPR2024-DynamicConv提出的GhostModule改进C3(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是CVPR2024的最新改进机制DynamicConv其是CVPR2024的最新改进机制&#xff0c;这个论文中介绍了一个名为ParameterNet的新型设计原则&#xff0c;它旨在在大规模视觉预训练模型中增加参数数量&#xff0c;同时尽量不增加浮点运算&#x…

基于 Spring Boot 博客系统开发(二)

基于 Spring Boot 博客系统开发&#xff08;二&#xff09; 本系统是简易的个人博客系统开发&#xff0c;为了更加熟练地掌握SprIng Boot 框架及相关技术的使用。&#x1f33f;&#x1f33f;&#x1f33f; 基于 Spring Boot 博客系统开发&#xff08;一&#xff09;&#x1f4…

Redis入门到通关之Redis数据结构-List篇

文章目录 ☃️概述☃️数据结构☃️源码☃️其他 欢迎来到 请回答1024 的博客 &#x1f353;&#x1f353;&#x1f353;欢迎来到 请回答1024的博客 关于博主&#xff1a; 我是 请回答1024&#xff0c;一个追求数学与计算的边界、时间与空间的平衡&#xff0c;0与1的延伸的后端…

html--奔腾的骏马

<!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>奔腾的骏马</title><link rel"stylesheet" href"css/style.css"></head> <body><input type"…

Java Web 网页设计(2)

​2.在网页上做表格&#xff1a; 输入标记及内容 点击运行 中华人民共和国​ <h1>中华人民共和国</h1> <!--一级标题的标记--><a href"add_user.jsp">点击我</a><a href"add_user1.jsp">点击我</a> (1)标题的标…

实测14us,Linux-RT实时性能及开发案例分享—基于全志T507-H国产平台

本文带来的是基于全志T507-H&#xff08;硬件平台&#xff1a;创龙科技TLT507-EVM评估板&#xff09;&#xff0c;Linux-RT内核的硬件GPIO输入和输出实时性测试及应用开发案例的分享。本次演示的开发环境如下&#xff1a; Windows开发环境&#xff1a;Windows 7 64bit、Window…

【正点原子STM32探索者】体验RT-Thread最新5.x版本

【正点原子STM32探索者】体验RT-Thread最新5.x版本 一、准备RT-Thread Env工具二、创建RT-Thread项目2.1 下载RT-Thread源码2.2 生成RT-Thread项目 三、编译和运行RT-Thread项目3.1 编译RT-Thread项目3.2 下载程序到开发板3.3 运行RT-Thread项目 四、体验RT-Thread的交互式shel…

DevOps(十)Jenkins实战之发布Django开发Web应用

面学习了Jenkins&#xff0c;Gitlab&#xff0c;Git&#xff0c;Selenium等等DevOps有关的工具。今天我们使用一个完整的Web应用发布流程来讲解怎么样将这些工具怎么配合使用。下面是这个流程的简单介绍&#xff1a;首先我们用Django开发一个简单的Web应用&#xff0c;然后发布…

KingbaseES数据库匿名块的基本用法

数据库版本&#xff1a;KingbaseES V008R006C008B0014 简介 匿名块是一种特殊的代码块&#xff0c;用于在数据库中执行一系列的SQL语句或PLSQL语句。它们通常用于执行一些简单的逻辑或者在数据库中执行一些事务性操作&#xff08;在匿名块中定义的一系列语句可以被视为1个事务&…