1. SVG、图片、和文字
所用到的方法:
- SVGMobject
- ImageMobject
- TextMobject
- TexMobject
- Text
- LaTex
- cairo
1.1 素材文件夹
- 在manim中使用外部图片或SVG文件时,有三种定位文件的方法
- 直接使用绝对路径定位文件
- “D:\…\picture.png”
- “/home/…/picture.png”
- 也可以将文件放在与manim.py、manimlib同级的文件夹内使用相对路径
- 放在素材目录(assets/)当中,assets目录需要自己创建在与manim.py同级的目录当中,之后只需要使用文件名就可调用
- 直接使用绝对路径定位文件
1.2 在manim中插入SVG
使用SVGMobject可插入SVG图片
关键字参数与VMobject具有共同的属性
- color图片颜色
stroke_width线条宽度
mob = SVGMobject("x.svg",color = RED,stroke_width = 4)
由于SVGMobject是VMobject的子类,所以可以使用所有动画效果
mob = SVGMobject("x.svg",color = RED,stroke_width = 4)
self.play(Uncreate(mob))
SVGMobject能够处理和显示有关SVG的元素如下:
path
- rect
- circle
- ellipse
- polygon
- polyline
制作SVG时只能含有以上元素
1.3 在manim中插入图片
使用ImageMobject可插入图片(jpg,png,gif)
属性:
- height插入图片高度
- invert是否反色
ImageMobject不是VMobject的子类,所有有很多动画无法使用img = ImageMobject("x.png",height=3,invert=False)
1.4 在manim中使用文字
- 可以使用TextMobject(利用LaTex编译转换出SVG)
- 传入一个字符串,来表示显示的文字(会套入模板中使用xelatex编译)
- TextMobject的其他属性与VMobject相同,可以使用所有动画效果
- 一个TextMobject中也可以传入多个字符串,会单独编译,连在一起显示
text = TextMobject("Text文字",color=BLUE,background_stroke_color=RED)
self.play(Uncreate(text))
text2 = TextMobject("\\LaTeX\\\\换行")
text3 = TextMobject(r"\LaTeX")
text4 = TextMobject("ab","cde")
使用LaTeX命令的\都需要替换为\转义,或在字符串前加’r’
- 一个TextMobject包含一个或多个子物体,指向传入的每个字符串,可用下标来访问每个字符
1.5 在manim中书写公式
- 书写公式常用TexMobject(即LaTeX的align*环境)
- 结构与TextMobject相似
tex = TexMobject("\\sum^n_{i=1}i^3=?")