【manim动画教程】-- 图形样式

打印 上一主题 下一主题

主题 506|帖子 506|积分 1518

manim绘制图形时,除了上一节提到的那些必须的参数,还有一些可选的参数,
这些参数可以控制图形显示的样式。
绘制各类基本图形(点,线,圆,多边形等)时,每个图形都有自己的默认的样式,比如上一节的图形,
有的默认是白色,有的默认是红色。
控制图形样式的参数最常用的有以下四个:

  • stroke_width:图形边框的粗细
  • color:图形的颜色
  • fill_color:图形的填充色
  • fill_opacity:填充色的透明度,这个参数一般和 fill_color一起使用
边框

线多边形都可以通过 stroke_width调整边框粗细程度。
线的边框:
  1. # 线
  2. Line(
  3.     [-1, 1, 0],
  4.     [1, 1, 0],
  5.     stroke_width=1,
  6. )
  7. Line(
  8.     [-1, 0, 0],
  9.     [1, 0, 0],
  10.     stroke_width=5,
  11. )
  12. Line(
  13.     [-1, -1, 0],
  14.     [1, -1, 0],
  15.     stroke_width=10,
  16. )
复制代码
上面的示例中是3种不同粗细的线
运行效果:

圆的边框:
  1. # 圆(这里的 shift 函数是用来调整圆的位置)
  2. Circle(
  3.     radius=0.8,
  4.     stroke_width=1,
  5. ).shift(LEFT * 2)
  6. Circle(
  7.     radius=0.8,
  8.     stroke_width=5,
  9. )
  10. Circle(
  11.     radius=0.8,
  12.     stroke_width=10,
  13. ).shift(RIGHT * 2)
复制代码
运行效果:

多变形的边框:
  1. # 多边形
  2. Polygon(
  3.     [-3, 1, 0],
  4.     [-1, 1, 0],
  5.     [-2, -1, 0],
  6.     stroke_width=5,
  7. )
  8. Polygon(
  9.     [1, 1, 0],
  10.     [2, 0, 0],
  11.     [3, 1, 0],
  12.     [3, -1, 0],
  13.     [1, -1, 0],
  14.     stroke_width=10,
  15. )
复制代码
运行效果:

颜色

各种基本图形本身有默认的颜色,比如线默认是白色,默认红色,多边形默认蓝色等。
除了默认颜色,manim还预置了一系列的颜色,可以直接按颜色的名称来使用。

设置图形的颜色,使用 color属性。
线的颜色:(线默认是白色)
  1. # 线
  2. Line(
  3.     [-1, 1, 0],
  4.     [1, 1, 0],
  5.     stroke_width=1,
  6.     color=RED,
  7. )
  8. Line(
  9.     [-1, 0, 0],
  10.     [1, 0, 0],
  11.     stroke_width=5,
  12.     color=YELLOW,
  13. )
  14. Line(
  15.     [-1, -1, 0],
  16.     [1, -1, 0],
  17.     stroke_width=10,
  18.     color=GREEN,
  19. )
复制代码
运行效果:

圆的颜色:(线默认是红色)
  1. # 圆
  2. Circle(
  3.     radius=0.8,
  4.     stroke_width=1,
  5.     color=RED,
  6. ).shift(LEFT * 2)
  7. Circle(
  8.     radius=0.8,
  9.     stroke_width=5,
  10.     color=YELLOW,
  11. )
  12. Circle(
  13.     radius=0.8,
  14.     stroke_width=10,
  15.     color=GREEN,
  16. ).shift(RIGHT * 2)
复制代码
运行效果:

多边形的颜色:(线默认是蓝色)
  1. # 多边形
  2. Polygon(
  3.     [-3, 1, 0],
  4.     [-1, 1, 0],
  5.     [-2, -1, 0],
  6.     stroke_width=5,
  7.     color=RED,
  8. )
  9. Polygon(
  10.     [1, 1, 0],
  11.     [2, 0, 0],
  12.     [3, 1, 0],
  13.     [3, -1, 0],
  14.     [1, -1, 0],
  15.     stroke_width=10,
  16.     color=GREEN,
  17. )
复制代码
运行效果:

填充

最后是填充色,关联两个属性:fill_color和 fill_opacity。
这两个属性一般用在闭合的图形中,比如圆和多边形。
圆的填充:
  1. # 圆
  2. Circle(
  3.     radius=0.8,
  4.     stroke_width=1,
  5.     color=RED,
  6.     fill_color=YELLOW,
  7.     fill_opacity=0.5,
  8. ).shift(LEFT * 2)
  9. Circle(
  10.     radius=0.8,
  11.     stroke_width=5,
  12.     color=YELLOW,
  13.     fill_color=GREEN,
  14.     fill_opacity=0.5,
  15. )
  16. Circle(
  17.     radius=0.8,
  18.     stroke_width=10,
  19.     color=GREEN,
  20.     fill_color=RED,
  21.     fill_opacity=0.5,
  22. ).shift(RIGHT * 2)
复制代码
运行效果:

多边形的填充:
  1. # 多边形
  2. Polygon(
  3.     [-3, 1, 0],
  4.     [-1, 1, 0],
  5.     [-2, -1, 0],
  6.     stroke_width=5,
  7.     color=RED,
  8.     fill_color=GREEN,
  9.     fill_opacity=0.5,
  10. )
  11. Polygon(
  12.     [1, 1, 0],
  13.     [2, 0, 0],
  14.     [3, 1, 0],
  15.     [3, -1, 0],
  16.     [1, -1, 0],
  17.     stroke_width=10,
  18.     color=GREEN,
  19.     fill_color=RED,
  20.     fill_opacity=0.5,
  21. )
复制代码
运行效果:

总结回顾

制作动画时,利用边框和颜色,可以有效的区分各个图形之间区别,也可以突出重点要表示的部分。
尝试多使用上述四个属性,让动画更加美观。
stroke_width,color,fill_color,fill_opacity
本文关联的微信视频号短视频:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表