15 - 玩转 Dot 点
本帖最后由 不二如是 于 2022-12-20 18:51 编辑这节课我们通过坐标生生成曲线。
重点:
[*]Dot()
为了更生动的演示,我们额外使用 cycle 模块:
from itertools import cycle
初始化一些颜色,方便快速生成不同颜色的圆点。
跟上节课一样,创建一个大圆:
circle = Circle(
fill_color=WHITE,
fill_opacity=0.8
)
然后利用循环生成小圆点:
colors = cycle()
dots = []
for p in circle.points:
nextColor = next(colors)
d = Dot(p, color=nextColor)
if nextColor == YELLOW:
d.scale(0.5)
dots.append(d)
效果:
如果不需要这些点,也可以通过 remove() 移除掉:
self.remove(*dots)
这时就只剩:
然后我们可以手动修改 points:
circle.points += RIGHT
效果:
如果你懂贝塞尔曲线的玩法,那么还可以写的更复杂些去掉指定图形:
midPoints = int(len(circle.points)/2)
circle.points = circle.points[:midPoints]
效果:
本节课我们只需要知道通过点可以构建出更复杂图形就好。
源码: Manim 好好玩 Manim 好好玩 Manim 好好玩 Manim 好好玩 Manim 好好玩 Manim 好好玩 Manim 好好玩
页:
[1]