Manim本地安装

目录

  • 背景
  • Manim安装及配置
  • 一个上手例子
  • 参考文献

背景

通过上一期的介绍,我们对Manim有了初步的认识也知道Manim版本的区别,这一期,我们来给自己的计算机安装一个社区版ManimCE,方便以后玩Manim。笔者的硬件配置是联想笔记本Windows 11 家庭中文版系统,其他类似,操作得当的话,半个小时就可以搞定。

Manim安装及配置

  • 安装python

建议直接安装Anaconda,因为Anaconda会自带很多python模块,省时省心,如果官网下载太慢,可以从百度网盘等国内资源下下来安装,安装的时候记得勾上环境变量PATH。

https://www.anaconda.com/products/distribution
  • 安装FFmpeg

FFmpeg是一款专业处理图片和视频帧的软件。安装FFmpeg记得设置好环境变量,记得配置好环境变量PATH

https://ffmpeg.org/download.html#build-windows
  • 安装LaTeX

作为一款数据动画引擎,必然会涉及数学公式,所以LaTeX必不可少

https://miktex.org/download
  • 安装Manim

之前介绍说Manim是python的第三方模块,那么就可以直接通过Anaconda Powershell Prompt下的命令进行安装

pip install manim

由于这个命令是直接从PyPI下载安装,外网网络延时很大,如果某个依赖的模块比较大,如笔者在安装scipy库很大就会卡住,这个时候可以直接断开单独从清华源下scipy,然后再继续执行pip install manim。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy
  • 检查安装成功否

直接键入manim,会显示Manim Community v0.16.0 post0等版本关键信息,说明Manim安装成功,从这些信息我们可以看到Manim就是用来渲染数学动画的,俗称数学动画引擎。

检测是否安装成功
至此,电脑已经本地成功安装好ManimCE,把上一期python脚本写的生成马鞍面的python文件命名为QuadraticSurface类,那么就可以用如下命令来生成对应的数学对象

manim -pql QuadraticSurface.py Demo

虽然你目前还不知道上面的命令后表示什么意思,后面我们会进行详细介绍的。

自此,我们把Manim就算安装好了,但是这种一边写脚本,一边通过命令来生成预览效果,感觉有点割裂,如果能够像平时在IDE里面写完代码然后直接调试编译运行的话就能立马看到预览效果,并根据反馈进行代码修改的话效率会提升不少,针对这种问题,主要有如下三种解决方案

一种是 jupyter notebook的魔法命令%%manim,就是在代码最前面加上一行这样的魔法命令就可以对代码独立执行了。

一种是通过VSCode插件,在VSCode里面主要通过一款叫Manim Sideview插件来进行自动渲染和预览的,但是这种渲染挺消耗计算资源的,需要耐心等一等便可以看到你想要看到的动画了。

一种是在代码最后面加上三行代码,起到临时设置作用

with tempconfig({'quality': 'medium_quality', 'preview':True}): #预览质量高中低设置scene = QuadraticSurface() #您的类名scene.render() #渲染

因为作者平时一直用VSCode作为python开发的IDE,所以毫不犹豫选择了VSCode作为Manim开发IDE,但第二种解决方案有时候会报路径错误,需要复杂设置,有时候为提升效率也采用第三种解决方案,所以一直处于后两者混用状态,屡试不爽。

一个上手例子

在VSCode准备如一个名叫CreateCircle.py的python脚本,你可以点击右上角的Runs a Slideview,在Pick your scene name选择CreateCircle,然后VSCode窗口右上角就会出现动画。

from manim import *class CreateCircle(Scene): #media/videos/{module_name}/480p15def construct(self):circle = Circle()  # create a circlecircle.set_fill(PINK, opacity=0.5)  # set the color and transparencyself.play(Create(circle))  # show the circle on screen

manimsideview

至此,你可以愉快的在本地电脑玩耍Manim了,制作各种有意思的数学动画。

参考文献

1,https://www.tiobe.com/tiobe-index
2,https://baike.baidu.com/item/Python/407313?fr=aladdin
3,https://docs.manim.community/en/stable/installation.html
4,https://docs.manim.org.cn/
5,https://docs.manim.community/en/stable/installation/windows.html#working-with-manim

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

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

相关文章

机器学习:人工智能的子领域之一

引言 人工智能(AI)已经成为现代科技的重要组成部分,推动了许多领域的创新与进步。在人工智能的诸多子领域中,机器学习(ML)无疑是最关键和最具影响力的一个。机器学习通过自动分析和学习数据中的模式&#x…

JavaScript的学习之强制类型转换

目录 一、什么是强制类型转换 二、其他类型转化为String类型 方式一:调用被转化数据类型的toString()方法 方式二:调用String函数,并将我们要转换的数据添加进去为参数 三、其他类型转化为Number类型 方式一:使用Number()函数…

环境配置04:Pytorch下载安装

说明: 显存大于4G的建议使用GPU版本的pytorch,低于4G建议使用CPU版本pytorch,直接使用命令安装对应版本即可 GPU版本的pytorch的使用需要显卡支持,需要先安装CUDA,即需要完成以下安装 1.查看已安装CUDA版本 GPU对应…

常见的结构型设计模式

设计模式(二) 常见的结构型模式 1.代理模式: 提供一种代理方法 ,来控制对其他对象的访问。在有些情况下,一个对象不能或者不适合直接访问另一个对象,而代理对象可以在这两个类之间起一个中介的作用。 举例&#xf…

Docker容器基础知识,即linux日常运维命令

Docker 是一个流行的用 Go 语言开发的开源项目,基于Linux内核的cgroup、namespace及 AUFS 等技术,对进程进行封装隔离,由 Dotcloud 公司开发。Docker已成为容器行业的事实标准。 小陈发现一个有趣的事情,容器的英文是Container&am…

