manim边学边做--点

几何图形是manim中最重要的一类模块,manim内置了丰富的各类几何图形,

本篇从最简单的 开始,逐个介绍manim中的几何模块。

manim中点相关的模块主要有3个:

  1. Dot:通用的点
  2. LabeledDot:在点的中间可以加一些说明文字
  3. AnnotationDot:使用在注释场景中的点


Dot系列在manim各个模块中的位置大致如上图中所示。

1. 主要参数

比较简单,所以参数不多,主要就是控制点的大小,颜色,透明度等等属性。
Dot对象:

参数名称 类型 说明
point [float,float,float] 点的坐标
radius float 点的半径
stroke_width float 边框厚度
fill_opacity float 透明度
color str 颜色

LabeledDot对象,继承自Dot对象,包含Dot的属性,此外还有:

参数名称 类型 说明
label str 点中的文本内容

AnnotationDot对象,继承自Dot对象,包含Dot的属性,此外还有:

参数名称 类型 说明
stroke_color str 外框颜色
fill_color str 内部的颜色

2. 使用示例

这三种 对象中,使用最多的Dot对象,下面通过一些示例演示点的使用。

2.1. 大小

调节 的大小主要就是调节点的半径radius

python 复制代码
d1 = Dot(radius=0.04)
d2 = Dot() # 默认点半径
d3 = Dot(radius=0.24)
d4 = Dot(radius=0.32)
d5 = Dot(radius=0.64)

2.2. 颜色

color属性可以设置颜色。

python 复制代码
d1 = Dot(color=RED)
d2 = Dot(color=GREEN)
d3 = Dot(color=BLUE)
d4 = Dot(color=YELLOW)
d5 = Dot(color=PURPLE)

2.3. 标签

中带标签,需要使用LabeledDot对象,它的label属性除了可以显示字母和数字之外,

还可以显示中文和数学公式。

python 复制代码
d1 = LabeledDot(
    label=Text("中文", font_size=20),
)
d2 = LabeledDot(label="a^2")
d3 = LabeledDot(label="32")
d4 = LabeledDot(label="V_i")


label属性不能直接输入中文,需要通过Text对象来输入中文;

输入公式的话,只要输入Latex格式的字符串即可,输出时会被渲染成公式。

2.4. 边框和内部

AnnotationDot对象是用来在视频中加注释和标注的,它将点分为边框内部 两部分,

边框可以设置粗细,而且这两部分还可以分别设置不同的颜色。

python 复制代码
d1 = AnnotationDot(
    stroke_width=2,
    stroke_color=RED,
    fill_color=GREEN,
)
d2 = AnnotationDot(
    stroke_width=10,
    stroke_color=BLUE,
    fill_color=YELLOW,
)
d3 = AnnotationDot(
    stroke_width=20,
    stroke_color=YELLOW,
    fill_color=RED,
)
d4 = AnnotationDot(
    stroke_width=40,
    stroke_color=GREEN,
    fill_color=PURPLE,
)


stroke_width属性设置外框 的粗细,stroke_color属性设置外框的颜色,fill_color设置内部的颜色。

3. 附件

文中完整的代码放在网盘中了(dot.py),

下载地址: 完整代码 (访问密码: 6872)

相关推荐
waterHBO1 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七2 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
AIAdvocate4 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼4 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
FreakStudio6 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
redcocal7 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
artificiali8 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
RaidenQ8 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
花生了什么树~.8 小时前
python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用
开发语言·python
Trouvaille ~9 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算