首页 > 其他分享 >manim边学边做--点

manim边学边做--点

时间:2024-08-09 18:28:44浏览次数:10  
标签:-- label color stroke AnnotationDot 边学边 Dot manim

几何图形是manim中最重要的一类模块,manim内置了丰富的各类几何图形,
本篇从最简单的开始,逐个介绍manim中的几何模块。

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

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

image.png
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

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

out.gif

2.2. 颜色

color属性可以设置颜色。

d1 = Dot(color=RED)
d2 = Dot(color=GREEN)
d3 = Dot(color=BLUE)
d4 = Dot(color=YELLOW)
d5 = Dot(color=PURPLE)

out.gif

2.3. 标签

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

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

out.gif
label属性不能直接输入中文,需要通过Text对象来输入中文;
输入公式的话,只要输入Latex格式的字符串即可,输出时会被渲染成公式。

2.4. 边框和内部

AnnotationDot对象是用来在视频中加注释和标注的,它将点分为边框内部两部分,
边框可以设置粗细,而且这两部分还可以分别设置不同的颜色。

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,
)

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

3. 附件

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

标签:--,label,color,stroke,AnnotationDot,边学边,Dot,manim
From: https://www.cnblogs.com/wang_yb/p/18351279

相关文章

  • 加法交换律的证明
    自然数集前置芝士:皮亚诺公理。求证:\(\foralla,b\in\mathbb{N},\)都有\(a+b=b+a\)。(即代数结构\((\mathbb{N},+)\)为一个阿贝尔群。)证:先证明\(\foralla\in\mathbb{N}\),都有\(0+a=a+0\)。显然\(0+0=0+0\),若\(k\in\mathbb{N}\),有\(0+k=k+0\)成立,由于等式性质......
  • 总有坏人想爬我网站的数据,看我用这 10 招干他!
    大家好,我是程序员鱼皮。前两天模拟面试一位社招两年的老哥,由于他的表现不错,我就临时起意,跟他交流一下我们最近遇到的业务场景问题。问题如下:最近我们不是做了个程序员刷题网站-面试鸭嘛,有很多坏人盯上了我们网站,想把我们4,000多道面试题、100多个面试题库的数据都......
  • electron-store 中文文档
    electron-store简介为您的Electron应用或模块提供简单的数据持久化功能——保存和加载用户设置、应用状态、缓存等。Electron本身没有内置的方式来持久化用户设置和其他数据。此模块为您处理这些问题,以便您可以专注于构建应用。数据被保存在一个名为config.json的JSON文件中,......
  • Windows图形界面(GUI)-MFC-C/C++ - 树形视图(Tree Control) - CTreeCtrl
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录树形视图(TreeControl)-CTreeCtrl创建和初始化添加和删除项获取和设置项属性操作项项选择变化项双击项展开示例代码树形视图(TreeControl)-CTreeCtrl创建和初始化Subclas......
  • Windows图形界面(GUI)-MFC-C/C++ - 列表视图(List Control) - CListCtrl
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​链接点击跳转博客主页目录列表视图(ListControl)-CListCtrl创建列表视图设置列表视图属性成员函数注意事项示例代码列表视图(ListControl)-CListCtrl创建列表视图在对话框编辑器中,从工具箱中拖拽一个Li......
  • 如何在Docker容器中的Linux系统(Ubuntu + Centos Linux)里面使用systemctl
    前言正常情况下Docker容器里面运行的Linux是没有systemd进程的,所以不能正常开启systemctl我们还是希望使用systemd来管理我们的服务,如何开启systemd呢?通常,Docker容器是为了运行单个应用程序而设计的,而不是一个完整的操作系统。因此,通常容器中不需要像systemd这样复杂的初始......
  • Visual Studio 2022安装教程
    如有问题请留言。一、下载VisualStudio20221.访问官网: 前往VisualStudio的官方网站(如VisualStudio官网),在首页或下载页面寻找VisualStudio2022的下载链接。2.选择版本: VisualStudio2022提供多个版本,包括社区版(Community)、专业版(Professional)和企业版(Enterprise)......
  • 脚本执行报错 cp: cannot stat '/home/dar/app/log_back'$'\r''/nohup.out': No
    背景针对线上nohup日志较大,需要进行拆分,所以写了一个脚本文件,用来定时执行(或者手动执行)脚本一log_dir="/home/dar/app/log_back"#拷贝日志文件到昨天的log中cp$log_dir/nohup.out$log_dir/nohup-$(date+"%Y%m%d_%H%M%S").log#清空nohup.out日志truncate-s0$log_d......
  • 肆十二大作业系列清单
    文章目录第1期:花卉识别第2期:果蔬识别第3期:分类任务通用数据集训练方式第4期:垃圾分类第5期:口罩检测第6期:人脸识别第7期:皮肤病分割第8期:火灾检测第9期:手势识别第10期:Pytorch花卉识别第11期:绝缘子缺陷检测第12期:交通标志检测第13期:麦穗计数第14期:眼底血管分割第15期:舌象分割......
  • 2024牛客暑期多校训练营8 I Haitang and Ranking 题解
    乱搞看到\(n=1e5\),时限3s,存在修改操作,很自然的想到根号分治。考虑按照时间分治。对每\(B\)个交换统一处理,\(B\)个交换最多有\(2B\)个元素改变状态,剩下都不变。那么只要对这\(2B\)元素内,暴力枚举,剩下的元素构建数据结构实现二维数点,平面内区间最值。因为\(a,b\)是不......