我爱牛皮糖 发表于 2024-6-13 11:53:18

manim边学边做--Integer

Integer是Mobjects分类中专门用来显示整数的一个class。
它与上一篇介绍的DecimalNumber类不同之处在于,它只专注于整数的显示。

Integer在manim各个模块中的位置如上图中所示。
1. 主要参数

Integer是继承自DecimalNumber的,所以使用Integer的地方,也可以使用DecimalNumber。
不过,如果只是显示整数的话,还是用Integer比较好,它默认会自动把小数部分省略掉。
Integer主要参数和上一篇中的DecimalNumber类似。
不过,一般使用Integer的场合基本都不需要指定参数。
2. 主要方法

与DecimalNumber一样,Integer的主要方法也是3个:
名称说明get_value获取数值set_value设置数值increment_value增加数值不过,与DecimalNumber不同的是,Integer的get_value方法会自动返回整数的部分。
val = Integer(10.56)
print(f"原始数据:{val.get_value()}")

val.set_value(20.22)
print(f"设置数据:{val.get_value()}")

val.increment_value(3.9)
print(f"递增数据:{val.get_value()}")
get_value会对数值做四舍五入,然后返回整数。这点是与DecimalNumber的不同之处。
3. 使用示例

Integer类使用时不太需要指定参数,所以演示一些样式方面的示例。
注意:这里对于Integer的样式设置,同样适用于上一篇中的DecimalNumber。
3.1. 位置

通过设置\(x,y\)的坐标可以定位Integer显示的位置。
定位时,屏幕中心的坐标是\((0,0)\),\(X\)轴方向从左到右,\(Y\)轴方向从下到上。
x = Integer(123).set_x(-2).set_y(2)
y = Integer(321).set_x(2).set_y(-2)
3.2. 大小

设置字体显示的大小用scale方法。
# 缩小至 1/2
x = Integer(123).scale(0.5)

# 正常大小
y = Integer(321)

# 2倍大小
z = Integer(213).scale(2)
3.3. 颜色

最后,演示设置Integer的颜色,可以设置单一的颜色,也可以设置渐变色。
# 单一颜色
x = Integer(123).set_color(RED)

# 渐变色
y = Integer(321123).set_color_by_gradient(BLUE_E, YELLOW_E)
4. 附件

最后再强调一遍,Integer继承自DecimalNumber,因此上一篇DecimalNumber中介绍的属性这里的Integer也可以使用。
同样,这里的示例中演示的位置,大小,颜色的设置,DecimalNumber也可以使用。
文中完整的代码放在网盘中了(integer.py),
下载地址: https://url11.ctfile.com/d/45455611-61580017-3188ea?p=6872 (访问密码: 6872)

来源:https://www.cnblogs.com/wang_yb/p/18245670
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: manim边学边做--Integer