首页 > 其他分享 >【manim动画教程】--目录(完结)

【manim动画教程】--目录(完结)

时间:2023-04-22 14:47:34浏览次数:47  
标签:动画 效果 -- Text Tex 图形 动画教程 manim

manim是一个生成数学教学视频的动画引擎。
它用编程的方式创建精美的数学动画,让数学更加易懂。

本教程简单介绍了 manim 的基本使用方式,基于 v0.17.2 版本

  1. manim 安装
    manim是基于python语言开发的开源框架,是由 3blue1brown 开发的。
    本来是他们自己用来制作数学视频用的,因为其友好的API和漂亮的UI效果,在开源之后,立刻流行起来。

  1. manim 基本图形
    制作数学视频时,各类几何图形是使用最频繁的。
    一般来说,常用的几何图形包括:点,线,圆以及多边形。

  1. manim 图形样式
    manim绘制图形时,除了必须的参数之外,还有一些可选的参数,
    这些参数可以控制图形显示的样式。

    控制图形样式的参数最常用的有以下四个:

    1. stroke_width:图形边框的粗细
    2. color:图形的颜色
    3. fill_color:图形的填充色
    4. fill_opacity:填充色的透明度,这个参数一般和 fill_color一起使用

  1. manim 文字和公式
    manim中提供了两种方式来表示文字信息,一种是 Text系列,一种是 Tex系列。

    从目前我自己的使用的体验来看,
    Text系列在显示文字信息方面,提供了更多的的属性来调整显示效果。如果有大段的文字要排版,或者对文字的显示效果要求高的话,建议使用 Text。

    而 Tex系列最大的优势是支持 Latex,也就是说它能更好的显示数学公式。
    Tex目前还不支持显示中文,如果一段文本中既有中文又有数学公式的话,需要结合 Text和 Tex一起来显示。


  1. manim 文本样式
    文本的样式主要指颜色和字体相关的属性设置。

    对于manim的两个文本对象 Text和 Tex来说,
    Text对象有更多的属性可以调整样式,相对来说,由于 Tex主要用来显示数学公式,所以关于样式的属性要少一些。


  1. manim 坐标系
    没有引入坐标系之前,在绘制图形时,也有一个隐含的坐标系,它和屏幕的像素相关。

    引入坐标系之后,绘制图形时就不用局限在屏幕隐含的坐标范围之内,
    通过调整坐标的刻度,我们可以基于坐标系中绘制任意范围的图形,而不用担心绘制到屏幕之外去。


  1. manim 常用动画效果
    manim的主要功能就是制作动画,因此它提供了各类丰富的动画效果,
    本篇主要介绍其中最常用的几种动画效果。

  1. manim 高级动画效果
    在常用的动画效果中,介绍了一些元素的创建,销毁,移动和变换的方法,这些方法都是针对单个动画的。
    如果需要多个动画互相关联,或者元素需要有更复杂的运动方式,那么,仅仅依靠常用的动画效果可能就无法满足要求了。

    本篇的高级动画效果主要介绍一些更加灵活的元素运动方式,如何组合多个动画,以及如何联动多个动画的方式。
    掌握了这些方法,就能够表达出更加复杂的数学几何动画。


  1. manim 相机
    相机(Camera)在二维的场景下使用不多,一般在3D场景中提及的比较多。
    相机相当于我们看动画的视角,简单来理解的话,相当于我们的眼睛(实际情况会复杂一些,相机还有其他一些辅助功能)。

标签:动画,效果,--,Text,Tex,图形,动画教程,manim
From: https://www.cnblogs.com/wang_yb/p/17341337.html

相关文章

  • python-docx高级用法
    fromdocximportDocumentfromdocx.enum.sectionimportWD_SECTION#创建一个新文档doc=Document()#添加页眉header=doc.sections[0].headerheader.add_paragraph('Headertext')#添加页脚footer=doc.sections[0].footerfooter.add_paragraph('Footertext')#......
  • python数据挖掘与分析实战__电子商务网站用户行为分析及服务推荐
    importosimportpandasaspd#修改工作路径到指定文件夹os.chdir("D:/CourseAssignment/AI/CollectWebDate/")#第一种连接方式fromsqlalchemyimportcreate_engineengine=create_engine('mysql+pymysql://root:123456@localhost:3306/test?charset=utf8')sql......
  • Java的注释
    Java的注释单行注释可以注释一行文字//多行注释可以注释一段文字/*注释*/JavaDoc:文档注释/***/......
  • Flask框架 之Flask-caching数据页面缓存
    一、配置CACHE_TYPE:设置缓存的类型下面五个参数是所有的类型共有的CACHE_NO_NULL_WARNING="warning"#null类型时的警告消息CACHE_ARGS=[] #在缓存类实例化过程中解包和传递的可选列表,用来配置相关后端的额外的参数CACHE_OPTIONS={} #可选字典,在缓存类实例化期间传递......
  • 函数模板
    思考:如果重载的函数,其解决问题的逻辑是一致的、函数体语句相同,只是处理的数据类型不同,那么写多个相同的函数体,是重复劳动,而且还可能因为代码的冗余造成不一致性。解决:使用模板例:求绝对值函数的模板主函数如下intmain(){intn=-5;doubled=-5.5;cout<<abs(n)<<endl;cout<<abs(......
  • 仿chatGPT或chatPDF的前端界面布局,css实现对话聊天布局代码,响应式左右分栏布局(附完整
    chatPDF或者chatGPT的界面挺简洁的,就是一个左侧的列表以及右侧的对话列表,现在使用css实现这样的布局充分运用了flex布局方式实现,左右分栏,以及对话形式展示效果下面是效果图: 在手机设备看就隐藏左侧,右侧100%适应 下面就是html和css的布局代码<style>.chatpdf{......
  • python-pptx用法
    frompptximportPresentation#创建一个新PPT文档prs=Presentation()#添加幻灯片slide=prs.slides.add_slide(prs.slide_layouts[0])#保存PPT文档prs.save('example.pptx')frompptx.utilimportInches#添加文本框slide=prs.slides.add_slide(prs.slide_layouts[1])t......
  • 打破双亲委派模型方法
    自定义一个继承了ClassLoader的加载器,然后重写loadClass方法。若不想打破则重写findClass方法即可。我们比较熟悉的Tomcat服务器为了能够优先加载Web应用目录下的类,然后再加载其他目录下的类,就自定义了类加载器WebAppClassLoader来打破双亲委托机制。这也是Tomcat下Web......
  • idea配置
    idea配置console字体格式设置路径:Setting->Editor->General->Console文件编码修改路径:Setting->Editor->FileEncodings编码不区分大小写路径:Setting->Editor->General->CodeCompletion自动导包路径:Setting->Editor->General->AutoImport显示方法线路径:......
  • java——微服务——spring cloud——Eureka——Eureka注册中心
       ......