manim边学边做--点
几何图形是manim中最重要的一类模块,manim内置了丰富的各类几何图形,
本篇从最简单的点开始,逐个介绍manim中的几何模块。
manim中点相关的模块主要有3个:
Dot:通用的点LabeledDot:在点的中间可以加一些说明文字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。
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属性可以设置颜色。
d1 = Dot(color=RED)
d2 = Dot(color=GREEN)
d3 = Dot(color=BLUE)
d4 = Dot(color=YELLOW)
d5 = Dot(color=PURPLE)

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

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

stroke_width属性设置外框的粗细,stroke_color属性设置外框的颜色,fill_color设置内部的颜色。
3. 附件
文中完整的代码放在网盘中了(dot.py),
下载地址: 完整代码 (访问密码: 6872)
manim边学边做--点的更多相关文章
- 学EE做硬件找工作不如学CS做软件,为什么会这样?
学EE做硬件找工作不如学CS做软件,为什么会这样? 电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇, ...
- 牛腩学Kotlin做Android应用
牛腩学Kotlin做Android应用,蹭热度视频,边学边做, 01-kotlin插件安装及hello world 02-kotlin基础语法速览 哔哩哔哩观看地址:http://www.bilibi ...
- php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习)
php实现记忆化递归--以斐波那契数列为例(还是以边学边做为主,注重练习) 一.总结 1.递归不优化的话,30层开外就有点吃力了 2.php因为定义变量的时候不用定义变量类型,所以数组里面的类型也是p ...
- html5-3 html5标签(热点地图如何实现)(边学边做)
html5-3 html5标签(热点地图如何实现)(边学边做) 一.总结 一句话总结:热点地图用绝对定位实现. 1.自定义列表怎么弄? dl 自定义列表dt 自定义标题dd 自定义列表内容 2. ...
- 第一份开发工作,边学边做android
我刚刚毕业,在培训学校学的Java web开发,虽然学的没有大学生那么丰富细致,没有他们理论基础扎实,但是这是我学习软件开发的唯一方式了. 从小学我学习就是倒数2.3等,所有人都认为我是个没法学习的孩 ...
- 边学边做,简单的 GraphQL 实例
项目中有功能要调用 API,对方 API 用的是 GraphQL 实现,就简单学了下,感叹技术进步真快,Facebook 发明的这玩意儿咋这么牛逼,使前端开发人员变得主动起来,想要什么接口.返回什么结 ...
- LabVIEW Actor Framwork (2)________ 边学边做server&client
回顾下初始需求: 现在要做一个类似聊天的demo,一个server端,若干个client端:首先是server启动,通过server可以打开若干个client端,然后每个client可以独立给serv ...
- 牛腩学ASP.NET CORE做博客(视频)
牛腩学习ASP.NET CORE做的项目,边学边做. 目录: 01-dotnetcore网站部署到centos7系统上(时长 2:03:16) 02-前期准备及项目搭建 (时长:0:23:35) 03 ...
- 牛腩学用MUI做手机APP
斗鱼直播间直播学习撸码,最终目标是用MUI做一个手机APP(暂定android平台,攒钱买IPHONE 7SE!!!),直播内容含整个软件APP的制作过程(含后台接口的制作,放到自己买的阿里云服务器, ...
- 技术的止境(客户价值第一,快速实现第二,边做边学,迅速成为牛人。紧贴客户的需求去做技术,立于不败之地。追求的目标:把一项产品去做好,用产品去养活自己和家人)good
作为一个依靠技术来谋生的程序员,我最近一直在思考一个问题,有限的生命里,面对无限的技术更新,我要研究到什么程度才能算是完成我的成为技术大牛的目标呢?换而言之,那就是技术的止境在哪儿呢?深入的思考下去, ...
随机推荐
- spring的问题-能耗、学习曲线
说实话,在过去将近20年中,spring对于it行业的帮助还是很大的,尤其是信息系统建设方面. 但在我看来,spring的发展也许进入了一个困局. 开始的时候,spring的确是一个还是算小巧的工具, ...
- TCP,UDP,IP,数据链路层头部详解
UDP头部 可以看到UDP头部由(源端口).(目的端口).(长度)跟(校验和)组成,总共8字节. 源端口:发送方的端口号,16位,即2字节. 目的端口:接收方的端口号,16位,即2字节. 长度:头部+ ...
- 12-CSS浮动
01 介绍 02 浮动规则 03 案例练习 3.1 缝隙的解决方案 <!DOCTYPE html> <html lang="en"> <head> ...
- 使用bootchart 对 高通Android 进行性能分析
使用bootchart 对 高通Android 进行性能分析 Android版本:7.0 适用平台:高通和MTK 参考: https://blog.csdn.net/qq_19923217/artic ...
- 使用Swig转换C++到别的编程语言
项目github地址: aoce 设定aoce能分别与UE4/Unity3D/android demo对接,就这三来看,分别是C++/C#/java三种语言. C++导出给别的语言使用,一般来说,分为 ...
- CF1864F 题解
写了一小时结果被卡常了(笑. 考虑新加入一个数什么时候会产生贡献,或者什么时候不会产生贡献. 发现当一个数的位置与他前一次出现时的位置所构成的区间内假若有一个比它小的数那么就不得不对这个数新进行一次操 ...
- Cannot add or update a child row: a foreign key constraint fails
在使用Django添加用户时出现报错: 1 django.db.utils.IntegrityError: (1452, 'Cannot add or update a child row: a fo ...
- 数据分析应该掌握的知识及SQL技能
一.概念及常识 1.数据分析必备的统计学知识 描述统计学 1.平均值.中位数.众数 2.方差.标准差 3.统计分布:正态分布.指数分布.二项分布.卡方分布 推论统计学 1.假设检验 2.置信区间 3. ...
- CF916C 题解
CF916C 题解 思路 思考发现,如果我们让很多边的边权变得非常大,而故意留下 \(1\) 到 \(n\) 的某一条路径,使整条路径之和甚至还没有剩下一条边的权值大,这条路径显然就是最短路了. 更重 ...
- 【超实用攻略】SpringBoot + validator 轻松实现全注解式的参数校验
一.故事背景 关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃! 本文结合自己 ...