SingleStringMathTexMobjects分类中用来显示数学公式的class
manim中有3个可以用来显示数学公式的class,还有两个是MathTexTex,后续再介绍。

SingleStringMathTex的名称中也可以看出,它是用来显示只有一行的简单公式。
manim边学边做–SingleStringMathTex-小白菜博客
SingleStringMathTexmanim各个模块中的位置大致如上图中所示。

1. 主要参数

SingleStringMathTex主要用于显示只有一行的数学公式,所以参数也比较简单:

参数名称 类型 说明
tex_string string latex格式的公式
stroke_width float 粗细
height float 高度
font_size float 字体大小
tex_environment str 不熟悉latex的话不要设置
tex_template object 不熟悉latex的话不要设置

2. 主要方法

SingleStringMathTex的主要方法只有两个:

名称 说明
get_tex_string 获取公式原始的latex字符串
init_colors 初始化颜色,目前是空方法

注意,init_colorsSingleStringMathTex中是个空方法,也就是没有实现任何功能,
继承SingleStringMathTex子类可以实现此方法来设置颜色。

3. 使用示例

3.1. 显示样式

参数stroke_widthheight可以控制公式的样式。

tex = SingleStringMathTex("z = \sqrt{x^2+y^2}", stroke_width=3)
tex = SingleStringMathTex("z = \sqrt{x^2+y^2}", height=0.8)

out.gif

3.2. 字体大小

通过font_size参数调节字体的大小,font_sizeheight都可以调节大小。
它们区别之处在于,font_size是调节字体,height是调节整个公式占据空间的高度。

tex = SingleStringMathTex("z = \sqrt{x^2+y^2}", font_size=20)
tex = SingleStringMathTex("z = \sqrt{x^2+y^2}", font_size=55)

out.gif

3.3. 原始字符

数学公式中的很多特殊符号都是无法直接通过键盘输入的,要想输入这些公式,可以输入latex字符串,
然后manim会自动将latex字符串转换成数学公式来显示。
SingleStringMathTexget_tex_string可以让我们反向得到原始的latex字符串。

tex = SingleStringMathTex("z = \sqrt{x^2+y^2}")
print(tex.get_tex_string())

out.gif

4. 附件

文中完整的代码放在网盘中了(single_string_math_tex.py),
下载地址: 完整代码 (访问密码: 6872)