甘肃的千层烤馍:传统面点的魅力绽放

千层烤馍,作为甘肃美食文化的重要象征,以其独特的外形和丰富的口感,吸引着众多食客。它的外观犹如一件精美的艺术品,层层叠叠,金黄酥脆,散发着诱人的香气。 在甘肃平凉地区制作千层烤馍&#xff0c…

国内大模型/智能体盘点丨16家公司,13款大模型,19个智能体

在当今这个智能化风起云涌的时代,随着人工智能技术的飞速发展,大模型(Large Language Models)作为推动行业变革的关键力量,正逐步渗透到社会经济的各个角落。 从科技创新的最前沿到日常生活应用的细微之处&#xff0c…

相交链表--力扣160

相交链表 题目思路C代码 题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 思路 求两个链表的相交结点,使用…

ATFX汇市:瑞士央行连续第二次降息,USDCHF猛涨

ATFX汇市:昨日15:30,瑞士央行公布利率决议结果,将政策利率下调0.25个百分点,至1.25%。瑞士央行在政策声明中提到:与上一季度相比,潜在的通胀压力再次下降;瑞士目前的通货膨胀主要是由国内服务价…

成都晨持绪:现在的抖音网店怎么做更快起店

在当今社交媒体的浪潮中,抖音已经成为一个不可忽视的电商平台。对于想要快速起步的抖音网店来说,掌握一些关键策略至关重要。 首要的是定位清晰。你的网店需要有一个鲜明的主题,这可以是某一特定领域的产品,如美妆、服饰或是手工艺…

【C语言】解决C语言报错:Use-After-Free

文章目录 简介什么是Use-After-FreeUse-After-Free的常见原因如何检测和调试Use-After-Free解决Use-After-Free的最佳实践详细实例解析示例1:释放内存后未将指针置为NULL示例2:多次释放同一指针示例3:全局或静态指针被释放后继续使用示例4&am…

力扣1793.好子数组的最大分数

力扣1793.好子数组的最大分数 对于每个数 求其左右两侧小于它高度的元素下标(单调栈) class Solution {public:int maximumScore(vector<int>& nums, int k) {int n nums.size();vector<int> left(n,-1);stack<int> st;for(int i0;i<n;i){while(!…

一文读懂过零检测电路的作用、电路原理图及应用

过零检测电路是一种常见的应用&#xff0c;其中运算放大器用作比较器。它通常用于跟踪正弦波形的变化&#xff0c;例如过零电压从正到负或从负到正。它还可以用作方波发生器。过零检测电路有许多应用&#xff0c;例如标记信号发生器、相位计和频率计。#过零检测电路#可以采用多…

我的python-web基础(Flask前后端不分类)

1.HTML HTML是超文本标记语言 &#xff08; 英文 &#xff1a; HyperText Markup Language &#xff0c; HTML &#xff09;&#xff0c;它不是编程语言&#xff0c;而是一种标记语言 HTML标记标签通常被称为HTML标签&#xff0c;它的特点如下&#xff1a; HTML标签是由尖括…

最火AI角色扮演流量已达谷歌搜索20%!每秒处理2万推理请求,Transformer作者公开优化秘诀

卡奥斯智能交互引擎是卡奥斯基于海尔近40年工业生产经验积累和卡奥斯7年工业互联网平台建设的最佳实践&#xff0c;基于大语言模型和RAG技术&#xff0c;集合海量工业领域生态资源方优质产品和知识服务&#xff0c;旨在通过智能搜索、连续交互&#xff0c;实时生成个性化的内容…

Qt制作程序启动界面类QSplashScreen实例测试详解

目录 一、QSplashScreen的概述 二、QSplashScreen静态图片加载 1、主程序实现 2、mainwindow.h实现 3、mainwindows.cpp实现 三、QSplashScreen动态图片加载 1、主程序实现 2、mainwindow.h实现 3、mainwindows.cpp实现 一、QSplashScreen的概述 QSplashScreen&#x…

揭秘Xinstall如何助力App推广,提升用户量与转化率双指标!

在移动互联网时代&#xff0c;App的推广与运营成为了每个开发者必须面对的重要课题。然而&#xff0c;推广效果的评估和优化往往令众多开发者头疼不已。今天&#xff0c;我们将为您揭秘一款能够解决这一痛点的利器——Xinstall&#xff0c;带您一起探讨它如何助力App推广&#…

ARM32开发--存储器介绍

知不足而奋进 望远山而前行 目录 文章目录 前言 存储器分类 RAM ROM EEPROM Flash 总结 前言 在现代计算机系统中&#xff0c;存储器扮演着至关重要的角色&#xff0c;不仅影响着数据的存取速度和稳定性&#xff0c;还直接关系到计算机系统的性能和应用场景的选择。存…

密码CTF(4)——e和phi不互素

参考 RSA中e和phi不互素 AMM算法 AMM算法简要理解 RSA系列解题研究——e与phi不互素 - 先知社区 (aliyun.com) e与phi不互素 --- 四 1 1 1道题详记-CSDN博客 总述 gcd(e,φ(n))比较小时可以考虑iroot直接开根&#xff0c;当直接开根跑不出来时&#xff0c;考虑有限域…

redis哨兵模式下业务代码连接实现

目录 一&#xff1a;背景 二&#xff1a;实现过程 三&#xff1a;总结 一&#xff1a;背景 在哨兵模式下&#xff0c;真实的redis服务地址由一个固定ip转变为可以变化的ip,这样我们业务代码在连接redis的时候&#xff0c;就需要判断哪个主redis服务地址&#xff0c;哪个是从…