边学边做Manim中的圆环

圆环是常见的几何图形,Annulus 是一个圆环形状,由两个同心圆组成,圆环控制文件位于 manim/mobject/geometry/arc.py 模块中,是 VMobject 的子类,具有填充和描边属性。

1.常见表达式

1
right = Annulus(参数1,参数2,……)
1
right = AnnularSector(参数1,参数2,angle = ,……)

第二个圆环是带有一定角度的圆环

2.常见的参数

1
2
3
4
5
6
7
8
9
10
Annulus(
inner_radius=1, # 内圆半径
outer_radius=2, # 外圆半径
angle=TAU, # 角度(默认整圆)
start_angle=0, # 起始角度
color=WHITE, # 颜色
fill_opacity=1, # 填充不透明度
stroke_width=0, # 描边宽度
**kwargs
)

3.常见的变换

3.1.创建圆环

1
ring = Annulus(inner_radius=0.5, outer_radius=1)

3.2.移动

1
ring.move_to(ORIGIN)
1
ring.shift(RIGHT * 2)

3.3.缩放

1
ring.scale(0.8)

3.4.旋转

1
ring.rotate(PI/4)

4.创建实例

4.1.整个圆环

1
2
3
4
5
6
7
8
9
10
11
12
13
from manim import *

class SimpleAnnulus(Scene):
def construct(self):
# 创建90度圆环
partial_ring = Annulus(
inner_radius = 1,
outer_radius = 2,
color = BLUE,
fill_opacity = 0.5,
)
self.play(Create(partial_ring))
self.wait()

从上面的实例代码来看,我们就是创建了一个整个圆环,使用的就是默认的圆环代码Annulus

4.2创建一定角度的圆环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from manim import *

class SimpleAnnulus90(Scene):
def construct(self):
# 创建90度圆环扇形
partial_ring = AnnularSector(
inner_radius=1,
outer_radius=2,
start_angle=0, # 起始角度
angle=PI/2, # 90度 = PI/2
color=BLUE,
fill_opacity=0.5
)

self.play(Create(partial_ring), run_time=4)
self.wait()

创建一定角度的圆环,如果我们使用Annulus添加angle参数会报错,所以我们使用AnnularSector来创建一定角度的圆环,这一点儿需要注意,来看演示的视频效果,为了看的更加清楚,我们添加了演示的代码,run_time=4

可以看出,不知道是代码缺陷,还是程序构建缺陷,视频有点儿混乱,好了,今天的学习就到这里,总结一下内容:

整个圆环:

1
right = Annulus(参数1,参数2,……)

部分圆环

1
right = AnnularSector(参数1,参数2,angle = ,……)